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

3957 lines
133 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#include "SLevelViewport.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 "Materials/MaterialInterface.h"
#include "Engine/Selection.h"
#include "Framework/Commands/UIAction.h"
#include "Framework/Commands/UICommandList.h"
#include "Widgets/Text/STextBlock.h"
#include "Framework/MultiBox/MultiBoxExtender.h"
#include "Framework/MultiBox/MultiBoxBuilder.h"
#include "Framework/Docking/TabManager.h"
#include "EngineGlobals.h"
#include "ActorFactories/ActorFactory.h"
#include "Misc/ConfigCacheIni.h"
#include "Misc/FeedbackContext.h"
#include "Modules/ModuleManager.h"
#include "GameFramework/PlayerController.h"
#include "Application/ThrottleManager.h"
#include "Layout/WidgetPath.h"
#include "Framework/Application/MenuStack.h"
#include "Framework/Application/SlateApplication.h"
#include "Widgets/Layout/SBorder.h"
#include "Widgets/Layout/SSpacer.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Layout/SBox.h"
#include "Widgets/Input/SButton.h"
#include "Widgets/Views/SHeaderRow.h"
#include "Framework/Docking/LayoutService.h"
#include "EditorStyleSet.h"
#include "Editor/UnrealEdEngine.h"
#include "Exporters/ExportTextContainer.h"
#include "Camera/CameraActor.h"
#include "Camera/CameraComponent.h"
#include "GameFramework/WorldSettings.h"
#include "LevelEditorViewport.h"
#include "UnrealEdMisc.h"
#include "UnrealEdGlobals.h"
#include "LevelEditor.h"
#include "SLevelViewportToolBar.h"
#include "LevelViewportActions.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 "LevelEditorActions.h"
#include "Slate/SceneViewport.h"
#include "EditorShowFlags.h"
#include "SLevelEditor.h"
#include "AssetSelection.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/DebuggerCommands.h"
#include "Layers/ILayers.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 "DragAndDrop/ClassDragDropOp.h"
#include "DragAndDrop/AssetDragDropOp.h"
#include "DragAndDrop/ExportTextDragDropOp.h"
#include "LevelUtils.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 "DragAndDrop/BrushBuilderDragDropOp.h"
#include "ISceneOutlinerColumn.h"
#include "ActorTreeItem.h"
#include "ScopedTransaction.h"
#include "SCaptureRegionWidget.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 "HighresScreenshotUI.h"
#include "ISettingsModule.h"
#include "BufferVisualizationData.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 "Framework/Notifications/NotificationManager.h"
#include "Widgets/Notifications/SNotificationList.h"
#include "SLevelViewportControlsPopup.h"
#include "SActorPilotViewportToolbar.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/LocalPlayer.h"
#include "Slate/SGameLayerManager.h"
#include "FoliageType.h"
static const FName LevelEditorName("LevelEditor");
#define LOCTEXT_NAMESPACE "LevelViewport"
// @todo Slate Hack: Disallow game UI to be used in play in viewport until GWorld problem is fixed
// Currently Slate has no knowledge of a world and cannot switch it before input events,etc
#define ALLOW_PLAY_IN_VIEWPORT_GAMEUI 1
namespace SLevelViewportPIEAnimation
{
float const MouseControlLabelFadeout = 5.0f;
}
class FLevelViewportDropContextMenuImpl
{
public:
/**
* Fills in menu options for the actor add/replacement submenu
*
* @param bReplace true if we want to add a replace menu instead of add
* @param MenuBuilder The menu to add items to
*/
static void FillDropAddReplaceActorMenu( bool bReplace, class FMenuBuilder& MenuBuilder );
};
SLevelViewport::SLevelViewport()
: HighResScreenshotDialog( NULL )
, ViewTransitionType( EViewTransition::None )
, bViewTransitionAnimPending( false )
, DeviceProfile("Default")
, PIEOverlaySlotIndex(0)
, bPIEHasFocus(false)
, bPIEContainsFocus(false)
, UserAllowThrottlingValue(0)
{
}
SLevelViewport::~SLevelViewport()
{
// Clean up any actor preview viewports
for (FViewportActorPreview& ActorPreview : ActorPreviews)
{
ActorPreview.bIsPinned = false;
}
PreviewActors( TArray< AActor* >() );
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FLevelViewportCommands::NewStatCommandDelegate.RemoveAll(this);
FLevelEditorModule& LevelEditor = FModuleManager::GetModuleChecked<FLevelEditorModule>( LevelEditorName );
LevelEditor.OnRedrawLevelEditingViewports().RemoveAll( this );
LevelEditor.OnTakeHighResScreenShots().RemoveAll( this );
LevelEditor.OnActorSelectionChanged().RemoveAll( this );
LevelEditor.OnMapChanged().RemoveAll( this );
GEngine->OnLevelActorDeleted().RemoveAll( this );
GetMutableDefault<ULevelEditorViewportSettings>()->OnSettingChanged().RemoveAll( this );
// If this viewport has a high res screenshot window attached to it, close it
if (HighResScreenshotDialog.IsValid())
{
HighResScreenshotDialog.Pin()->RequestDestroyWindow();
HighResScreenshotDialog.Reset();
}
}
void SLevelViewport::HandleViewportSettingChanged(FName PropertyName)
{
if ( PropertyName == TEXT("bPreviewSelectedCameras") )
{
OnPreviewSelectedCamerasChange();
}
}
bool SLevelViewport::IsVisible() const
{
// The viewport is visible if we don't have a parent layout (likely a floating window) or this viewport is visible in the parent layout
return IsInForegroundTab() && SEditorViewport::IsVisible();
}
bool SLevelViewport::IsInForegroundTab() const
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
if (ViewportWidget.IsValid() && ParentLayout.IsValid() && !ConfigKey.IsEmpty())
{
return ParentLayout.Pin()->IsLevelViewportVisible(*ConfigKey);
}
return false;
}
void SLevelViewport::Construct(const FArguments& InArgs)
{
GetMutableDefault<ULevelEditorViewportSettings>()->OnSettingChanged().AddRaw(this, &SLevelViewport::HandleViewportSettingChanged);
ParentLayout = InArgs._ParentLayout;
ParentLevelEditor = StaticCastSharedRef<SLevelEditor>( InArgs._ParentLevelEditor.Pin().ToSharedRef() );
ConfigKey = InArgs._ConfigKey;
// Store border brushes for differentiating between active and inactive viewports
ActiveBorder = FEditorStyle::GetBrush( "LevelViewport.ActiveViewportBorder" );
NoBorder = FEditorStyle::GetBrush( "LevelViewport.NoViewportBorder" );
DebuggingBorder = FEditorStyle::GetBrush( "LevelViewport.DebugBorder" );
BlackBackground = FEditorStyle::GetBrush( "LevelViewport.BlackBackground" );
StartingPlayInEditorBorder = FEditorStyle::GetBrush( "LevelViewport.StartingPlayInEditorBorder" );
StartingSimulateBorder = FEditorStyle::GetBrush( "LevelViewport.StartingSimulateBorder" );
ReturningToEditorBorder = FEditorStyle::GetBrush( "LevelViewport.ReturningToEditorBorder" );
ConstructLevelEditorViewportClient( InArgs );
SEditorViewport::Construct( SEditorViewport::FArguments() );
ActiveViewport = SceneViewport;
ConstructViewportOverlayContent();
// If a map has already been loaded, this will test for it and copy the correct camera location out
OnMapChanged( GWorld, EMapChangeType::LoadMap );
// Important: We use raw bindings here because we are releasing our binding in our destructor (where a weak pointer would be invalid)
// It's imperative that our delegate is removed in the destructor for the level editor module to play nicely with reloading.
FLevelEditorModule& LevelEditor = FModuleManager::GetModuleChecked<FLevelEditorModule>( LevelEditorName );
LevelEditor.OnRedrawLevelEditingViewports().AddRaw( this, &SLevelViewport::RedrawViewport );
LevelEditor.OnTakeHighResScreenShots().AddRaw( this, &SLevelViewport::TakeHighResScreenShot );
// Tell the level editor we want to be notified when selection changes
LevelEditor.OnActorSelectionChanged().AddRaw( this, &SLevelViewport::OnActorSelectionChanged );
// Tell the level editor we want to be notified when selection changes
LevelEditor.OnMapChanged().AddRaw( this, &SLevelViewport::OnMapChanged );
GEngine->OnLevelActorDeleted().AddRaw( this, &SLevelViewport::OnLevelActorsRemoved );
}
void SLevelViewport::ConstructViewportOverlayContent()
{
PIEViewportOverlayWidget = SNew( SOverlay );
int32 SlotIndex = 0;
#if ALLOW_PLAY_IN_VIEWPORT_GAMEUI
ViewportOverlay->AddSlot( SlotIndex )
[
SAssignNew(GameLayerManager, SGameLayerManager)
.SceneViewport(this, &SLevelViewport::GetGameSceneViewport)
[
PIEViewportOverlayWidget.ToSharedRef()
]
];
++SlotIndex;
#endif
ViewportOverlay->AddSlot( SlotIndex )
.HAlign(HAlign_Right)
[
SAssignNew( ActorPreviewHorizontalBox, SHorizontalBox )
];
ViewportOverlay->AddSlot(SlotIndex)
.VAlign(VAlign_Bottom)
.HAlign(HAlign_Left)
.Padding(5.0f)
[
SNew(SLevelViewportControlsPopup)
.Visibility(this, &SLevelViewport::GetViewportControlsVisibility)
];
ViewportOverlay->AddSlot( SlotIndex )
.VAlign( VAlign_Bottom )
.HAlign( HAlign_Right )
.Padding( 5.0f )
[
SNew(SVerticalBox)
+ SVerticalBox::Slot()
.AutoHeight()
.Padding(2.0f, 1.0f, 2.0f, 1.0f)
[
SNew(SHorizontalBox)
.Visibility(this, &SLevelViewport::GetCurrentFeatureLevelPreviewTextVisibility)
// Current level label
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(2.0f, 1.0f, 2.0f, 1.0f)
[
SNew(STextBlock)
.Text(this, &SLevelViewport::GetCurrentFeatureLevelPreviewText, true)
.Font(FEditorStyle::GetFontStyle(TEXT("MenuItem.Font")))
.ShadowOffset(FVector2D(1, 1))
]
// Current level
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(4.0f, 1.0f, 2.0f, 1.0f)
[
SNew(STextBlock)
.Text(this, &SLevelViewport::GetCurrentFeatureLevelPreviewText, false)
.Font(FEditorStyle::GetFontStyle(TEXT("MenuItem.Font")))
.ColorAndOpacity(FLinearColor(0.4f, 1.0f, 1.0f))
.ShadowOffset(FVector2D(1, 1))
]
]
+ SVerticalBox::Slot()
.AutoHeight()
.Padding(2.0f, 1.0f, 2.0f, 1.0f)
[
SNew(SHorizontalBox)
.Visibility(this, &SLevelViewport::GetCurrentLevelTextVisibility)
// Current level label
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(2.0f, 1.0f, 2.0f, 1.0f)
[
SNew(STextBlock)
.Text(this, &SLevelViewport::GetCurrentLevelText, true)
.Font(FEditorStyle::GetFontStyle(TEXT("MenuItem.Font")))
.ShadowOffset(FVector2D(1, 1))
]
// Current level
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(4.0f, 1.0f, 2.0f, 1.0f)
[
SNew(STextBlock)
.Text(this, &SLevelViewport::GetCurrentLevelText, false)
.Font(FEditorStyle::GetFontStyle(TEXT("MenuItem.Font")))
.ColorAndOpacity(FLinearColor(0.4f, 1.0f, 1.0f))
.ShadowOffset(FVector2D(1, 1))
]
]
];
// Add highres screenshot region capture editing widget
ViewportOverlay->AddSlot(SlotIndex)
.VAlign( VAlign_Fill )
.HAlign( HAlign_Fill )
.Padding( 0 )
[
SAssignNew(CaptureRegionWidget, SCaptureRegionWidget)
];
}
void SLevelViewport::ConstructLevelEditorViewportClient( const FArguments& InArgs )
{
if (InArgs._LevelEditorViewportClient.IsValid())
{
LevelViewportClient = InArgs._LevelEditorViewportClient;
}
else
{
LevelViewportClient = MakeShareable( new FLevelEditorViewportClient(SharedThis(this)) );
}
// Default level viewport client values for settings that could appear in layout config ini
FLevelEditorViewportInstanceSettings ViewportInstanceSettings;
ViewportInstanceSettings.ViewportType = InArgs._ViewportType;
ViewportInstanceSettings.PerspViewModeIndex = VMI_Lit;
ViewportInstanceSettings.OrthoViewModeIndex = VMI_BrushWireframe;
ViewportInstanceSettings.bIsRealtime = InArgs._Realtime;
FEngineShowFlags EditorShowFlags(ESFIM_Editor);
FEngineShowFlags GameShowFlags(ESFIM_Game);
// Use config key if it exists to set up the level viewport client
if(!ConfigKey.IsEmpty())
{
const FLevelEditorViewportInstanceSettings* const ViewportInstanceSettingsPtr = GetDefault<ULevelEditorViewportSettings>()->GetViewportInstanceSettings(ConfigKey);
ViewportInstanceSettings = (ViewportInstanceSettingsPtr) ? *ViewportInstanceSettingsPtr : LoadLegacyConfigFromIni(ConfigKey, ViewportInstanceSettings);
if(!ViewportInstanceSettings.EditorShowFlagsString.IsEmpty())
{
EditorShowFlags.SetFromString(*ViewportInstanceSettings.EditorShowFlagsString);
}
if(!ViewportInstanceSettings.GameShowFlagsString.IsEmpty())
{
GameShowFlags.SetFromString(*ViewportInstanceSettings.GameShowFlagsString);
}
if(!GetBufferVisualizationData().GetMaterial(ViewportInstanceSettings.BufferVisualizationMode))
{
ViewportInstanceSettings.BufferVisualizationMode = NAME_None;
}
}
if(ViewportInstanceSettings.ViewportType == LVT_Perspective)
{
ApplyViewMode(ViewportInstanceSettings.PerspViewModeIndex, true, EditorShowFlags);
ApplyViewMode(ViewportInstanceSettings.PerspViewModeIndex, true, GameShowFlags);
}
else
{
ApplyViewMode(ViewportInstanceSettings.OrthoViewModeIndex, false, EditorShowFlags);
ApplyViewMode(ViewportInstanceSettings.OrthoViewModeIndex, false, GameShowFlags);
}
// Disabling some features for orthographic views.
if(ViewportInstanceSettings.ViewportType != LVT_Perspective)
{
EditorShowFlags.MotionBlur = 0;
EditorShowFlags.Fog = 0;
EditorShowFlags.SetDepthOfField(false);
GameShowFlags.MotionBlur = 0;
GameShowFlags.Fog = 0;
GameShowFlags.SetDepthOfField(false);
}
EditorShowFlags.SetSnap(1);
GameShowFlags.SetSnap(1);
// Create level viewport client
LevelViewportClient->ParentLevelEditor = ParentLevelEditor.Pin();
LevelViewportClient->ViewportType = ViewportInstanceSettings.ViewportType;
LevelViewportClient->bSetListenerPosition = false;
LevelViewportClient->EngineShowFlags = EditorShowFlags;
LevelViewportClient->LastEngineShowFlags = GameShowFlags;
LevelViewportClient->CurrentBufferVisualizationMode = ViewportInstanceSettings.BufferVisualizationMode;
LevelViewportClient->ExposureSettings = ViewportInstanceSettings.ExposureSettings;
if(InArgs._ViewportType == LVT_Perspective)
{
LevelViewportClient->SetViewLocation( EditorViewportDefs::DefaultPerspectiveViewLocation );
LevelViewportClient->SetViewRotation( EditorViewportDefs::DefaultPerspectiveViewRotation );
LevelViewportClient->SetAllowCinematicPreview(true);
}
LevelViewportClient->SetRealtime(ViewportInstanceSettings.bIsRealtime);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3185985) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3170391 on 2016/10/21 by Ben.Woodhouse Remove the wait on end of frame ensure, because we can't rely on all the the underlying codepaths to never miss a call to flush RHI resources. The consequences of missing a flush on a given frame are not serious now, since we enforce the synchronisation with a fence, preventing the rendering thread from getting too far ahead. We will simply accumulate resources for an additional frame when this happens. #jira UE-37437 #fyi rolando.caloca, marcus.wassmer Change 3170659 on 2016/10/21 by Rolando.Caloca DR - vk - Prep work for state key changes Change 3170676 on 2016/10/21 by Rolando.Caloca DR - vk - Reworked blend state keys - Added depth/stencil to pipeline key Change 3170848 on 2016/10/21 by Daniel.Wright Level viewport 'show stats' option is now enabled by default, which avoids confusion with artists thinking lighting is built, when really the message is hidden. Change 3170849 on 2016/10/21 by Daniel.Wright Split FProjectedShadowInfo::RenderProjection into smaller functions which make the algorithm structure clear Change 3170995 on 2016/10/21 by Rolando.Caloca DR - vk - Show object on vulkan validation msgs Change 3171085 on 2016/10/21 by Rolando.Caloca DR - vk - Fix pipelines being used with incompatible renderpasses Change 3171159 on 2016/10/21 by Rolando.Caloca DR - vk - Fix layout when reading textures on CPU Change 3171167 on 2016/10/21 by Rolando.Caloca DR - vk - compile fix Change 3172462 on 2016/10/24 by Daniel.Wright Added a warning about shader compile times to the material tooltip Change 3172463 on 2016/10/24 by Daniel.Wright Reduced MinUnoccludedFraction to avoid artitfacts when a stationary light touches only a tiny part of a mesh Change 3172716 on 2016/10/24 by Brian.Karis Fix for crash UE-37369 when reimporting over a generated LOD. Change 3172967 on 2016/10/24 by Rolando.Caloca DR - vk - Fix writing buffers while GPU was using them Change 3174187 on 2016/10/25 by Olaf.Piesche UE-37020 Change 3174718 on 2016/10/26 by Rolando.Caloca DR - vk - Remove old timestamp queries, increase occlusion queries per pool to 4k Change 3175960 on 2016/10/26 by Rolando.Caloca DR - Added support for hlslcc header to have custom parsing Change 3176611 on 2016/10/27 by David.Hill DrawWireCone confusion: In response to a UDN, I'm updating confusing parameter names and comments for DrawWireCone() and DrawWireSphereCappedCone() Change 3177111 on 2016/10/27 by Rolando.Caloca DR - vk - Fix timestamps for frame Change 3177192 on 2016/10/27 by Arne.Schober DR - DitherLOD refactor - moved computation of the DepthStencil state out of SetMeshRenderState into GetDitheredLODTransitionState this is a prerequisite of further PSO work where we want to move up State setting in a similar war and reuse FMeshDrawingRenderState Change 3177278 on 2016/10/27 by Olaf.Piesche UE-37484 Change 3177297 on 2016/10/27 by Rolando.Caloca DR - vk - Enable GRHISupportsBaseVertexIndex Change 3177607 on 2016/10/27 by Rolando.Caloca DR - vk - SM4 UB prep Change 3178052 on 2016/10/28 by Arne.Schober DR - fix WebGL - the WebGL compiler is very picky on double underscores and does want the presission to be defined before any function definition. Change 3178156 on 2016/10/28 by Rolando.Caloca DR - vk - Added query timer - Fixed inline issues Change 3178158 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for out of stencil bits Change 3178462 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for Elemental Change 3179131 on 2016/10/28 by Rolando.Caloca DR - vk - Fix for r.Vulkan.UseRealUBs Change 3179139 on 2016/10/28 by Rolando.Caloca DR - vk - Move UB ring buffer to context Change 3179145 on 2016/10/28 by Rolando.Caloca DR - vk - Fix buffer barriers Change 3179888 on 2016/10/31 by Rolando.Caloca DR - vk - Align buffers to 16 bytes as we sometimes write to them with SIMD Change 3179923 on 2016/10/31 by Rolando.Caloca DR - vk - Wait for swapchain counter Change 3180430 on 2016/10/31 by Rolando.Caloca DR - vk - Properly wait for occlusion queries/cmd buffer - Actual log error if trying to use occlusion queries out of order Change 3180746 on 2016/10/31 by Rolando.Caloca DR - vk - Undo some waiting as it was on the wrong thread Change 3182115 on 2016/11/01 by Rolando.Caloca DR - hlslcc Linux path fix Change 3182118 on 2016/11/01 by Daniel.Wright Fixed global distance field seam artifacts from landscapes with no subsections Change 3182368 on 2016/11/01 by Daniel.Wright Dynamic Indirect Shadows for static meshes using distance fields * These Distance Field indirect shadows use the same tile culled and downsampled framework that capsule shadows use, with similar GPU cost * Individual StaticMesh assets can enable bGenerateMeshDistanceField to compute a distance field, without the memory cost of enabling for the whole project * New StaticMeshComponent properties bCastDynamicIndirectShadow and DynamicIndirectShadowMinVisibility * New WorldSettings property DynamicIndirectShadowsSelfShadowingIntensity which replaces the cvar * The GBuffer now stores HasDynamicIndirectShadowCasterRepresentation instead of HasHeightfieldRepresentation * DFAO from landscape is now done through the global distance field entirely. Landscape contribution to the global distance field is deferred to attempt to workaround texture streaming issues. Change 3182408 on 2016/11/01 by Rolando.Caloca DR - vk - Reworked occlusion queries, fixes flickering on AMD Change 3182585 on 2016/11/01 by Daniel.Wright PS4 compile fix Change 3183151 on 2016/11/02 by Rolando.Caloca DR - vk - Fix issue when processing super quick cmd buffers Change 3183160 on 2016/11/02 by Rolando.Caloca Dr - vk - Call reset queries outside render pass Change 3183182 on 2016/11/02 by Rolando.Caloca DR - Switch clear Change 3183194 on 2016/11/02 by Rolando.Caloca DR - Try to catch crash ahead of time Change 3183268 on 2016/11/02 by Rolando.Caloca DR - vk - Rename RenderPassState to TransitionState Change 3183440 on 2016/11/02 by Daniel.Wright Renamed 'Dynamic Indirect Shadow' to 'Distance Field Indirect Shadow' Change 3183793 on 2016/11/02 by Daniel.Wright Added ShadowResolutionScale to lightcomponent Change 3183796 on 2016/11/02 by Daniel.Wright Improved bSimulatePhysics comment, with info on why it might be greyed out Change 3183797 on 2016/11/02 by Daniel.Wright Precomputed shadowmaps no longer enable Force2To1Aspect, which is only needed for lightmaps. Improves shadowmap utilization. Change 3183915 on 2016/11/02 by Rolando.Caloca DR - vk - Remove redundant renderpasses Change 3183991 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3184001 on 2016/11/02 by Daniel.Wright Better draw event for IndirectCapsuleShadows in stereo Change 3184096 on 2016/11/02 by Chris.Bunner HDR for D3D11 - NVAPI toggle and encoding, UI compositing. Removed some outdated tonemamping cvars and modes. Change 3184399 on 2016/11/02 by Daniel.Wright Static analysis workaround Change 3184455 on 2016/11/02 by Mark.Satterthwaite Fix missing log10 from FCompositePS on hlslcc shader platforms so that QA can continue their integration. #jira UE-38164 Change 3184953 on 2016/11/03 by Chris.Bunner Fixing CIS warnings. [CL 3186011 by Marcus Wassmer in Main branch]
2016-11-03 16:55:27 -04:00
LevelViewportClient->SetShowStats(ViewportInstanceSettings.bShowOnScreenStats);
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
if (ViewportInstanceSettings.bShowFPS_DEPRECATED)
{
GetMutableDefault<ULevelEditorViewportSettings>()->bSaveEngineStats = true;
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
ViewportInstanceSettings.EnabledStats.AddUnique(TEXT("FPS"));
}
if (GetDefault<ULevelEditorViewportSettings>()->bSaveEngineStats)
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
{
GEngine->SetEngineStats(GetWorld(), LevelViewportClient.Get(), ViewportInstanceSettings.EnabledStats, true);
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
}
LevelViewportClient->VisibilityDelegate.BindSP( this, &SLevelViewport::IsVisible );
LevelViewportClient->ImmersiveDelegate.BindSP( this, &SLevelViewport::IsImmersive );
LevelViewportClient->bDrawBaseInfo = true;
LevelViewportClient->bDrawVertices = true;
LevelViewportClient->ViewFOV = LevelViewportClient->FOVAngle = ViewportInstanceSettings.FOVAngle;
LevelViewportClient->OverrideFarClipPlane( ViewportInstanceSettings.FarViewPlane );
// Set the selection outline flag based on preferences
LevelViewportClient->EngineShowFlags.SetSelectionOutline(GetDefault<ULevelEditorViewportSettings>()->bUseSelectionOutline);
// Always composite editor objects after post processing in the editor
LevelViewportClient->EngineShowFlags.SetCompositeEditorPrimitives(true);
LevelViewportClient->SetViewModes(ViewportInstanceSettings.PerspViewModeIndex, ViewportInstanceSettings.OrthoViewModeIndex );
bShowFullToolbar = ViewportInstanceSettings.bShowFullToolbar;
}
const FSceneViewport* SLevelViewport::GetGameSceneViewport() const
{
return ActiveViewport.Get();
}
FReply SLevelViewport::OnKeyDown( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent )
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
FReply Reply = FReply::Unhandled();
if( HasPlayInEditorViewport() || LevelViewportClient->IsSimulateInEditorViewport() )
{
// Only process commands for pie when a play world is active
FPlayWorldCommands::GlobalPlayWorldActions->ProcessCommandBindings( InKeyEvent );
// Always handle commands in pie so they arent bubbled to editor only widgets
Reply = FReply::Handled();
}
if( !IsPlayInEditorViewportActive() )
{
Reply = SEditorViewport::OnKeyDown(MyGeometry,InKeyEvent);
// If we are in immersive mode and the event was not handled, we will check to see if the the
// optional parent level editor is set. If it is, we give it a chance to handle the key event.
// This command forwarding is currently only needed when in immersive mode because in that case
// the SLevelEditor is not a direct parent of the viewport.
if ( this->IsImmersive() && !Reply.IsEventHandled() )
{
TSharedPtr<ILevelEditor> ParentLevelEditorSharedPtr = ParentLevelEditor.Pin();
if( ParentLevelEditorSharedPtr.IsValid() )
{
Reply = ParentLevelEditorSharedPtr->OnKeyDownInViewport( MyGeometry, InKeyEvent );
}
}
}
return Reply;
}
void SLevelViewport::OnDragEnter( const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent )
{
// Prevent OnDragEnter from reentering because it will affect the drop preview placement and management.
// This may happen currently if an unloaded class is dragged from the class viewer and a slow task is triggered,
// which re-ticks slate and triggers another mouse move.
static bool bDragEnterReentranceGuard = false;
if ( !bDragEnterReentranceGuard )
{
bDragEnterReentranceGuard = true;
// Don't execute the dragdrop op if the current level is locked.
// This prevents duplicate warning messages firing on DragEnter and Placement.
ULevel* CurrentLevel = (GetWorld()) ? GetWorld()->GetCurrentLevel() : NULL;
if ( CurrentLevel && !FLevelUtils::IsLevelLocked(CurrentLevel) )
{
if ( HandleDragObjects(MyGeometry, DragDropEvent) )
{
if ( HandlePlaceDraggedObjects(MyGeometry, DragDropEvent, /*bCreateDropPreview=*/true) )
{
DragDropEvent.GetOperation()->SetDecoratorVisibility(false);
}
}
}
bDragEnterReentranceGuard = false;
}
}
void SLevelViewport::OnDragLeave( const FDragDropEvent& DragDropEvent )
{
if ( LevelViewportClient->HasDropPreviewActors() )
{
LevelViewportClient->DestroyDropPreviewActors();
}
if (DragDropEvent.GetOperation().IsValid())
{
DragDropEvent.GetOperation()->SetDecoratorVisibility(true);
}
}
bool SLevelViewport::HandleDragObjects(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent)
{
bool bValidDrag = false;
TArray<FAssetData> SelectedAssetDatas;
TSharedPtr< FDragDropOperation > Operation = DragDropEvent.GetOperation();
if (!Operation.IsValid())
{
return false;
}
if (Operation->IsOfType<FClassDragDropOp>())
{
auto ClassOperation = StaticCastSharedPtr<FClassDragDropOp>( Operation );
bValidDrag = true;
for (int32 DroppedAssetIdx = 0; DroppedAssetIdx < ClassOperation->ClassesToDrop.Num(); ++DroppedAssetIdx)
{
new(SelectedAssetDatas)FAssetData(ClassOperation->ClassesToDrop[DroppedAssetIdx].Get());
}
}
else if (Operation->IsOfType<FUnloadedClassDragDropOp>())
{
bValidDrag = true;
}
else if (Operation->IsOfType<FExportTextDragDropOp>())
{
bValidDrag = true;
}
else if (Operation->IsOfType<FBrushBuilderDragDropOp>())
{
bValidDrag = true;
auto BrushOperation = StaticCastSharedPtr<FBrushBuilderDragDropOp>( Operation );
new(SelectedAssetDatas) FAssetData(BrushOperation->GetBrushBuilder().Get());
}
else
{
SelectedAssetDatas = AssetUtil::ExtractAssetDataFromDrag( DragDropEvent );
if ( SelectedAssetDatas.Num() > 0 )
{
bValidDrag = true;
}
}
// Update cached mouse position
if ( bValidDrag )
{
// Grab viewport to offset click position correctly
FIntPoint ViewportOrigin, ViewportSize;
LevelViewportClient->GetViewportDimensions(ViewportOrigin, ViewportSize);
// Save off the local mouse position from the drop point for potential use later (with Drag Drop context menu)
CachedOnDropLocalMousePos = MyGeometry.AbsoluteToLocal( DragDropEvent.GetScreenSpacePosition() );
CachedOnDropLocalMousePos.X -= ViewportOrigin.X;
CachedOnDropLocalMousePos.Y -= ViewportOrigin.Y;
}
// Update the currently dragged actor if it exists
bool bDroppedObjectsVisible = true;
if (LevelViewportClient->UpdateDropPreviewActors(CachedOnDropLocalMousePos.X, CachedOnDropLocalMousePos.Y, DroppedObjects, bDroppedObjectsVisible))
{
// if dragged actors were hidden, show decorator
Operation->SetDecoratorVisibility(! bDroppedObjectsVisible);
}
Operation->SetCursorOverride(TOptional<EMouseCursor::Type>());
FText HintText;
// Determine if we can drop the assets
for ( auto InfoIt = SelectedAssetDatas.CreateConstIterator(); InfoIt; ++InfoIt )
{
const FAssetData& AssetData = *InfoIt;
// Ignore invalid assets
if ( !AssetData.IsValid() )
{
continue;
}
FDropQuery DropResult = LevelViewportClient->CanDropObjectsAtCoordinates(CachedOnDropLocalMousePos.X, CachedOnDropLocalMousePos.Y, AssetData);
if ( !DropResult.bCanDrop )
{
// At least one of the assets can't be dropped.
Operation->SetCursorOverride(EMouseCursor::SlashedCircle);
return false;
}
else
{
if ( HintText.IsEmpty() )
{
HintText = DropResult.HintText;
}
}
}
if ( Operation->IsOfType<FAssetDragDropOp>() )
{
auto AssetOperation = StaticCastSharedPtr<FAssetDragDropOp>(DragDropEvent.GetOperation());
AssetOperation->SetToolTip(HintText, NULL);
}
return bValidDrag;
}
FReply SLevelViewport::OnDragOver( const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent )
{
if ( HandleDragObjects(MyGeometry, DragDropEvent) )
{
return FReply::Handled();
}
return FReply::Unhandled();
}
bool SLevelViewport::HandlePlaceDraggedObjects(const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent, bool bCreateDropPreview)
{
bool bAllAssetWereLoaded = false;
bool bValidDrop = false;
UActorFactory* ActorFactory = NULL;
TSharedPtr< FDragDropOperation > Operation = DragDropEvent.GetOperation();
if (!Operation.IsValid())
{
return false;
}
// Don't handle the placement if we couldn't handle the drag
if (!HandleDragObjects(MyGeometry, DragDropEvent))
{
return false;
}
if (Operation->IsOfType<FClassDragDropOp>())
{
auto ClassOperation = StaticCastSharedPtr<FClassDragDropOp>( Operation );
DroppedObjects.Empty();
// Check if the asset is loaded, used to see if the context menu should be available
bAllAssetWereLoaded = true;
for (int32 DroppedAssetIdx = 0; DroppedAssetIdx < ClassOperation->ClassesToDrop.Num(); ++DroppedAssetIdx)
{
UObject* Object = ClassOperation->ClassesToDrop[DroppedAssetIdx].Get();
if(Object)
{
DroppedObjects.Add(Object);
}
else
{
bAllAssetWereLoaded = false;
}
}
bValidDrop = true;
}
else if (Operation->IsOfType<FUnloadedClassDragDropOp>())
{
TSharedPtr<FUnloadedClassDragDropOp> DragDropOp = StaticCastSharedPtr<FUnloadedClassDragDropOp>( Operation );
DroppedObjects.Empty();
// Check if the asset is loaded, used to see if the context menu should be available
bAllAssetWereLoaded = true;
TArray< FClassPackageData >& AssetArray = *(DragDropOp->AssetsToDrop.Get());
for (int32 DroppedAssetIdx = 0; DroppedAssetIdx < AssetArray.Num(); ++DroppedAssetIdx)
{
bValidDrop = true;
FString& AssetName = AssetArray[DroppedAssetIdx].AssetName;
// Check to see if the asset can be found, otherwise load it.
UObject* Object = FindObject<UObject>(NULL, *AssetName);
if(Object == NULL)
{
// Check to see if the dropped asset was a blueprint
const FString& PackageName = AssetArray[DroppedAssetIdx].GeneratedPackageName;
Object = FindObject<UObject>(NULL, *FString::Printf(TEXT("%s.%s"), *PackageName, *AssetName));
if ( Object == NULL )
{
// Load the package.
GWarn->BeginSlowTask( LOCTEXT("OnDrop_FullyLoadPackage", "Fully Loading Package For Drop"), true, false );
UPackage* Package = LoadPackage(NULL, *PackageName, LOAD_NoRedirects );
if (Package)
{
Package->FullyLoad();
}
GWarn->EndSlowTask();
Object = FindObject<UObject>(Package, *AssetName);
}
}
// Check again if it has been loaded, if not, mark that all were not loaded and move on.
if(Object)
{
DroppedObjects.Add(Object);
}
else
{
bAllAssetWereLoaded = false;
}
}
}
else if (Operation->IsOfType<FAssetDragDropOp>())
{
bValidDrop = true;
DroppedObjects.Empty();
TSharedPtr<FAssetDragDropOp> DragDropOp = StaticCastSharedPtr<FAssetDragDropOp>( Operation );
ActorFactory = DragDropOp->ActorFactory.Get();
bAllAssetWereLoaded = true;
for (int32 AssetIdx = 0; AssetIdx < DragDropOp->AssetData.Num(); ++AssetIdx)
{
const FAssetData& AssetData = DragDropOp->AssetData[AssetIdx];
UObject* Asset = AssetData.GetAsset();
if ( Asset != NULL )
{
DroppedObjects.Add( Asset );
}
else
{
bAllAssetWereLoaded = false;
}
}
}
// OLE drops are blocking which causes problem when positioning and maintaining the drop preview
// Drop preview is disabled when dragging from external sources
else if ( !bCreateDropPreview && Operation->IsOfType<FExternalDragOperation>() )
{
bValidDrop = true;
DroppedObjects.Empty();
TArray<FAssetData> DroppedAssetDatas = AssetUtil::ExtractAssetDataFromDrag(DragDropEvent);
bAllAssetWereLoaded = true;
for (int32 AssetIdx = 0; AssetIdx < DroppedAssetDatas.Num(); ++AssetIdx)
{
const FAssetData& AssetData = DroppedAssetDatas[AssetIdx];
UObject* Asset = AssetData.GetAsset();
if ( Asset != NULL )
{
DroppedObjects.Add( Asset );
}
else
{
bAllAssetWereLoaded = false;
}
}
}
else if ( Operation->IsOfType<FExportTextDragDropOp>() )
{
bValidDrop = true;
TSharedPtr<FExportTextDragDropOp> DragDropOp = StaticCastSharedPtr<FExportTextDragDropOp>( Operation );
// Check if the asset is loaded, used to see if the context menu should be available
bAllAssetWereLoaded = true;
DroppedObjects.Empty();
// Create a container object to hold the export text and pass it into the actor placement code
UExportTextContainer* NewContainer = NewObject<UExportTextContainer>();
NewContainer->ExportText = DragDropOp->ActorExportText;
DroppedObjects.Add(NewContainer);
}
else if ( Operation->IsOfType<FBrushBuilderDragDropOp>() )
{
bValidDrop = true;
DroppedObjects.Empty();
TSharedPtr<FBrushBuilderDragDropOp> DragDropOp = StaticCastSharedPtr<FBrushBuilderDragDropOp>( Operation );
if(DragDropOp->GetBrushBuilder().IsValid())
{
DroppedObjects.Add(DragDropOp->GetBrushBuilder().Get());
}
}
if ( bValidDrop )
{
// Grab the hit proxy, used for the (potential) context menu
HHitProxy* HitProxy = LevelViewportClient->Viewport->GetHitProxy(CachedOnDropLocalMousePos.X, CachedOnDropLocalMousePos.Y);
// If Ctrl is down, pop in the context menu
const bool bShowDropContextMenu = !bCreateDropPreview && DragDropEvent.IsControlDown() && ( !HitProxy || !( HitProxy->IsA( HWidgetAxis::StaticGetType() ) ) );
bool bDropSuccessful = false;
// Make sure the drop preview is destroyed
LevelViewportClient->DestroyDropPreviewActors();
if( !bShowDropContextMenu || !bCreateDropPreview )
{
// Otherwise just attempt to drop the object(s)
TArray< AActor* > TemporaryActors;
// Only select actor on drop
const bool SelectActor = !bCreateDropPreview;
bDropSuccessful = LevelViewportClient->DropObjectsAtCoordinates(CachedOnDropLocalMousePos.X, CachedOnDropLocalMousePos.Y, DroppedObjects, TemporaryActors, false, bCreateDropPreview, SelectActor, ActorFactory);
}
else if ( bAllAssetWereLoaded && DroppedObjects.Num() > 0 )
{
FWidgetPath WidgetPath = DragDropEvent.GetEventPath() != nullptr ? *DragDropEvent.GetEventPath() : FWidgetPath();
FSlateApplication::Get().PushMenu(
SharedThis( this ),
WidgetPath,
BuildViewportDragDropContextMenu(),
DragDropEvent.GetScreenSpacePosition(),
FPopupTransitionEffect( FPopupTransitionEffect::ContextMenu ) );
bDropSuccessful = true;
}
// Give the editor focus (quick Undo/Redo support after a drag drop operation)
if(ParentLevelEditor.IsValid())
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 3293188) #rb none #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3203880 on 2016/11/18 by Ori.Cohen Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework) Change 3207429 on 2016/11/22 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3207285 Change 3252627 on 2017/01/10 by Lukasz.Furman removed duplicated entries from visual logger shape rendering #ue4 Change 3252675 on 2017/01/10 by Ori.Cohen Add support for tagged memory regions (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework)) Change 3252686 on 2017/01/10 by Ori.Cohen Refactor BodySetup to make it easier to reuse shape creation (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework)) Change 3252833 on 2017/01/10 by Ori.Cohen Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework)) Change 3252887 on 2017/01/10 by Dan.Reynolds Increased modes to include: Harmonic minor Melodic minor (going up) Pentatonic (Major) Pentatonic (minor) Whole Tone Diminished (WH) and Blues Change 3252895 on 2017/01/10 by Aaron.McLeran update to music utilities. Change 3253060 on 2017/01/10 by Aaron.McLeran Updates to synthesis plugin and some new features to DSP objects Change 3253061 on 2017/01/10 by Aaron.McLeran Updates to music maps Change 3253078 on 2017/01/10 by Aaron.McLeran Removing pragma optimization code accidentally checked in Change 3253110 on 2017/01/10 by Ori.Cohen First iteration of immediate mode ragdoll node (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework)) Change 3253315 on 2017/01/10 by Aaron.McLeran Fixing a few bugs in DSP objects - Added a new types file EpicSynth1 and EpicSynth1 component can share enums Change 3253577 on 2017/01/11 by Aaron.McLeran Checking in updates to assets for music -- celestial manager for rotating objects like planets, new ambient map Change 3254052 on 2017/01/11 by Ori.Cohen Fix build. Change 3254059 on 2017/01/11 by Ori.Cohen Turn off html5 trying to build apex. Change 3254095 on 2017/01/11 by Ori.Cohen Fix build Change 3254200 on 2017/01/11 by Jon.Nabozny Make vectorized FTransform Accumulate (with blend) and AccumulateWithAdditive (with blend) consistent with the non-vectorized version and comments. #JIRA UE-40469 Change 3254334 on 2017/01/11 by Marc.Audy Put in missing virtual Change 3254397 on 2017/01/11 by dan.reynolds Updates to OtonOkeMap Change 3254410 on 2017/01/11 by Marc.Audy Cleanup autos Change 3254420 on 2017/01/11 by Marc.Audy PR #3110: Add missing IsInAudioThread check (Contributed by projectgheist) Modified somewhat, but based on what PR indicated as a problem. #jira UE-40369 Change 3254423 on 2017/01/11 by Marc.Audy Optimize GetDefaultSubobjectByName and GetDefaultSubobjects Remove autos Change 3254826 on 2017/01/11 by Aaron.McLeran Bringing optimizations to dev-framework Change 3254831 on 2017/01/11 by dan.reynolds Modified MidiSynthTestBP to use Program Change events to pull a Preset from a Preset Bank--added a Data Blueprint Object ES1Bank_Default (containing Preset arrays) with children classes for different classifications of Presets. Change 3254833 on 2017/01/11 by dan.reynolds Updating MidiSynthTestBP's default SynthPreset pan value. Change 3254851 on 2017/01/11 by dan.reynolds Updating ES1Bank_Bass Updating OtonOkeMap Change 3254854 on 2017/01/11 by Aaron.McLeran Some fixups for pan modulation Change 3255682 on 2017/01/12 by aaron.mcleran Turning the bass down a bit on OtonOkeMap Change 3255721 on 2017/01/12 by Marc.Audy Fix spelling error Change 3255790 on 2017/01/12 by Marc.Audy Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework) Change 3256263 on 2017/01/12 by Ori.Cohen Refactor immediate mode api to take PxD6Joint and PxRigidActor instead. Change 3256288 on 2017/01/12 by Ori.Cohen Undo constraint refactor as we found a way around it and it made the code much harder to read/debug Change 3256360 on 2017/01/12 by Ori.Cohen Make sure physx actors passed into immediate mode are done so with proper locks (can probably improve this in the case where the actor is not even in the scene) Change 3256846 on 2017/01/13 by Marc.Audy Deprecate FBox/FBox2D int32 constructor because it makes no sense if you pass in a non 0 value. Use ForceInit instead. Change 3256954 on 2017/01/13 by Marc.Audy Fix missed fixup of deprecated constructor use Change 3257167 on 2017/01/13 by Jon.Nabozny Fix check in FBodyInstance::SetCollisionEnabled. Create convenience methods for HasPhysics and HasQuery. #jira UE-39633 Change 3257181 on 2017/01/13 by Zak.Parrish Adding input map and some testing content to Xenakis Change 3257183 on 2017/01/13 by Mieszko.Zielinski Implemented an improved navigation projection BP function that retrieves both projected locaiton as well as a boolean indicating if the projection succeeded #UE4 Also, did similar changes to GetRandomReachablePointInRadius and GetRandomPointInNavigableRadius #jira UE-40368 Change 3257211 on 2017/01/13 by Jon.Nabozny Fix CIS issue caused by 3257167. Change 3257220 on 2017/01/13 by Marc.Audy Additional FBox constructor deprecation fixups Change 3257236 on 2017/01/13 by zak.parrish Fixed error on Xenakis input pawn Change 3257242 on 2017/01/13 by zak.parrish Update to InputListener Change 3257273 on 2017/01/13 by Marc.Audy No reason to pass simple types by reference Change 3257418 on 2017/01/13 by Ori.Cohen Attempt to turn android physx libs back to static libs. Change 3257445 on 2017/01/13 by Ori.Cohen Turn android libs back to OBJ and removed unreal side linking as it seems we are now just merging into a single physx lib Change 3257903 on 2017/01/14 by Aaron.McLeran Additions to synth module and updates to dsp objects - Adding ability to create arbitrary modular patches from modulating sources to modulation destinations - DSP objects define their default depths but patches can override - Creating new SynthesisEditor module for synthesis plugin so we can create synthesis preset assets - Adding a preset bank type so we can store a bank of presets (aka factory presets) Change 3258179 on 2017/01/15 by Seth.Weedin Duplicating input test map for some FX work Change 3258181 on 2017/01/15 by Seth.Weedin Modify skybox in test map to be dark and spooky Change 3258183 on 2017/01/15 by aaron.johnson substituted classes, changed wind speed and adjusted level lighting Change 3258190 on 2017/01/15 by aaron.johnson substituted triplet pawn and motion controller classes, enabled grabbing animations Change 3258191 on 2017/01/15 by Aaron.McLeran Getting source effects working for GDC demo - Added new synthesis editor module to create instances of user-created source effects - Added code to do source effects - Modified old design to a newer, more simpler design for calling into client code to set parameters. No longer using the complex struct reflection design and instead just pass in the uobject preset the user created. They'll then cast it to the type that has the actual settings. - Tweaks and fixes to existing dsp objects to get source effects working - Modified existing engine code to allow for playing out source effect tails - Only supporting mono and stereo assets for source effect processing. Multi-channel effect processing is overly complex for this feature though we may extend the capabilities in the future. - Fixed issue of pitching with stereo delay effect on setting first interpolated param - Moving synth/dsp stuff in synthesis plugins into appropriate public/private folders in plugin/module - Deleting some cruft files no longer needed Change 3258201 on 2017/01/15 by Seth.Weedin C++ and BP classes for managing grid cells. Initial grid mapping tests. #rb none Change 3258206 on 2017/01/15 by aaron.johnson map push, triplets interface created, debug widget placed in level Change 3258222 on 2017/01/15 by Aaron.McLeran Fixing crash when there's a null entry in the source effect chain Fixed some zippering introduced by applying volume twice. Change 3258225 on 2017/01/15 by aaron.johnson Interface changes, pawn output values wip Change 3258228 on 2017/01/15 by aaron.johnson Pawn should be outputting all correct values for Tripletsinterface Change 3258242 on 2017/01/15 by Stanley.Hayes Edge lights and Spherical Density Materials Change 3258251 on 2017/01/16 by Seth.Weedin More progress on grid FX. Add curve strength modifiers, begin hooking up interaction. #rb none Change 3258284 on 2017/01/16 by Aaron.McLeran Fixing CIS build error Surprised that MSVC allows that... Change 3258525 on 2017/01/16 by Mieszko.Zielinski Made UGameplayTask::ResourceOverlapPolicy configurable via ini files #UE4 Change 3258537 on 2017/01/16 by Lukasz.Furman fixed duplicated & undo operations not updating navigation area in nav link proxy and nav link component #ue4 Change 3258595 on 2017/01/16 by Marc.Audy Fix static analysis warning Change 3259364 on 2017/01/16 by Mieszko.Zielinski BTTask_RotateToFaceBBEntry comment spelling fix #UE4 #jira UE-40669 Change 3259683 on 2017/01/16 by dan.reynolds Updated Preset Bank System implemented in MidiSynthTestBP and 4 Preset Banks have been started Change 3260244 on 2017/01/17 by Lina.Halper #anim - optimize layer blend node to not create mask weights in run-time but in compile time. #code review: Martin.Wilson Change 3260617 on 2017/01/17 by Ori.Cohen Immediate mode spawns its own actors. Change 3260701 on 2017/01/17 by Ori.Cohen Don't bother blending physics with animation when physics is QueryOnly Change 3260796 on 2017/01/17 by Ori.Cohen EndPhysics tick will no longer be scheduled if QueryOnly is used on a ragdoll. Change 3261207 on 2017/01/17 by Ori.Cohen First iteration of contact enabling/disabling for immediate mode. Change 3262010 on 2017/01/18 by Marc.Audy Remove some autos Change 3262525 on 2017/01/18 by Lina.Halper Fix crash with required bones index not using property indexing #jira: UE-40786 Change 3263658 on 2017/01/19 by Martin.Wilson Add AnimTechDemo to dev-framework (base third person + feng mao) Change 3263684 on 2017/01/19 by Lina.Halper #anim : layer node - fix allocation change I made by mistake Change 3264523 on 2017/01/19 by Ori.Cohen Immediate mode can now add static geometry it finds in the world. Also improve contact gen by caching iteration order Change 3264701 on 2017/01/19 by Ori.Cohen Make it so that immediate mode ragdolls collide with the ground in persona.This is a bit of an editor only hack which allows immediate mode to find non-static actors Change 3264980 on 2017/01/19 by Ori.Cohen Make sure physics asset collision disabled works in immediate mode. Change 3265011 on 2017/01/19 by Ori.Cohen Added the ability to override physics asset for immediate mode Change 3265030 on 2017/01/19 by Ori.Cohen Added override gravity for immediate mode. Change 3265650 on 2017/01/20 by Benn.Gallagher NvCloth Source Change 3265652 on 2017/01/20 by Benn.Gallagher NvCloth Lib #rnx Change 3265653 on 2017/01/20 by Benn.Gallagher NvCloth Bin #rnx Change 3266195 on 2017/01/20 by Danny.Bouimad Initial ClothTest Assets for NCloth Before and after comparison TM-MultiClothTest (Under Maps>Framework>Cloth) Change 3266377 on 2017/01/20 by Marc.Audy Ensure that OrphanedDataOnly and TrashClass blueprint generated classes are correctly considered a blueprint class for disregard for GC purposes. Change 3267873 on 2017/01/23 by Jon.Nabozny Fix SceneProxy shadowing in UGeometryCacheComponent. Change 3268025 on 2017/01/23 by Benn.Gallagher IWYU change, platform PCH generation seemed to hide this one. Change 3268026 on 2017/01/23 by Benn.Gallagher Fixed LOCTEXT_NAMESPACE being inconsistently scoped in an #if block #rnx Change 3268630 on 2017/01/23 by Zak.Parrish Updating to add MIGS shooter content, as well as audio interaction Blueprints Change 3268663 on 2017/01/23 by Ori.Cohen Ragdoll animnode uses raw physics asset pointer to ensure it makes a hard reference. Change 3268811 on 2017/01/23 by Ori.Cohen Added component space sim for immediate mode Change 3269369 on 2017/01/24 by Benn.Gallagher Copying //Tasks/UE4/Dev-UEFW-11-NewClothingPipeline to Dev-Framework (//UE4/Dev-Framework) Replaced clothing with new simulation framework Change 3269417 on 2017/01/24 by danny.bouimad Minor Update to cloth map for test Change 3269420 on 2017/01/24 by Benn.Gallagher Removed APEX simulation from clothing framework (used in testing, not fully complete) Change 3269421 on 2017/01/24 by danny.bouimad Small tweaks Change 3269515 on 2017/01/24 by Lukasz.Furman enabled gameplay debugger's OnSelectionChanged event support for both PIE and SIE modes fixed GameplayAbility debugger's category not using IAbilitySystemInterface #ue4 Change 3269595 on 2017/01/24 by mason.seay Break apart physics asset for crash bug Change 3269819 on 2017/01/24 by Ori.Cohen Make the possibly kinematic actor the first actor in the immediate mode joint. This is consistent with physx vanilla solver. Change 3270364 on 2017/01/24 by Josh.Stoddard upgrade to the latest version of v-HACD: https://github.com/kmammou/v-hacd/tree/master/src/VHACD_Lib commit: 7a09f9d NOTE: only updated windows binaries mac and linux still using old binaries until they can be tested #jira UE-40124 #rb josh.stoddard Change 3271188 on 2017/01/25 by Jurre.deBaare Post-import script support #jira UEFW-80 Change 3271249 on 2017/01/25 by Thomas.Sarkanen Move soundwave-internal curve tables to advanced display Exposing it was confusing to audio people Change 3271586 on 2017/01/25 by Marc.Audy Don't rerun construction scripts twice on a level that has been hidden and reshown #jira UE-40306 Change 3272048 on 2017/01/25 by Ori.Cohen Fix for immediate mode sim when root body is the same as the root bone. Change 3272083 on 2017/01/25 by Ori.Cohen Make sure to warn when component space sim and collision are used together. Also handle it gracefully. Change 3272300 on 2017/01/25 by Ori.Cohen Fix incorrect collision generation when a shape's local pose is not identity. Change 3273195 on 2017/01/26 by Jurre.deBaare Fix for Anim import script crash in GetBonePosesForTime Change 3273204 on 2017/01/26 by Ben.Marsh Ignore PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS and PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS macros between include directives. Fixes CIS warning with IncludeTool. Change 3273378 on 2017/01/26 by James.Golding In AnimBP editor, call CopyNodeDataToPreviewNode when properties are edited, not just pin defaults changed Change 3273381 on 2017/01/26 by James.Golding Big refactor to PoseDriver - RBF logic now moved into its own class/file - Allow editing of transform and radial scaling per-target - Add support for different falloff functions (not just Gaussian) - Allow driving curves directly, rather than always poses - Add details customization for pose driver node - Edits to PoseDriver settings now take immediate effect, don't need to recompile Change 3273826 on 2017/01/26 by Josh.Stoddard modify VHACD to improve quality of hulls generated by convex decomposition NOTE: mac libs not included - mac editor will use legacy libs for now Change 3273902 on 2017/01/26 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3273433 Change 3274018 on 2017/01/26 by Ori.Cohen Added immediate physics preview in phat. Change 3274165 on 2017/01/26 by Ori.Cohen PhAT now depends on immediate mode plugin. Fix build #JIRA UE-41179 Change 3275001 on 2017/01/27 by Jurre.deBaare Fix for crash in Persona with Anim Modifiers Change 3275297 on 2017/01/27 by Ori.Cohen Big refactor to iterate over shapes instead of bodies (allows multiple shape per body collision) Change 3275340 on 2017/01/27 by Benn.Gallagher Fixed Paragon clothing crashes during clothing upgrade step, fixed bone mapping not getting updated on reimport with different hierarchy #jira UE-41025 #jira UE-41039 Change 3275383 on 2017/01/27 by Benn.Gallagher Blacklisted double promotion warning on ps4 NvCloth build #rnx Change 3275426 on 2017/01/27 by Benn.Gallagher Removed CUDA dependencies from NvCloth cmake files Change 3275670 on 2017/01/27 by Ori.Cohen Fix phat ragdoll in immediate mode updating sketal mesh component transform Change 3275673 on 2017/01/27 by Ori.Cohen Add position/velocity iteration to immediate mode Change 3276001 on 2017/01/27 by Alan.Noon Migrated Immediate Mode Minion Ragdoll Content to GDC AnimTech Project. Updated DefaultInput.ini none Change 3276596 on 2017/01/28 by Aaron.McLeran Removing unused #ifdef Change 3276597 on 2017/01/28 by Aaron.McLeran Getting rid of static analysis warning Change 3277354 on 2017/01/30 by Lukasz.Furman fixed custom navlink Id collisions #ue4 Change 3277356 on 2017/01/30 by Lukasz.Furman fixed comments in GameplayDebugger.h #jira UE-41103 Change 3277371 on 2017/01/30 by mason.seay Test map for spawn sound/force feedback bug. Change 3277445 on 2017/01/30 by Lukasz.Furman fixed compilation warning #ue4 Change 3277560 on 2017/01/30 by Danny.Bouimad Made checkin to Fix Crash that occured due to bad content. Change 3277567 on 2017/01/30 by Ori.Cohen Fix immediate mode crashing when joint is empty. #JIRA UE-41026 Change 3277928 on 2017/01/30 by Ori.Cohen Turn on immediate mode plugin by default Change 3278433 on 2017/01/30 by Ori.Cohen Immediate mode supports heightfield collision. Change 3278449 on 2017/01/30 by Ori.Cohen Fix immediate mode cache not being initialized properly. Change 3278787 on 2017/01/31 by James.Golding Fix CIS error in ImmediatePhysicsSimulation.cpp Change 3279303 on 2017/01/31 by mason.seay Assets for RigidBody node bug Change 3279352 on 2017/01/31 by Benn.Gallagher Fixed inertia blends on self collision cloth assets as we now only have local space simulation and these values weren't used before Change 3279377 on 2017/01/31 by Alan.Noon GDC AnimTech Demo: adjusted minion physics assets none Change 3279425 on 2017/01/31 by james.cobbett Updating QA-Physics map. Made one of the simulated physics objects more user-friendly, able to enable/disable physics on key-press now. Change 3279436 on 2017/01/31 by Benn.Gallagher Fixed inertia scales on Owen mesh Change 3279480 on 2017/01/31 by Benn.Gallagher Fixes for clothing behavior changes #jira UE-41092 Change 3279495 on 2017/01/31 by Ori.Cohen Remove unneeded cache clearing when contact pairs are not skipped, but there is no collision. Change 3279579 on 2017/01/31 by james.cobbett Added new scenario to QA-Physics map. Moving platforms (up/down, left/right) with physics objects on them. Change 3279695 on 2017/01/31 by mason.seay RigidBody node test asset Change 3280105 on 2017/01/31 by Ori.Cohen Prevent query only ragdolls from simulating if their bodysetup is marked as simulated. Also remove slow check in term body for owning components. This is not true for destructibles or immediate mode Change 3280148 on 2017/01/31 by mason.seay First round of assets for force feedback testing Change 3280860 on 2017/02/01 by James.Golding Merge CL 3280853 to Dev-Framework Fix crash with null CurrentSkeleton on AnimInstance when using Re-import button in SkelMesh Editor Change 3281172 on 2017/02/01 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3281156 Change 3281210 on 2017/02/01 by james.cobbett Updated QA-Physics map Added cube that starts off with physics enabled, then disables. Made physics toggleable on that and another cube. Change 3281211 on 2017/02/01 by James.Golding Details customization for editing PoseDriver targets list Change 3281332 on 2017/02/01 by Marc.Audy Fix bad merge Fix file types Change 3281388 on 2017/02/01 by mason.seay Updated Force Feedback asset Change 3281396 on 2017/02/01 by mason.seay moving asset Change 3281987 on 2017/02/01 by Benn.Gallagher Fixed project generation failing after main merge Change 3282047 on 2017/02/01 by Marc.Audy Fix up Target and build cs files after changes from Dev-Build Change 3282214 on 2017/02/01 by Ori.Cohen Expose radial forces to immediate mode Change 3282221 on 2017/02/01 by Alan.Noon Immediate Mode GDC demo content: development on minion anim B, refined Orbital Laser Pawn controls, tweaked laser parameters none Change 3282273 on 2017/02/01 by Ori.Cohen Fix crash when recompiling animbp of immediate mode due to null pointer. Change 3282368 on 2017/02/01 by Ori.Cohen Quick iteration on minion demo Change 3282824 on 2017/02/02 by James.Golding Fix for CIS in RBFSolver.h Change 3282829 on 2017/02/02 by James.Golding Fix CIS in PoseDriverDetails.cpp Fix list UI not refreshing after copying targets from PoseAsset Change 3282834 on 2017/02/02 by Danny.Bouimad Adding Pose driver additive assets Change 3282863 on 2017/02/02 by James.Golding Add Mambo mesh and Skeleton Change 3282892 on 2017/02/02 by James.Golding Copy Aurora (Ice) and Mambo meshes/materials/some anims from Dev-General to AnimTechDemo project in Dev-Framework Change 3283157 on 2017/02/02 by Mieszko.Zielinski Cook Orion Win64 fix #UE4 Had to change the Extent param of K2_ProjectPointToNavigation. Updated the error causing Orion BP Change 3283159 on 2017/02/02 by Marc.Audy Additional CIS fixes Change 3283179 on 2017/02/02 by Marc.Audy More CIS fixes Change 3283197 on 2017/02/02 by Jurre.deBaare Fix for issues importing Fornite geometry cache assets #fix Use actual import number of frames instead of total number of frames in the Alembic Cache Change 3283201 on 2017/02/02 by Marc.Audy Keep fixing CIS Change 3283270 on 2017/02/02 by James.Golding Merging CL 3276013 to Dev-Framework - fix issue with additive pose preview applying twice Change 3283499 on 2017/02/02 by Marc.Audy More CIS fixes Change 3283543 on 2017/02/02 by Jon.Nabozny Update comment on AActor::GetActorBounds to properly reflect ChildActorComponents aren't included in the calculation. Change 3283663 on 2017/02/02 by Ori.Cohen Fix potential null dereference in ragdoll node Change 3283757 on 2017/02/02 by Marc.Audy May fix remaining CIS issues Change 3283984 on 2017/02/02 by Marc.Audy Fix linux CIS Change 3284039 on 2017/02/02 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3283913 Change 3284067 on 2017/02/02 by Marc.Audy Fixup mistakes in converting redirects Change 3284187 on 2017/02/02 by Ori.Cohen Immediate mode works with radial force (not just radial impulse) Change 3284358 on 2017/02/02 by Ori.Cohen Update arcblade phys asset for immediate mode Change 3284667 on 2017/02/02 by Marc.Audy Arguments is an array not a string now. Fixing commented out code. Change 3284684 on 2017/02/02 by Marc.Audy Move AVIWriter out in to its own module to avoid any possible unity build issues where xwindows.h got indirectly included through the DirectShow third party library and caused FGenericWindow::IsMaximized and IsMinimized to conflict with a macro. Change 3284707 on 2017/02/02 by Marc.Audy Fix AVIWriter module compilation on Mac Change 3285012 on 2017/02/03 by Benn.Gallagher Fixes for Dx NvCloth shader warnings Change 3285016 on 2017/02/03 by Marc.Audy Fix missing include Change 3285048 on 2017/02/03 by Benn.Gallagher Fixed Persona needing a restart when changing number of clothing assets (import/delete) #jira UE-41323 Change 3285325 on 2017/02/03 by Marc.Audy Properly implement AVIWriter module Change 3285538 on 2017/02/03 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3285499 Change 3285735 on 2017/02/03 by Jon.Nabozny Add IsInAir method to UVehicleWheel. #jira UE-38369 Change 3285862 on 2017/02/03 by Aaron.McLeran UE-41435 Fixing PIE audio - Fixing PIE audio. Recent change to editor preferences from Dev-Editor branch (CL 3234495) caused all audio to be muted in PIE. Change 3285914 on 2017/02/03 by danny.bouimad RecomputeTangents Test Assets Change 3286246 on 2017/02/03 by Mieszko.Zielinski Changes to game-specific BPs containing calls to deprecated NavigationSystem functions #UE4 #jira UE-41527 #jira UE-41518 Change 3286308 on 2017/02/03 by Ori.Cohen Make sure physx trimesh scale is never too small. Fix box clamping being ignored. Fixes cook warnings for Odin. #JIRA UE-41529 Change 3286396 on 2017/02/03 by Ori.Cohen Fix CIS Change 3286479 on 2017/02/03 by Ori.Cohen Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework) Change 3287421 on 2017/02/06 by James.Golding Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3286819 Change 3287427 on 2017/02/06 by James.Golding Fix PoseBlendNode to 'pass through' if no poses are activated Change 3287430 on 2017/02/06 by James.Golding - Add support to PoseDriver for evaluating source bone in the space of a different bone - Fix driven bone adding a scale of 1 - Fix posedriver values 'sticking' (reset all weights to zero each frame) - Move CopyTargetsFromPoseAsset and AutoSetTargetScales from FAnimNode_PoseDriver to UAnimGraphNode_PoseDriver (not required outside editor) - Tranlsation targets now draw larger when selected - 'Copy from pose asset' now also auto-sets radius for you - Remove spammy warnings for missing poses/curves - Add UPoseAsset::GetNumTracks and ::GetFullPose - Remove unused ExtractionContext from UPoseAsset::GetBaseAnimationPose - Remove bIncludeRefPoseAsNeutralPose option (not really useful since we no longer always normalize weights to 1.0) Change 3287496 on 2017/02/06 by Chad.Garyet fixing busted quotes around defaultvalues Change 3287569 on 2017/02/06 by Mieszko.Zielinski Orion BP fixed after deprecating NavigationSystem's BP API #Orion Change 3287595 on 2017/02/06 by Benn.Gallagher BuildPhysX.Automation: Deploying PhysX & NvCloth Win64 Win32 PS4 libs. Built for new NvCloth upgrade Change 3287598 on 2017/02/06 by Benn.Gallagher NvCloth Upgrade to 21604115 Added Linux+Mac support Change 3287710 on 2017/02/06 by Lukasz.Furman added option to disable navlink polys at the end of generated paths #ue4 Change 3287857 on 2017/02/06 by Benn.Gallagher Fixed NvCloth module files to correctly set up linux and mac hopefully Change 3287894 on 2017/02/06 by Benn.Gallagher Another fix to NvCloth build files, didn't get picked up in VS for some reason. Change 3287917 on 2017/02/06 by Lina.Halper Copy from CharacterRigging to Dev-Framework #code review:Thomas.Sarkanen, Martin.Wilson, James.Golding, Andrew.Rodham Change 3287938 on 2017/02/06 by Thomas.Sarkanen Fix crash opening a media sound wave #jira UE-41582 - Editor crashes when running Automation test Change 3287942 on 2017/02/06 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3287682 Change 3288035 on 2017/02/06 by James.Golding Remove C++ GameMode and pawn classes (replace with floating BP instead) Resave anims to remove Orion refs Add simple AnimBP and map for Mambo testing Change 3288036 on 2017/02/06 by Benn.Gallagher Fix to BuildPhysX task to trigger Mac and Linux builds properly Change 3288125 on 2017/02/06 by Ori.Cohen Change PhysXCommon back to dylib Change 3288127 on 2017/02/06 by Benn.Gallagher Fixed project file identification not working for NvCloth under XCode Change 3288156 on 2017/02/06 by Benn.Gallagher Disable "expansion-to-defined" warning in Linux NvCloth builds Change 3288159 on 2017/02/06 by Lina.Halper potential compile fix for Ocean Editor #code review:Thomas.Sarkanen Change 3288190 on 2017/02/06 by Ori.Cohen Link against static PhysXCommon for mac Change 3288200 on 2017/02/06 by Marc.Audy Fix CIS Change 3288270 on 2017/02/06 by Lina.Halper fix compile error #code review:Thomas.Sarkanen, Marc.Audy Change 3288302 on 2017/02/06 by Thomas.Sarkanen Fixed ensure when deselecting bones in anim BP editor #jira UE-41274 - Ensure when clicking in the viewport of an animation blueprint Change 3288348 on 2017/02/06 by Lina.Halper - Enabled control rig - Changed plugin name to be Control Rig Change 3288490 on 2017/02/06 by Benn.Gallagher Fixes for Mac attempting static links against NvCloth and failing to load dynamic libraries. Worked with MasonS to get Mac editor up and running. Change 3288511 on 2017/02/06 by Lina.Halper compile fix Change 3288513 on 2017/02/06 by Lina.Halper Check in content to work with Change 3288615 on 2017/02/06 by Ori.Cohen Fix skeletal mesh not simulating when using an aggregate. #JIRA UE-41593 Change 3288791 on 2017/02/06 by thomas.sarkanen Exposed transforms to cinematics so they can be animated Change 3288795 on 2017/02/06 by Ori.Cohen Fix lock warnings for physx #JIRA UE-41591 Change 3288817 on 2017/02/06 by Charles.Anderson GDC Arcblade setup tests. Change 3288825 on 2017/02/06 by Lina.Halper Fix build issue of shadow variable Change 3289058 on 2017/02/06 by Ori.Cohen Fix crash when immediate mode constraint generates 0 rows. This is a potentially temporary fix until NVIDIA replies with a better solution. #JIRA UE-41026 Change 3289348 on 2017/02/06 by Lina.Halper fix compile issue Change 3289369 on 2017/02/06 by Lina.Halper Renamed leg control to limb control and will be used for arm/feet. - changed vars. - has unused variables that will be used soon but want to check in so that i don't block content change on BaseHuman. #code review:Thomas.Sakanen Change 3289422 on 2017/02/06 by Lina.Halper Fixed IK sinking issue - or moving #code review:Thomas.Sarkanen Change 3289433 on 2017/02/06 by Lina.Halper Fixed real shadow error Change 3289485 on 2017/02/06 by Lina.Halper fixed build issue Change 3289657 on 2017/02/07 by thomas.sarkanen Added rig bone mapping to Ice's skeletal mesh Change 3289658 on 2017/02/07 by thomas.sarkanen Added ControlRig map with Ice setup to pose Change 3289662 on 2017/02/07 by Thomas.Sarkanen Fixed up static analysis warning Change 3289663 on 2017/02/07 by Thomas.Sarkanen Fixed crash when attempting to bind to skeletal mesh with already-set anim BP Anim instance may not have actually been created when binding, so dont dereference it Change 3289717 on 2017/02/07 by Benn.Gallagher Switch Linux NvCloth to static for Linux builds. Adjust lib directory to match actual directory Change 3289718 on 2017/02/07 by Benn.Gallagher BuildPhysX.Automation: Deploying NvCloth Linux_x86_64-unknown-linux-gnu libs. Change 3289744 on 2017/02/07 by Benn.Gallagher Fixed missing masses causing crash initialising clothing actors #jira UE-41599 Change 3289746 on 2017/02/07 by Danny.Bouimad Adding Some Content for JamesG he wanted some nicer looking Pose driver test files. Change 3289756 on 2017/02/07 by danny.bouimad Changing the asset for JamesG. Change 3289785 on 2017/02/07 by James.Golding Replace old PoseDrive test with Danny's new one Change 3289858 on 2017/02/07 by Lina.Halper fixed issue with undo transaction buffer Change 3289860 on 2017/02/07 by Benn.Gallagher Fixed crash after reimporting a clothing asset with the clothing config open and then changing the confg #jira UE-41655 Change 3289912 on 2017/02/07 by Thomas.Sarkanen Merging using Raven_To_Dev-Framework Originally from CLs 3249471, 3258522, 3260271, 3273791: Sequencer: More work supporting array properties more generically + fixes Change 3289962 on 2017/02/07 by James.Golding Add thickness option to DrawWireDiamond Change 3289963 on 2017/02/07 by James.Golding Add spin option to VectorInputBox Change 3289966 on 2017/02/07 by James.Golding Add weight bar chart to PoseDriver details Stop drawing pose weight text in viewport Fix position targets not drawing larger when selected Change 3290094 on 2017/02/07 by Thomas.Sarkanen Fixed typo in filename (fallout from search and replace) Change 3290119 on 2017/02/07 by Thomas.Sarkanen Manipulators can now have their IK/FK space set on them They are not drawn when the space for the chain that they control is not the same as their setting Also fixed a crash with invalid objects when reloading maps. Change 3290145 on 2017/02/07 by Thomas.Sarkanen CIS fix for fallout from Raven changes #jira UE-41670 - Mac editor fails to compile with PropertyTrackEditor errors Change 3290319 on 2017/02/07 by Marc.Audy Make sound player nodes hard reference the assets unless they are in a chain below a quality node. Change 3290484 on 2017/02/07 by Richard.Hinckley Fixing grammar in popup messages. Change 3290533 on 2017/02/07 by Marc.Audy Make GetAIController BlueprintPure #jira UE-41654 Change 3290624 on 2017/02/07 by Marc.Audy Reorder header to avoid include tool warnings Change 3290697 on 2017/02/07 by Lina.Halper - support FK manipulator being in local space - fixed FK key spamming issue for making blend weight to be not keyable - this creates conflicts with enum #code review: Thomas.Sarkanen Change 3290748 on 2017/02/07 by Ori.Cohen Touch immediate mode file to force physx re-link Change 3290807 on 2017/02/07 by Richard.Hinckley #jira UE-39891 Updates to assist in automatic documentation generation. Change 3290946 on 2017/02/07 by Lina.Halper Fix issue of notify looping. #jira: UE-31463 #Code review:Martin.Wilson Change 3291553 on 2017/02/07 by Lina.Halper Rename/move file(s) - modified mesh mapping controller window to be Control Rig Change 3291571 on 2017/02/07 by Lina.Halper added set up spine option #code review:Thomas.Sarkanen Change 3291581 on 2017/02/07 by Ori.Cohen Temporarily turn off phat immediate mode preview which crashes. Change 3291949 on 2017/02/08 by James.Golding Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3291819 Change 3291966 on 2017/02/08 by Lina.Halper Fix issue with notify looping bug #jira: UE-31463 Change 3292247 on 2017/02/08 by Marc.Audy Clean up bad merge caused by Fortnite integration to main Change 3292326 on 2017/02/08 by Marc.Audy Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3292313 Change 3292409 on 2017/02/08 by Marc.Audy Resubmit FortPawn.cpp with proper code even though perforce doesn't think there is a difference since when you sync it, the contents are wrong. Change 3292481 on 2017/02/08 by Ori.Cohen Fix for convex hull cooking (from Josh.S) #JIRA UE-41656 Change 3292492 on 2017/02/08 by Mieszko.Zielinski Redone replacement of deprecated navigation system's BP functions in Fortnite BPs #Fortnite Change 3292778 on 2017/02/08 by Ori.Cohen Touch physx DDC key for new cooking. #JIRA UE-41656 [CL 3293329 by Marc Audy in Main branch]
2017-02-08 17:53:41 -05:00
FGlobalTabmanager::Get()->DrawAttentionToTabManager(ParentLevelEditor.Pin()->GetTabManager().ToSharedRef());
}
if(bDropSuccessful)
{
SetKeyboardFocusToThisViewport();
}
return bDropSuccessful;
}
return false;
}
FReply SLevelViewport::OnDrop( const FGeometry& MyGeometry, const FDragDropEvent& DragDropEvent )
{
ULevel* CurrentLevel = (GetWorld()) ? GetWorld()->GetCurrentLevel() : NULL;
if (CurrentLevel && !FLevelUtils::IsLevelLocked(CurrentLevel))
{
return HandlePlaceDraggedObjects(MyGeometry, DragDropEvent, /*bCreateDropPreview=*/false) ? FReply::Handled() : FReply::Unhandled();
}
else
{
FNotificationInfo Info(LOCTEXT("Error_OperationDisallowedOnLockedLevel", "The requested operation could not be completed because the level is locked."));
Info.ExpireDuration = 3.0f;
FSlateNotificationManager::Get().AddNotification(Info);
return FReply::Handled();
}
}
void SLevelViewport::Tick( const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime )
{
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
SEditorViewport::Tick( AllottedGeometry, InCurrentTime, InDeltaTime );
const bool bContainsFocus = HasFocusedDescendants();
// When we have focus we update the 'Allow Throttling' option in slate to be disabled so that interactions in the
// viewport with Slate widgets that are part of the game, don't throttle.
if ( GEditor->PlayWorld != nullptr && bPIEContainsFocus != bContainsFocus )
{
// We can arrive at this point before creating throttling manager (which registers the cvar), so create it explicitly.
static const FSlateThrottleManager & ThrottleManager = FSlateThrottleManager::Get();
static IConsoleVariable* AllowThrottling = IConsoleManager::Get().FindConsoleVariable(TEXT("Slate.bAllowThrottling"));
check(AllowThrottling);
if ( bContainsFocus )
{
UserAllowThrottlingValue = AllowThrottling->GetInt();
AllowThrottling->Set(0);
}
else
{
AllowThrottling->Set(UserAllowThrottlingValue);
}
bPIEContainsFocus = bContainsFocus;
}
// We defer starting animation playback because very often there may be a large hitch after the frame in which
// the animation was triggered, and we don't want to start animating until after that hitch. Otherwise, the
// user could miss part of the animation, or even the whole thing!
if( bViewTransitionAnimPending )
{
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
ViewTransitionAnim.Play(this->AsShared());
bViewTransitionAnimPending = false;
}
// If we've completed a transition, then start animating back to our regular border. We
// do this so that we can avoid a popping artifact after PIE/SIE ends.
if( !ViewTransitionAnim.IsPlaying() && ViewTransitionType != EViewTransition::None )
{
if(ViewTransitionType == EViewTransition::StartingPlayInEditor)
{
if(PIEOverlaySlotIndex)
{
PIEOverlayAnim = FCurveSequence(0.0f, SLevelViewportPIEAnimation::MouseControlLabelFadeout, ECurveEaseFunction::CubicInOut);
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
PIEOverlayAnim.Play(this->AsShared());
}
}
ViewTransitionType = EViewTransition::None;
ViewTransitionAnim = FCurveSequence( 0.0f, 0.25f, ECurveEaseFunction::QuadOut );
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
ViewTransitionAnim.PlayReverse(this->AsShared());
}
if(IsPlayInEditorViewportActive() && bPIEHasFocus != ActiveViewport->HasMouseCapture())
{
bPIEHasFocus = ActiveViewport->HasMouseCapture();
PIEOverlayAnim = FCurveSequence(0.0f, SLevelViewportPIEAnimation::MouseControlLabelFadeout, ECurveEaseFunction::CubicInOut);
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
PIEOverlayAnim.Play(this->AsShared());
}
// Update actor preview viewports, if we have any
UpdateActorPreviewViewports();
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
#if STATS
// Check to see if there are any new stat group which need registering with the viewports
extern CORE_API void CheckForRegisteredStatGroups();
CheckForRegisteredStatGroups();
#endif
}
TSharedRef< SWidget > SLevelViewport::BuildViewportDragDropContextMenu()
{
// Get all menu extenders for this context menu from the level editor module
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>( LevelEditorName );
TArray<FLevelEditorModule::FLevelViewportMenuExtender_SelectedObjects> MenuExtenderDelegates = LevelEditorModule.GetAllLevelViewportDragDropContextMenuExtenders();
TArray<TSharedPtr<FExtender>> Extenders;
for (int32 i = 0; i < MenuExtenderDelegates.Num(); ++i)
{
if (MenuExtenderDelegates[i].IsBound())
{
Extenders.Add(MenuExtenderDelegates[i].Execute(CommandList.ToSharedRef(), DroppedObjects));
}
}
TSharedPtr<FExtender> MenuExtender = FExtender::Combine(Extenders);
// Builds a context menu used to perform specific actions on actors selected within the editor
const bool bShouldCloseWindowAfterMenuSelection = true;
FMenuBuilder ViewportContextMenuBuilder( bShouldCloseWindowAfterMenuSelection, CommandList, MenuExtender );
{
FLevelViewportDropContextMenuImpl::FillDropAddReplaceActorMenu( false, ViewportContextMenuBuilder );
// If any actors are in the current editor selection, add submenu for swapping out those actors with an asset from the chosen factory
if( GEditor->GetSelectedActorCount() > 0 && !AssetSelectionUtils::IsBuilderBrushSelected() )
{
FLevelViewportDropContextMenuImpl::FillDropAddReplaceActorMenu( true, ViewportContextMenuBuilder );
}
if(DroppedObjects.Num() > 0)
{
// Grab the hit proxy, used for determining which object we're potentially targeting
const HHitProxy* DroppedUponProxy = LevelViewportClient->Viewport->GetHitProxy(CachedOnDropLocalMousePos.X, CachedOnDropLocalMousePos.Y);
UObject* FirstDroppedObject = DroppedObjects[0];
// If we're using a material asset, check if the apply material option(s) should be added
if(DroppedUponProxy && Cast<UMaterialInterface>(FirstDroppedObject) && LevelViewportClient->CanApplyMaterialToHitProxy(DroppedUponProxy))
{
ViewportContextMenuBuilder.BeginSection("ApplyMaterial");
{
ViewportContextMenuBuilder.AddMenuEntry( FLevelViewportCommands::Get().ApplyMaterialToActor );
}
ViewportContextMenuBuilder.EndSection();
}
}
}
return ViewportContextMenuBuilder.MakeWidget();
}
void SLevelViewport::OnMapChanged( UWorld* World, EMapChangeType MapChangeType )
{
if( World && ( ( World == GetWorld() ) || ( World->EditorViews[LevelViewportClient->ViewportType].CamUpdated ) ) )
{
if( MapChangeType == EMapChangeType::LoadMap )
{
if (World->EditorViews[LevelViewportClient->ViewportType].CamOrthoZoom == 0.0f)
{
World->EditorViews[LevelViewportClient->ViewportType].CamOrthoZoom = DEFAULT_ORTHOZOOM;
}
ResetNewLevelViewFlags();
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3028916) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3006483 on 2016/06/08 by Simon.Tovey Fix for UE-31653 Instance params from the Spawn, Required and TypeData modules were not being autopopulated. Change 3006514 on 2016/06/08 by Zabir.Hoque MIGRATING FIX @ Request Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction. #CodeReview: Marcus.Wassmer, Daniel.Wright Change 3006605 on 2016/06/08 by Rolando.Caloca DR - vk - Remove a bunch of unused code, clean up some todos Change 3006969 on 2016/06/08 by HaarmPieter.Duiker Add #ifdefs around inverse tonemapping to avoid performance hit in normal use Change 3007240 on 2016/06/09 by Chris.Bunner Made a pass at fixing global shader compile warnings and errors. Change 3007242 on 2016/06/09 by Chris.Bunner Don't force unlit mode when re-loading a map. #jira UE-31247 Change 3007243 on 2016/06/09 by Chris.Bunner Cache InvalidLightmapSettings material for instanced meshes. #jira UE-31182 Change 3007258 on 2016/06/09 by Chris.Bunner Fixed refractive depth bias material parameter. Change 3007466 on 2016/06/09 by Rolando.Caloca DR - Use vulkan debug marker extension directly from header Change 3007504 on 2016/06/09 by Martin.Mittring added refresh button to ImageVerifier Change 3007528 on 2016/06/09 by Martin.Mittring ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end make render more deterministic Change 3007551 on 2016/06/09 by Chris.Bunner Reverted constant type change in previous commit. Change 3007559 on 2016/06/09 by Martin.Mittring updated ImageValidator Change 3007584 on 2016/06/09 by Rolando.Caloca DR - Fix case when not running under RD Change 3007668 on 2016/06/09 by Rolando.Caloca DR - vk - Split layers/extensions by required/optional Change 3007820 on 2016/06/09 by Rolando.Caloca DR - Android compile fix Change 3007926 on 2016/06/09 by Martin.Mittring fixed UI scaling in ImageVerifyer Change 3007931 on 2016/06/09 by John.Billon -Fixed cutouts not working for certain sized texture/subUV size combinations. -Also fixed issue with subUV module not being postloaded consistently on startup. #Jira UE-31583 Change 3008023 on 2016/06/09 by Martin.Mittring refactor noise code in shaders Change 3008127 on 2016/06/09 by Zabir.Hoque Merging back hot fixes: 1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS. 2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself. Change 3008129 on 2016/06/09 by Daniel.Wright Disabled r.ProfileGPU.PrintAssetSummary by default due to spam Change 3008169 on 2016/06/09 by Rolando.Caloca DR - Fix mobile rendering not freeing resource when using RHI thread Change 3008429 on 2016/06/09 by Uriel.Doyon Enabled texture streaming new metrics. Added progress bar while texture streaming is being built. Added debug shader validation to prevent crashes when there are uniform expression set mismatches. Added texture streaming build to "Build All" Change 3008436 on 2016/06/09 by Uriel.Doyon Fixed shipping build Change 3008833 on 2016/06/10 by Rolando.Caloca DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications Submitted by Allar PR #1864 #jira UE-24545 Change 3008842 on 2016/06/10 by Rolando.Caloca DR - Remove vertex densities view mode Change 3008857 on 2016/06/10 by John.Billon Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching. Change 3008870 on 2016/06/10 by Rolando.Caloca DR - Rebuild hlslcc libs (missing from last merge) Change 3008925 on 2016/06/10 by John.Billon Fixed r.ScreenPercentage.Editor #Jira UE-31549 Change 3009028 on 2016/06/10 by Daniel.Wright Shadow depth refactor * Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame * This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading * The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed * A large amount of duplicated code to handle each shadow type has been combined * Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency * 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures Change 3009032 on 2016/06/10 by Daniel.Wright Fixed crash with simple forward shading in the material editor Change 3009178 on 2016/06/10 by Rolando.Caloca DR - Add support for multi callbacks on HlslParser, added a write to string callback Change 3009268 on 2016/06/10 by Daniel.Wright Warning fixes Change 3009416 on 2016/06/10 by Martin.Mittring moved decal rendering code in common spot for upcoming MeshDecal rendering Change 3009433 on 2016/06/10 by John.Billon Adding ensures for translucency lighting volume render target acesses. #Jira UE-31578 Change 3009449 on 2016/06/10 by Daniel.Wright Fixed whole scene point light shadow depths getting rendered redundantly Change 3009675 on 2016/06/10 by Martin.Mittring fixed Clang compiling Change 3009815 on 2016/06/10 by Martin.Mittring renamed IsUsedWithDeferredDecal to IsDeferredDecal to be more correct Change 3009946 on 2016/06/10 by Martin.Mittring minor optimization Change 3010270 on 2016/06/11 by HaarmPieter.Duiker Update gamut transformations used when dumping EXRs to account for bug UE-29935 Change 3011423 on 2016/06/13 by Martin.Mittring fixed default of bOutputsVelocityInBasePass #code_review:Rolando.Caloca #test:PC Change 3011448 on 2016/06/13 by Martin.Mittring minor engine code cleanup #code_review:Olaf.Piesche #test:PC Change 3011991 on 2016/06/13 by Daniel.Wright Fixed downsampled translucency crash in VR Change 3011993 on 2016/06/13 by Daniel.Wright Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely' Mobility tooltips now reflect whether a primitive component or light component is being inspected Change 3012096 on 2016/06/13 by Daniel.Wright Missing file from cl 3011993 Change 3012546 on 2016/06/14 by John.Billon Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled #Jira OR-23282 Change 3012706 on 2016/06/14 by John.Billon Renamed r.ContactShadows.Enable to r.ContactShadows Change 3012992 on 2016/06/14 by Rolando.Caloca DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled - Added support for CustomPresent Change 3013030 on 2016/06/14 by Rolando.Caloca DR - vk - Fix dev issue Change 3013423 on 2016/06/14 by Martin.Mittring removed code redundancy for easier upcoming changes #test:PC Change 3013451 on 2016/06/14 by Martin.Mittring removed no longer needed debug cvar #test:PC Change 3013643 on 2016/06/14 by Zabir.Hoque Fix API only being inlined in the cpp and not avaialble in the .h Change 3013696 on 2016/06/14 by Olaf.Piesche Adding missing quality level spawn rate scaling on GPU emitters Change 3013736 on 2016/06/14 by Daniel.Wright Cached shadowmaps for whole scene point and spot light shadows * Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights) * Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving * Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached * Cached shadowmaps are copied each frame and then movable primitive depths composited * Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap) * 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness) * 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights) Change 3014103 on 2016/06/15 by Daniel.Wright Compile fix Change 3014507 on 2016/06/15 by Simon.Tovey Resurrected Niagara playground and moved to Samples/NotForLicencees Change 3014931 on 2016/06/15 by Martin.Mittring moved r.RenderInternals code into renderer to be able to access more low level data #test:PC, paragon Change 3014933 on 2016/06/15 by Martin.Mittring nicer text Change 3014956 on 2016/06/15 by Daniel.Wright Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD) Change 3014985 on 2016/06/15 by Uriel.Doyon Enabled Texture Build shaders on Mac Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping. Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets #jira UE-30566 #jira UE-31098 Change 3014995 on 2016/06/15 by Rolando.Caloca DR - vk - Removed RHI thread wait on acquire image - Move Descriptor pool into context Change 3015002 on 2016/06/15 by Rolando.Caloca DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine Change 3015041 on 2016/06/15 by Martin.Mittring fixed ImageValidator crashing when using files that exist only in ref or test folder Change 3015309 on 2016/06/15 by Rolando.Caloca DR - vk - Enable fence re-use on SDKs >= 1.0.16.0 Change 3015356 on 2016/06/15 by Rolando.Caloca DR - vk - Prep for staging buffer refactor Change 3015430 on 2016/06/15 by Martin.Mittring minor optimization for subsurfacescatteringprofile Change 3016097 on 2016/06/16 by Simon.Tovey Enabling Niagara by default in the Niagara playground Change 3016098 on 2016/06/16 by Simon.Tovey Some misc fixup to get niagara working again Change 3016183 on 2016/06/16 by Rolando.Caloca DR - vk - Recreate buffer view for volatile buffers Change 3016225 on 2016/06/16 by Marcus.Wassmer Duplicate reflection fixes from 4.12 hotfixes. Change 3016289 on 2016/06/16 by Chris.Bunner Always gather MP_Normal definitions as they can be shared by other material properties. #jira UE-31792 Change 3016294 on 2016/06/16 by Daniel.Wright Fix for ensure accessing CVarCacheWPOPrimitives in game Change 3016305 on 2016/06/16 by Daniel.Wright Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been Change 3016330 on 2016/06/16 by Daniel.Wright Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light Stats for shadowmap memory used under 'stat shadowrendering' Change 3016506 on 2016/06/16 by Daniel.Wright Fixed crash building map in SunTemple due to null access Change 3016703 on 2016/06/16 by Uriel.Doyon Fixed warning due to floating point imprecision when building texture streaming Change 3016718 on 2016/06/16 by Daniel.Wright Volume lighting samples use adaptive sampling final gather * Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting) Change 3016871 on 2016/06/16 by Max.Chen Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation. Copy from Dev-Sequencer #jira UE-32093 Change 3017189 on 2016/06/16 by Zabir.Hoque Fix GBuffer format selection type-o. #CodeReview: Marcus.Wassmer Change 3017241 on 2016/06/16 by Martin.Mittring optimized and cleaned up rendering in transluceny, distortion, custom mesh drawing #code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden Change 3017856 on 2016/06/17 by Rolando.Caloca DR - Missing GL enum Change 3017910 on 2016/06/17 by Ben.Woodhouse - Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates - Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24) #RB:Keli.Hloedversson,Martin.Mittring Change 3018126 on 2016/06/17 by Ben.Woodhouse Fix build warning on Mac #RB:David.Hill Change 3018167 on 2016/06/17 by Chris.Bunner Handle case when float4 is passed to TransformPosition material node. #jira UE-24980 Change 3018246 on 2016/06/17 by Benjamin.Hyder Submitting Preliminary ShadowRefactor TestMap Change 3018330 on 2016/06/17 by Benjamin.Hyder labeled ShadowRefactor map Change 3018377 on 2016/06/17 by Chris.Bunner Removed additional node creation when initializing a RotateAboutAxis node. #jira UE-8034 Change 3018433 on 2016/06/17 by Rolando.Caloca DR - Fix some clang warnings on Vulkan Change 3018664 on 2016/06/17 by Martin.Mittring unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812) #test:PC #code_review:Marcus.Wassmer,Brian.Karis Change 3019023 on 2016/06/19 by Benjamin.Hyder Re-Labeled ShadowRefactor map Change 3019024 on 2016/06/19 by Benjamin.Hyder Correcting Translucent Volume (Non-Directional) settings Change 3019026 on 2016/06/19 by Benjamin.Hyder Correcting Lighting ShadowRefactor map Change 3019414 on 2016/06/20 by Allan.Bentham Refactor mobile shadows Change 3019494 on 2016/06/20 by Gil.Gribb Merging //UE4/Dev-Main@3018959 to Dev-Rendering (//UE4/Dev-Rendering) Change 3019504 on 2016/06/20 by John.Billon -Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk. -Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints. -Created a small common interface for blueprints and the editor itself to use for exporting. #Jira UE-31429 Change 3019561 on 2016/06/20 by Gil.Gribb UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager. Change 3019616 on 2016/06/20 by Rolando.Caloca DR - Replicate change in DevRendering to fix splotches on characters with morph targets Change: 3019599 O - Fix flickering on heroes with morph targets Change 3019627 on 2016/06/20 by Rolando.Caloca DR - Doh! Compile fix Change 3019674 on 2016/06/20 by Simon.Tovey Ripped out the quick hacky VM debugger I wrote a while back. Over complicated the VM and didn't do enough work to justify it. Will revisit debugging and profiling of VM scripts in future. Change 3019691 on 2016/06/20 by Ben.Woodhouse Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed. This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs). #RB:Martin.Mittring, Daniel.Wright Change 3019741 on 2016/06/20 by John.Billon Fixed compile error on mac. Change 3019984 on 2016/06/20 by Martin.Mittring minor optimization Change 3020172 on 2016/06/20 by Zachary.Wilson Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none Change 3020195 on 2016/06/20 by Zachary.Wilson Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none Change 3020196 on 2016/06/20 by Rolando.Caloca DR - Appease static analysis Change 3020231 on 2016/06/20 by Zachary.Wilson Making basic shapes consistent distance field resolution scale. #rb: none Change 3020468 on 2016/06/20 by David.Hill CameraWS UE-29146 Change 3020502 on 2016/06/20 by Benjamin.Hyder Adding AutomationMatinee Camera for RenderOutputValidation Change 3020508 on 2016/06/20 by Benjamin.Hyder Adding AutomationMatinee for RenderOutputValidation Change 3020514 on 2016/06/20 by Benjamin.Hyder Setting Autoplay for AutomationMatinee (sequence) Change 3020561 on 2016/06/20 by Daniel.Wright Removed outdated comment on uniform expression assert Change 3021268 on 2016/06/21 by Daniel.Wright Scaled sphere intersection for indirect capsule shadows * Fixes the discontinuity when capsule axis points close to the light direction * GPU cost is effectively the same (more expensive to compute, but tighter culling) Change 3021325 on 2016/06/21 by Daniel.Wright Split ShadowRendering.cpp into ShadowDepthRendering.cpp Change 3021355 on 2016/06/21 by Daniel.Wright Fixed RTDF shadows (broken by shadowmap caching) Change 3021444 on 2016/06/21 by Daniel.Wright Fixed crash due to Depth drawing policy not using the default material shader map properly Change 3021543 on 2016/06/21 by Daniel.Wright Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns Change 3021749 on 2016/06/21 by Daniel.Wright Moved RenderBasePass and dependencies into BasePassRendering.cpp Moved RenderPrePass and dependencies into DepthRendering.cpp Change 3021766 on 2016/06/21 by Benjamin.Hyder Adding 150dynamiclights level to Dev-Folder Change 3021971 on 2016/06/21 by Daniel.Wright Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation * TLM_SurfacePerPixelLighting now behaves like TLM_Surface Change 3022760 on 2016/06/22 by Chris.Bunner Merge fixup. Change 3022911 on 2016/06/22 by Rolando.Caloca DR - Added r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders Change 3023037 on 2016/06/22 by Rolando.Caloca DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed Change 3023139 on 2016/06/22 by Daniel.Wright Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled Change 3023231 on 2016/06/22 by Daniel.Wright Only allowing opaque per-object shadows or CSM in the mobile renderer Change 3023415 on 2016/06/22 by Daniel.Wright Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target Change 3024888 on 2016/06/23 by Daniel.Wright Fixed preshadows being rendered redundantly with multiple lights Change 3025119 on 2016/06/23 by Martin.Mittring added MeshDecal content to RenderTest Change 3025122 on 2016/06/23 by Martin.Mittring enabled DBuffer for RenderTest Change 3025153 on 2016/06/23 by Marc.Olano Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10. Needed to use world space without shader offsets, not absolute world space. Change 3025180 on 2016/06/23 by Marc.Olano Use translated world space for particle centers. Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables. Change 3025265 on 2016/06/23 by David.Hill Bilbords translucent during PIE - lighting model was incorrectly set in gbuffer #jira UE-26165 Change 3025269 on 2016/06/23 by Ryan.Brucks Adding new Testmap for Pixel Depth Offset velocities with Temporal AA Change 3025345 on 2016/06/23 by Benjamin.Hyder Submitting MeshDecal Content Change 3025444 on 2016/06/23 by Benjamin.Hyder updating content for MeshDecal Change 3025491 on 2016/06/23 by Benjamin.Hyder Updating DecalMesh Textures Change 3025802 on 2016/06/23 by Martin.Mittring added to readme Change 3026475 on 2016/06/24 by Rolando.Caloca DR - Show current state of r.RHIThread.Enable when not using param Change 3026479 on 2016/06/24 by Rolando.Caloca DR - Upgrade glslang to 1.0.17.0 Change 3026480 on 2016/06/24 by Rolando.Caloca DR - Vulkan headers to 1.0.17.0 Change 3026481 on 2016/06/24 by Rolando.Caloca DR - Vulkan wrapper for extra logging Change 3026491 on 2016/06/24 by Rolando.Caloca DR - Missed file Change 3026574 on 2016/06/24 by Rolando.Caloca DR - vk - Enabled fence reuse on 1.0.17.0 - Added more logging info Change 3026656 on 2016/06/24 by Frank.Fella Niagara - Prevent sequencer uobjects from being garbage collected. Change 3026657 on 2016/06/24 by Benjamin.Hyder Updating Rendertestmap to latest Change 3026723 on 2016/06/24 by Rolando.Caloca DR - Fix for ES3.1 RHIs Change 3026784 on 2016/06/24 by Martin.Mittring New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on) Change 3026866 on 2016/06/24 by Olaf.Piesche #jira OR-18363 #jira UE-27780 fix distortion in particle macro uvs [CL 3028922 by Gil Gribb in Main branch]
2016-06-27 13:42:20 -04:00
LevelViewportClient->ResetCamera();
bool bInitializedOrthoViewport = false;
for (int32 ViewportType = 0; ViewportType < LVT_MAX; ViewportType++)
{
if (ViewportType == LVT_Perspective || !bInitializedOrthoViewport)
{
LevelViewportClient->SetInitialViewTransform(
static_cast<ELevelViewportType>(ViewportType),
World->EditorViews[ViewportType].CamPosition,
World->EditorViews[ViewportType].CamRotation,
World->EditorViews[ViewportType].CamOrthoZoom);
if (ViewportType != LVT_Perspective)
{
bInitializedOrthoViewport = true;
}
}
}
}
else if( MapChangeType == EMapChangeType::SaveMap )
{
//@todo there could potentially be more than one of the same viewport type. This effectively takes the last one of a specific type
World->EditorViews[LevelViewportClient->ViewportType] =
FLevelViewportInfo(
LevelViewportClient->GetViewLocation(),
LevelViewportClient->GetViewRotation(),
LevelViewportClient->GetOrthoZoom() );
}
else if( MapChangeType == EMapChangeType::NewMap )
{
ResetNewLevelViewFlags();
LevelViewportClient->ResetViewForNewMap();
}
World->EditorViews[LevelViewportClient->ViewportType].CamUpdated = false;
RedrawViewport(true);
}
}
void SLevelViewport::OnLevelActorsRemoved(AActor* InActor)
{
// Kill any existing actor previews that have expired
for( int32 PreviewIndex = 0; PreviewIndex < ActorPreviews.Num(); ++PreviewIndex )
{
AActor* ExistingActor = ActorPreviews[PreviewIndex].Actor.Get();
if ( !ExistingActor || ExistingActor == InActor )
{
// decrement index so we don't miss next preview after deleting
RemoveActorPreview( PreviewIndex-- );
}
}
}
void FLevelViewportDropContextMenuImpl::FillDropAddReplaceActorMenu( bool bReplace, FMenuBuilder& MenuBuilder )
{
// Builds a submenu for the Drag Drop context menu used to replace all actors in the current editor selection with a different asset
TArray<FAssetData> SelectedAssets;
AssetSelectionUtils::GetSelectedAssets( SelectedAssets );
FAssetData TargetAssetData;
if ( SelectedAssets.Num() > 0 )
{
TargetAssetData = SelectedAssets.Top();
}
TArray< FActorFactoryAssetProxy::FMenuItem > SelectedAssetMenuOptions;
FActorFactoryAssetProxy::GenerateActorFactoryMenuItems( TargetAssetData, &SelectedAssetMenuOptions, false );
if(SelectedAssetMenuOptions.Num() > 0)
{
FText AddReplaceTitle = (bReplace)? FText::GetEmpty() : LOCTEXT("DragDropContext_AddAsType", "Add As Type");
MenuBuilder.BeginSection("AddReplace", AddReplaceTitle);
{
for( int32 ItemIndex = 0; ItemIndex < SelectedAssetMenuOptions.Num(); ++ItemIndex )
{
const FActorFactoryAssetProxy::FMenuItem& MenuItem = SelectedAssetMenuOptions[ItemIndex];
if ( bReplace )
{
FUIAction Action( FExecuteAction::CreateStatic( &FLevelEditorActionCallbacks::ReplaceActors_Clicked, MenuItem.FactoryToUse, MenuItem.AssetData ) );
FText MenuEntryName = FText::Format( NSLOCTEXT("LevelEditor", "ReplaceActorMenuFormat", "Replace with {0}"), MenuItem.FactoryToUse->GetDisplayName() );
if ( MenuItem.AssetData.IsValid() )
{
MenuEntryName = FText::Format( NSLOCTEXT("LevelEditor", "ReplaceActorUsingAssetMenuFormat", "Replace with {0}: {1}"),
MenuItem.FactoryToUse->GetDisplayName(),
FText::FromName( MenuItem.AssetData.AssetName ) );
}
}
else
{
FUIAction Action( FExecuteAction::CreateStatic( &FLevelEditorActionCallbacks::AddActor_Clicked, MenuItem.FactoryToUse, MenuItem.AssetData, false ) );
FText MenuEntryName = FText::Format( NSLOCTEXT("SLevelViewport", "AddActorMenuFormat", "Add {0}"), MenuItem.FactoryToUse->GetDisplayName() );
if ( MenuItem.AssetData.IsValid() )
{
MenuEntryName = FText::Format( NSLOCTEXT("SLevelViewport", "AddActorUsingAssetMenuFormat", "Add {0}: {1}"),
MenuItem.FactoryToUse->GetDisplayName(),
FText::FromName( MenuItem.AssetData.AssetName ) );
}
}
}
}
MenuBuilder.EndSection();
}
}
/**
* Bound event Triggered via FLevelViewportCommands::ApplyMaterialToActor, attempts to apply a material selected in the content browser
* to an actor being hovered over in the Editor viewport.
*/
void SLevelViewport::OnApplyMaterialToViewportTarget()
{
if(DroppedObjects.Num() > 0)
{
// Grab the hit proxy, used for determining which object we're potentially targeting
const HHitProxy* DroppedUponProxy = LevelViewportClient->Viewport->GetHitProxy(CachedOnDropLocalMousePos.X, CachedOnDropLocalMousePos.Y);
UObject* FirstDroppedObject = DroppedObjects[0];
// Ensure we're dropping a material asset and our target is an acceptable receiver
if(DroppedUponProxy && Cast<UMaterialInterface>(FirstDroppedObject) && LevelViewportClient->CanApplyMaterialToHitProxy(DroppedUponProxy))
{
// Drop the object, but ensure we're only affecting the target actor, not whatever may be in the current selection
TArray< AActor* > TemporaryActors;
LevelViewportClient->DropObjectsAtCoordinates(CachedOnDropLocalMousePos.X,CachedOnDropLocalMousePos.Y, DroppedObjects, TemporaryActors, true);
}
}
}
void SLevelViewport::BindCommands()
{
SEditorViewport::BindCommands();
FUICommandList& UICommandListRef = *CommandList;
BindOptionCommands( UICommandListRef );
BindViewCommands( UICommandListRef );
BindShowCommands( UICommandListRef );
BindDropCommands( UICommandListRef );
if ( ParentLevelEditor.IsValid() )
{
UICommandListRef.Append(ParentLevelEditor.Pin()->GetLevelEditorActions().ToSharedRef());
}
UICommandListRef.SetCanProduceActionForCommand( FUICommandList::FCanProduceActionForCommand::CreateSP(this, &SLevelViewport::CanProduceActionForCommand) );
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
void SLevelViewport::BindOptionCommands( FUICommandList& OutCommandList )
{
const FLevelViewportCommands& ViewportActions = FLevelViewportCommands::Get();
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.AdvancedSettings,
FExecuteAction::CreateSP( this, &SLevelViewport::OnAdvancedSettings ) );
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ToggleMaximize,
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleMaximizeMode ),
FCanExecuteAction::CreateSP( this, &SLevelViewport::CanToggleMaximizeMode ) );
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ToggleGameView,
FExecuteAction::CreateSP( this, &SLevelViewport::ToggleGameView ),
FCanExecuteAction::CreateSP( this, &SLevelViewport::CanToggleGameView ),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsInGameView ) );
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ToggleImmersive,
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleImmersive),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsImmersive ) );
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ToggleCinematicPreview,
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleAllowCinematicPreview ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::AllowsCinematicPreview )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.CreateCamera,
FExecuteAction::CreateSP( this, &SLevelViewport::OnCreateCameraActor ),
FCanExecuteAction(),
FCanExecuteAction::CreateSP( this, &SLevelViewport::IsPerspectiveViewport )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.HighResScreenshot,
FExecuteAction::CreateSP( this, &SLevelViewport::OnTakeHighResScreenshot ),
FCanExecuteAction()
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ToggleActorPilotCameraView,
FExecuteAction::CreateSP(this, &SLevelViewport::ToggleActorPilotCameraView),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsLockedCameraViewEnabled )
);
// Map each bookmark action
for( int32 BookmarkIndex = 0; BookmarkIndex < AWorldSettings::MAX_BOOKMARK_NUMBER; ++BookmarkIndex )
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.JumpToBookmarkCommands[BookmarkIndex],
FExecuteAction::CreateSP( this, &SLevelViewport::OnJumpToBookmark, BookmarkIndex )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.SetBookmarkCommands[BookmarkIndex],
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetBookmark, BookmarkIndex )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ClearBookmarkCommands[BookmarkIndex],
FExecuteAction::CreateSP( this, &SLevelViewport::OnClearBookMark, BookmarkIndex )
);
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ClearAllBookMarks,
FExecuteAction::CreateSP( this, &SLevelViewport::OnClearAllBookMarks )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ToggleViewportToolbar,
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleShowFullToolbar ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::ShouldShowFullToolbar )
);
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
void SLevelViewport::BindViewCommands( FUICommandList& OutCommandList )
{
const FLevelViewportCommands& ViewportActions = FLevelViewportCommands::Get();
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.FindInLevelScriptBlueprint,
FExecuteAction::CreateSP( this, &SLevelViewport::FindSelectedInLevelScript ),
FCanExecuteAction::CreateSP( this, &SLevelViewport::CanFindSelectedInLevelScript )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.EjectActorPilot,
FExecuteAction::CreateSP( this, &SLevelViewport::OnActorUnlock ),
FCanExecuteAction::CreateSP( this, &SLevelViewport::CanExecuteActorUnlock )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.PilotSelectedActor,
FExecuteAction::CreateSP( this, &SLevelViewport::OnActorLockSelected ),
FCanExecuteAction::CreateSP( this, &SLevelViewport::CanExecuteActorLockSelected )
);
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
ViewportActions.ViewportConfig_OnePane,
FExecuteAction::CreateSP(this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::OnePane),
FCanExecuteAction(),
FIsActionChecked::CreateSP(this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::OnePane));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_TwoPanesH,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::TwoPanesHoriz ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::TwoPanesHoriz ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_TwoPanesV,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::TwoPanesVert ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::TwoPanesVert ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_ThreePanesLeft,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::ThreePanesLeft ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::ThreePanesLeft ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_ThreePanesRight,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::ThreePanesRight ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::ThreePanesRight ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_ThreePanesTop,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::ThreePanesTop ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::ThreePanesTop ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_ThreePanesBottom,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::ThreePanesBottom ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::ThreePanesBottom ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_FourPanesLeft,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::FourPanesLeft ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::FourPanesLeft ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_FourPanesRight,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::FourPanesRight ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::FourPanesRight ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_FourPanesTop,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::FourPanesTop ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::FourPanesTop ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_FourPanesBottom,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::FourPanesBottom ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::FourPanesBottom ));
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
ViewportActions.ViewportConfig_FourPanes2x2,
FExecuteAction::CreateSP( this, &SLevelViewport::OnSetViewportConfiguration, LevelViewportConfigurationNames::FourPanes2x2 ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsViewportConfigurationSet, LevelViewportConfigurationNames::FourPanes2x2 ));
auto ProcessViewportTypeActions = [&](FName InViewportTypeName, const FViewportTypeDefinition& InDefinition){
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
if (InDefinition.ActivationCommand.IsValid())
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(InDefinition.ActivationCommand, FUIAction(
FExecuteAction::CreateSP(this, &SLevelViewport::ToggleViewportTypeActivationWithinLayout, InViewportTypeName),
FCanExecuteAction(),
FIsActionChecked::CreateSP(this, &SLevelViewport::IsViewportTypeWithinLayoutEqual, InViewportTypeName)
));
}
};
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>(TEXT("LevelEditor"));
LevelEditorModule.IterateViewportTypes(ProcessViewportTypeActions);
// Map Buffer visualization mode actions
for (FLevelViewportCommands::TBufferVisualizationModeCommandMap::TConstIterator It = ViewportActions.BufferVisualizationModeCommands.CreateConstIterator(); It; ++It)
{
const FLevelViewportCommands::FBufferVisualizationRecord& Record = It.Value();
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
Record.Command,
FExecuteAction::CreateSP( this, &SLevelViewport::ChangeBufferVisualizationMode, Record.Name ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsBufferVisualizationModeSelected, Record.Name ) );
}
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
void SLevelViewport::BindShowCommands( FUICommandList& OutCommandList )
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().UseDefaultShowFlags,
FExecuteAction::CreateSP( this, &SLevelViewport::OnUseDefaultShowFlags, false ) );
const TArray<FShowFlagData>& ShowFlagData = GetShowFlagMenuItems();
// Bind each show flag to the same delegate. We use the delegate payload system to figure out what show flag we are dealing with
for( int32 ShowFlag = 0; ShowFlag < ShowFlagData.Num(); ++ShowFlag )
{
const FShowFlagData& SFData = ShowFlagData[ShowFlag];
// NOTE: There should be one command per show flag so using ShowFlag as the index to ShowFlagCommands is acceptable
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().ShowFlagCommands[ ShowFlag ].ShowMenuItem,
FExecuteAction::CreateSP( this, &SLevelViewport::ToggleShowFlag, SFData.EngineShowFlagIndex ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsShowFlagEnabled, SFData.EngineShowFlagIndex ) );
}
// Show Volumes
{
// Map 'Show All' and 'Hide All' commands
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().ShowAllVolumes,
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleAllVolumeActors, true ) );
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().HideAllVolumes,
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleAllVolumeActors, false ) );
// Get all known volume classes
TArray< UClass* > VolumeClasses;
UUnrealEdEngine::GetSortedVolumeClasses(&VolumeClasses);
for( int32 VolumeClassIndex = 0; VolumeClassIndex < VolumeClasses.Num(); ++VolumeClassIndex )
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().ShowVolumeCommands[ VolumeClassIndex ].ShowMenuItem,
FExecuteAction::CreateSP( this, &SLevelViewport::ToggleShowVolumeClass, VolumeClassIndex ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsVolumeVisible, VolumeClassIndex ) );
}
}
// Show Layers
{
// Map 'Show All' and 'Hide All' commands
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().ShowAllLayers,
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleAllLayers, true ) );
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().HideAllLayers,
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleAllLayers, false ) );
}
// Show Sprite Categories
{
// Map 'Show All' and 'Hide All' commands
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().ShowAllSprites,
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleAllSpriteCategories, true ) );
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().HideAllSprites,
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FExecuteAction::CreateSP( this, &SLevelViewport::OnToggleAllSpriteCategories, false ) );
// Bind each show flag to the same delegate. We use the delegate payload system to figure out what show flag we are dealing with
for( int32 CategoryIndex = 0; CategoryIndex < GUnrealEd->SpriteIDToIndexMap.Num(); ++CategoryIndex )
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().ShowSpriteCommands[ CategoryIndex ].ShowMenuItem,
FExecuteAction::CreateSP( this, &SLevelViewport::ToggleSpriteCategory, CategoryIndex ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( this, &SLevelViewport::IsSpriteCategoryVisible, CategoryIndex ) );
}
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
// Show Stat Categories
{
// Map 'Hide All' command
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
FLevelViewportCommands::Get().HideAllStats,
FExecuteAction::CreateSP(this, &SLevelViewport::OnToggleAllStatCommands, false));
for (auto StatCatIt = FLevelViewportCommands::Get().ShowStatCatCommands.CreateConstIterator(); StatCatIt; ++StatCatIt)
{
const TArray< FLevelViewportCommands::FShowMenuCommand >& ShowStatCommands = StatCatIt.Value();
for (int32 StatIndex = 0; StatIndex < ShowStatCommands.Num(); ++StatIndex)
{
const FLevelViewportCommands::FShowMenuCommand& StatCommand = ShowStatCommands[StatIndex];
BindStatCommand(StatCommand.ShowMenuItem, StatCommand.LabelOverride.ToString());
}
}
// Bind a listener here for any additional stat commands that get registered later.
FLevelViewportCommands::NewStatCommandDelegate.AddRaw(this, &SLevelViewport::BindStatCommand);
}
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
void SLevelViewport::BindDropCommands( FUICommandList& OutCommandList )
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
OutCommandList.MapAction(
FLevelViewportCommands::Get().ApplyMaterialToActor,
FExecuteAction::CreateSP( this, &SLevelViewport::OnApplyMaterialToViewportTarget ) );
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
void SLevelViewport::BindStatCommand(const TSharedPtr<FUICommandInfo> InMenuItem, const FString& InCommandName)
{
CommandList->MapAction(
InMenuItem,
FExecuteAction::CreateSP(this, &SLevelViewport::ToggleStatCommand, InCommandName),
FCanExecuteAction(),
FIsActionChecked::CreateSP(this, &SLevelViewport::IsStatCommandVisible, InCommandName));
}
const FSlateBrush* SLevelViewport::OnGetViewportBorderBrush() const
{
const FSlateBrush* BorderBrush = NULL;
if( FSlateApplication::Get().IsNormalExecution() )
{
// Only show the active border if we have a valid client, its the current client being edited and we arent in immersive (in immersive there is only one visible viewport)
if( LevelViewportClient.IsValid() && LevelViewportClient.Get() == GCurrentLevelEditingViewportClient && !IsImmersive() )
{
BorderBrush = ActiveBorder;
}
else
{
BorderBrush = NoBorder;
}
// If a PIE/SIE/Editor transition just completed, then we'll draw a border effect to draw attention to it
if( ViewTransitionAnim.IsPlaying() )
{
switch( ViewTransitionType )
{
case EViewTransition::FadingIn:
BorderBrush = BlackBackground;
break;
case EViewTransition::StartingPlayInEditor:
BorderBrush = StartingPlayInEditorBorder;
break;
case EViewTransition::StartingSimulate:
BorderBrush = StartingSimulateBorder;
break;
case EViewTransition::ReturningToEditor:
BorderBrush = ReturningToEditorBorder;
break;
}
}
}
else
{
BorderBrush = DebuggingBorder;
}
return BorderBrush;
}
FSlateColor SLevelViewport::OnGetViewportBorderColorAndOpacity() const
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
FLinearColor ViewportBorderColorAndOpacity = FLinearColor::White;
if( FSlateApplication::Get().IsNormalExecution() )
{
if( ViewTransitionAnim.IsPlaying() )
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
ViewportBorderColorAndOpacity = FLinearColor( 1.0f, 1.0f, 1.0f, 1.0f - ViewTransitionAnim.GetLerp() );
}
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
return ViewportBorderColorAndOpacity;
}
EVisibility SLevelViewport::OnGetViewportContentVisibility() const
{
// Do not show any of the viewports inner slate content (active viewport borders, etc) when we are playing in editor and in immersive mode
// as they are meaningless in that situation
EVisibility BaseVisibility = SEditorViewport::OnGetViewportContentVisibility();
if (BaseVisibility != EVisibility::Visible)
{
return BaseVisibility;
}
return ( ( IsPlayInEditorViewportActive() && IsImmersive() ) || GEngine->IsStereoscopic3D( ActiveViewport.Get() ) ) ? EVisibility::Collapsed : EVisibility::Visible;
}
EVisibility SLevelViewport::GetToolBarVisibility() const
{
// Do not show the toolbar if this viewport has a play in editor session, or we're in the VR Editor
return ( IsPlayInEditorViewportActive() || GEngine->IsStereoscopic3D( ActiveViewport.Get() ) ) ? EVisibility::Collapsed : OnGetViewportContentVisibility();
}
EVisibility SLevelViewport::GetMaximizeToggleVisibility() const
{
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
bool bIsMaximizeSupported = false;
bool bShowMaximizeToggle = false;
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
TSharedPtr<FLevelViewportLayout> LayoutPinned = ParentLayout.Pin();
if (LayoutPinned.IsValid())
{
bIsMaximizeSupported = LayoutPinned->IsMaximizeSupported();
bShowMaximizeToggle = !LayoutPinned->IsTransitioning();
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
}
// Do not show the maximize/minimize toggle when in immersive mode
return (!bIsMaximizeSupported || IsImmersive()) ? EVisibility::Collapsed : (bShowMaximizeToggle ? EVisibility::Visible : EVisibility::Hidden);
}
EVisibility SLevelViewport::GetCloseImmersiveButtonVisibility() const
{
// Do not show the Immersive toggle button when not in immersive mode
return IsImmersive() ? EVisibility::Visible : EVisibility::Collapsed;
}
EVisibility SLevelViewport::GetTransformToolbarVisibility() const
{
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>( LevelEditorName );
TSharedPtr<ILevelViewport> ActiveLevelViewport = LevelEditorModule.GetFirstActiveViewport();
// Am I the ActiveLevelViewport?
if( ActiveLevelViewport.Get() == this )
{
// Only return visible if we are/were the active viewport.
return EVisibility::Visible;
}
return EVisibility::Hidden;
}
bool SLevelViewport::IsMaximized() const
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
if( ParentLayout.IsValid() && !ConfigKey.IsEmpty() )
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
return ParentLayout.Pin()->IsViewportMaximized( *ConfigKey );
}
// Assume the viewport is always maximized if we have no layout for some reason
return true;
}
TSharedRef<FEditorViewportClient> SLevelViewport::MakeEditorViewportClient()
{
return LevelViewportClient.ToSharedRef();
}
TSharedPtr<SWidget> SLevelViewport::MakeViewportToolbar()
{
// Build our toolbar level toolbar
TSharedRef< SLevelViewportToolBar > ToolBar =
SNew( SLevelViewportToolBar )
.Viewport( SharedThis( this ) )
.Visibility( this, &SLevelViewport::GetToolBarVisibility )
.IsEnabled( FSlateApplication::Get().GetNormalExecutionAttribute() );
return
SNew(SVerticalBox)
.Visibility( EVisibility::SelfHitTestInvisible )
+SVerticalBox::Slot()
.AutoHeight()
.VAlign(VAlign_Top)
[
ToolBar
]
+SVerticalBox::Slot()
.VAlign(VAlign_Top)
.HAlign(HAlign_Left)
[
SNew(SActorPilotViewportToolbar)
.Viewport( SharedThis( this ) )
.Visibility(this, &SLevelViewport::GetLockedIconVisibility)
];
}
void SLevelViewport::OnUndo()
{
GUnrealEd->Exec( GetWorld(), TEXT("TRANSACTION UNDO") );
}
void SLevelViewport::OnRedo()
{
GUnrealEd->Exec( GetWorld(), TEXT("TRANSACTION REDO") );
}
bool SLevelViewport::CanExecuteUndo() const
{
return GUnrealEd->Trans->CanUndo() && FSlateApplication::Get().IsNormalExecution();
}
bool SLevelViewport::CanExecuteRedo() const
{
return GUnrealEd->Trans->CanRedo() && FSlateApplication::Get().IsNormalExecution();
}
void SLevelViewport::OnAdvancedSettings()
{
FModuleManager::LoadModuleChecked<ISettingsModule>("Settings").ShowViewer("Editor", "LevelEditor", "Viewport");
}
void SLevelViewport::OnToggleImmersive()
{
if( ParentLayout.IsValid() )
{
bool bWantImmersive = !IsImmersive();
bool bWantMaximize = IsMaximized();
// We always want to animate in response to user-interactive toggling of maximized state
const bool bAllowAnimation = true;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
FName ViewportName = *ConfigKey;
if (!ViewportName.IsNone())
{
ParentLayout.Pin()->RequestMaximizeViewport( ViewportName, bWantMaximize, bWantImmersive, bAllowAnimation );
}
}
}
bool SLevelViewport::IsImmersive() const
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
if( ParentLayout.IsValid() && !ConfigKey.IsEmpty() )
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
return ParentLayout.Pin()->IsViewportImmersive( *ConfigKey );
}
// Assume the viewport is not immersive if we have no layout for some reason
return false;
}
void SLevelViewport::OnCreateCameraActor()
{
// Find the perspective viewport we were using
FViewport* pViewPort = GEditor->GetActiveViewport();
FLevelEditorViewportClient* ViewportClient = NULL;
for( int32 iView = 0; iView < GEditor->LevelViewportClients.Num(); iView++ )
{
if( GEditor->LevelViewportClients[ iView ]->IsPerspective() && GEditor->LevelViewportClients[ iView ]->Viewport == pViewPort )
{
ViewportClient = GEditor->LevelViewportClients[ iView ];
break;
}
}
if( ViewportClient == NULL )
{
// May fail to find viewport if shortcut key was pressed on an ortho viewport, if so early out.
// This function only works on perspective viewports so new camera can match perspective camera.
return;
}
const FScopedTransaction Transaction(NSLOCTEXT("LevelViewport", "CreateCameraHere", "Create Camera Here"));
// Set new camera to match viewport
ACameraActor* pNewCamera = ViewportClient->GetWorld()->SpawnActor<ACameraActor>();
pNewCamera->SetActorLocation( ViewportClient->GetViewLocation(), false );
pNewCamera->SetActorRotation( ViewportClient->GetViewRotation() );
pNewCamera->CameraComponent->FieldOfView = ViewportClient->ViewFOV;
// Deselect any currently selected actors
GUnrealEd->SelectNone( true, true );
GEditor->GetSelectedActors()->DeselectAll();
GEditor->GetSelectedObjects()->DeselectAll();
// Select newly created Camera
TArray<UObject *> SelectedActors;
GEditor->SelectActor( pNewCamera, true, false );
SelectedActors.Add( pNewCamera );
// Send notification about actors that may have changed
ULevel::LevelDirtiedEvent.Broadcast();
// Update the details window with the actors we have just selected
GUnrealEd->UpdateFloatingPropertyWindowsFromActorList( SelectedActors );
// Redraw viewports to show new camera
GEditor->RedrawAllViewports();
}
bool SLevelViewport::IsPerspectiveViewport() const
{
bool bIsPerspective = false;
FViewport* pViewPort = GEditor->GetActiveViewport();
if( pViewPort && pViewPort->GetClient()->IsOrtho() == false )
{
bIsPerspective = true;
}
return bIsPerspective;
}
void SLevelViewport::OnTakeHighResScreenshot()
{
HighResScreenshotDialog = SHighResScreenshotDialog::OpenDialog(ActiveViewport, CaptureRegionWidget);
}
void SLevelViewport::ToggleGameView()
{
if( LevelViewportClient->IsPerspective() )
{
bool bGameViewEnable = !LevelViewportClient->IsInGameView();
LevelViewportClient->SetGameView(bGameViewEnable);
}
}
bool SLevelViewport::CanToggleGameView() const
{
return LevelViewportClient->IsPerspective();
}
bool SLevelViewport::IsInGameView() const
{
return LevelViewportClient->IsInGameView();
}
void SLevelViewport::ChangeBufferVisualizationMode( FName InName )
{
LevelViewportClient->SetViewMode(VMI_VisualizeBuffer);
LevelViewportClient->CurrentBufferVisualizationMode = InName;
}
bool SLevelViewport::IsBufferVisualizationModeSelected( FName InName ) const
{
return LevelViewportClient->IsViewModeEnabled( VMI_VisualizeBuffer ) && LevelViewportClient->CurrentBufferVisualizationMode == InName;
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
void SLevelViewport::OnToggleAllVolumeActors( bool bVisible )
{
// Reinitialize the volume actor visibility flags to the new state. All volumes should be visible if "Show All" was selected and hidden if it was not selected.
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
LevelViewportClient->VolumeActorVisibility.Init( bVisible, LevelViewportClient->VolumeActorVisibility.Num() );
// Update visibility based on the new state
// All volume actor types should be taken since the user clicked on show or hide all to get here
GUnrealEd->UpdateVolumeActorVisibility( NULL, LevelViewportClient.Get() );
}
/** Called when the user toggles a volume visibility from Volumes sub-menu. **/
void SLevelViewport::ToggleShowVolumeClass( int32 VolumeID )
{
TArray< UClass* > VolumeClasses;
UUnrealEdEngine::GetSortedVolumeClasses(&VolumeClasses);
// Get the corresponding volume class for the clicked menu item.
UClass *SelectedVolumeClass = VolumeClasses[ VolumeID ];
LevelViewportClient->VolumeActorVisibility[ VolumeID ] = !LevelViewportClient->VolumeActorVisibility[ VolumeID ];
// Update the found actors visibility based on the new bitfield
GUnrealEd->UpdateVolumeActorVisibility( SelectedVolumeClass, LevelViewportClient.Get() );
}
/** Called to determine if vlume class is visible. **/
bool SLevelViewport::IsVolumeVisible( int32 VolumeID ) const
{
return LevelViewportClient->VolumeActorVisibility[ VolumeID ];
}
/** Called when a user selects show or hide all from the layers visibility menu. **/
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
void SLevelViewport::OnToggleAllLayers( bool bVisible )
{
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
if (bVisible)
{
// clear all hidden layers
LevelViewportClient->ViewHiddenLayers.Empty();
}
else
{
// hide them all
TArray<FName> AllLayerNames;
GEditor->Layers->AddAllLayerNamesTo(AllLayerNames);
LevelViewportClient->ViewHiddenLayers = AllLayerNames;
}
// update actor visibility for this view
GEditor->Layers->UpdatePerViewVisibility(LevelViewportClient.Get());
LevelViewportClient->Invalidate();
}
/** Called when the user toggles a layer from Layers sub-menu. **/
void SLevelViewport::ToggleShowLayer( FName LayerName )
{
int32 HiddenIndex = LevelViewportClient->ViewHiddenLayers.Find(LayerName);
if ( HiddenIndex == INDEX_NONE )
{
LevelViewportClient->ViewHiddenLayers.Add(LayerName);
}
else
{
LevelViewportClient->ViewHiddenLayers.RemoveAt(HiddenIndex);
}
// update actor visibility for this view
GEditor->Layers->UpdatePerViewVisibility(LevelViewportClient.Get(), LayerName);
LevelViewportClient->Invalidate();
}
/** Called to determine if a layer is visible. **/
bool SLevelViewport::IsLayerVisible( FName LayerName ) const
{
return LevelViewportClient->ViewHiddenLayers.Find(LayerName) == INDEX_NONE;
}
void SLevelViewport::ToggleShowFoliageType(TWeakObjectPtr<UFoliageType> InFoliageType)
{
UFoliageType* FoliageType = InFoliageType.Get();
if (FoliageType)
{
FoliageType->HiddenEditorViews^= (1ull << LevelViewportClient->ViewIndex);
// Notify UFoliageType that things have changed
FoliageType->OnHiddenEditorViewMaskChanged(GetWorld());
// Make sure to redraw viewport when user toggles foliage
LevelViewportClient->Invalidate();
}
}
void SLevelViewport::ToggleAllFoliageTypes(bool bVisible)
{
UWorld* CurrentWorld = GetWorld();
TArray<UFoliageType*> AllFoliageTypes = GEditor->GetFoliageTypesInWorld(CurrentWorld);
if (AllFoliageTypes.Num())
{
const uint64 ViewMask = (1ull << LevelViewportClient->ViewIndex);
for (UFoliageType* FoliageType : AllFoliageTypes)
{
if (bVisible)
{
FoliageType->HiddenEditorViews&= ~ViewMask;
}
else
{
FoliageType->HiddenEditorViews|= ViewMask;
}
FoliageType->OnHiddenEditorViewMaskChanged(CurrentWorld);
}
// Make sure to redraw viewport when user toggles meshes
LevelViewportClient->Invalidate();
}
}
bool SLevelViewport::IsFoliageTypeVisible(TWeakObjectPtr<UFoliageType> InFoliageType) const
{
const UFoliageType* FoliageType = InFoliageType.Get();
if (FoliageType)
{
return (FoliageType->HiddenEditorViews & (1ull << LevelViewportClient->ViewIndex)) == 0;
}
return false;
}
FViewport* SLevelViewport::GetActiveViewport()
{
return ActiveViewport->GetViewport();
}
void SLevelViewport::OnFocusViewportToSelection()
{
GUnrealEd->Exec( GetWorld(), TEXT("CAMERA ALIGN ACTIVEVIEWPORTONLY") );
}
/** Called when the user selects show or hide all from the sprite sub-menu. **/
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
void SLevelViewport::OnToggleAllSpriteCategories( bool bVisible )
{
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
LevelViewportClient->SetAllSpriteCategoryVisibility( bVisible );
LevelViewportClient->Invalidate();
}
/** Called when the user toggles a category from the sprite sub-menu. **/
void SLevelViewport::ToggleSpriteCategory( int32 CategoryID )
{
LevelViewportClient->SetSpriteCategoryVisibility( CategoryID, !LevelViewportClient->GetSpriteCategoryVisibility( CategoryID ) );
LevelViewportClient->Invalidate();
}
/** Called to determine if a category from the sprite sub-menu is visible. **/
bool SLevelViewport::IsSpriteCategoryVisible( int32 CategoryID ) const
{
return LevelViewportClient->GetSpriteCategoryVisibility( CategoryID );
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
void SLevelViewport::OnToggleAllStatCommands( bool bVisible )
{
check(bVisible == 0);
// If it's in the array, it's visible so just toggle it again
const TArray<FString>* EnabledStats = LevelViewportClient->GetEnabledStats();
check(EnabledStats);
while (EnabledStats->Num() > 0)
{
const FString& CommandName = EnabledStats->Last();
ToggleStatCommand(CommandName);
}
}
void SLevelViewport::OnUseDefaultShowFlags(bool bUseSavedDefaults)
{
// cache off the current viewmode as it gets trashed when applying FEngineShowFlags()
const EViewModeIndex CachedViewMode = LevelViewportClient->GetViewMode();
// Setting show flags to the defaults should not stomp on the current viewmode settings.
LevelViewportClient->SetGameView(false);
// Get default save flags
FEngineShowFlags EditorShowFlags(ESFIM_Editor);
FEngineShowFlags GameShowFlags(ESFIM_Game);
if (bUseSavedDefaults && !ConfigKey.IsEmpty())
{
FLevelEditorViewportInstanceSettings ViewportInstanceSettings;
ViewportInstanceSettings.ViewportType = LevelViewportClient->ViewportType;
// Get saved defaults if specified
const FLevelEditorViewportInstanceSettings* const ViewportInstanceSettingsPtr = GetDefault<ULevelEditorViewportSettings>()->GetViewportInstanceSettings(ConfigKey);
ViewportInstanceSettings = ViewportInstanceSettingsPtr ? *ViewportInstanceSettingsPtr : LoadLegacyConfigFromIni(ConfigKey, ViewportInstanceSettings);
if (!ViewportInstanceSettings.EditorShowFlagsString.IsEmpty())
{
EditorShowFlags.SetFromString(*ViewportInstanceSettings.EditorShowFlagsString);
}
if (!ViewportInstanceSettings.GameShowFlagsString.IsEmpty())
{
GameShowFlags.SetFromString(*ViewportInstanceSettings.GameShowFlagsString);
}
}
// this trashes the current viewmode!
LevelViewportClient->EngineShowFlags = EditorShowFlags;
// Restore the state of SelectionOutline based on user settings
LevelViewportClient->EngineShowFlags.SetSelectionOutline(GetDefault<ULevelEditorViewportSettings>()->bUseSelectionOutline);
LevelViewportClient->LastEngineShowFlags = GameShowFlags;
// re-apply the cached viewmode, as it was trashed with FEngineShowFlags()
ApplyViewMode(CachedViewMode, LevelViewportClient->IsPerspective(), LevelViewportClient->EngineShowFlags);
ApplyViewMode(CachedViewMode, LevelViewportClient->IsPerspective(), LevelViewportClient->LastEngineShowFlags);
// set volume / layer / sprite visibility defaults
if (!bUseSavedDefaults)
{
LevelViewportClient->InitializeVisibilityFlags();
GUnrealEd->UpdateVolumeActorVisibility(NULL, LevelViewportClient.Get());
GEditor->Layers->UpdatePerViewVisibility(LevelViewportClient.Get());
}
LevelViewportClient->Invalidate();
}
void SLevelViewport::SetKeyboardFocusToThisViewport()
{
if( ensure( ViewportWidget.IsValid() ) )
{
// Set keyboard focus directly
FSlateApplication::Get().SetKeyboardFocus( ViewportWidget.ToSharedRef() );
}
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3077573 on 2016/08/04 by Nick.Darnell Removing some unused code, adding additional needed modules to editor tests. #rb none Change 3077580 on 2016/08/04 by Nick.Darnell Removing the test plugins, going to be recreating them in EngineTest. Change 3082659 on 2016/08/09 by Nick.Darnell Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them. #rb none Change 3082766 on 2016/08/09 by Jamie.Dale Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32. #jira UE-33971 #rb James.Hopkin Change 3083067 on 2016/08/09 by Nick.Darnell Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is. #rb none Change 3084475 on 2016/08/10 by Richard.TalbotWatkin Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server #codereview Matt.Kuhlenschmidt #rb none Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt Added grayscale texture importing support #rb none Change 3084774 on 2016/08/10 by Cody.Albert Adding controller support for ComboBox widget #jira UE-33826 #rb nick.darnell Change 3085716 on 2016/08/11 by Nick.Darnell UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with. #rb none Change 3085733 on 2016/08/11 by Nick.Darnell UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable. #rb none Change 3085734 on 2016/08/11 by Nick.Darnell Texture - Making GetDefaultMipMapBias a bit more efficent in the common case. #rb none Change 3085736 on 2016/08/11 by Nick.Darnell Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings. #rb none Change 3085737 on 2016/08/11 by Nick.Darnell Editor - code organization. #rb none Change 3085875 on 2016/08/11 by Nick.Darnell UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer. #rb none Change 3086209 on 2016/08/11 by Ben.Salem Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format. #rb adric.worley, william.ewen Change 3086515 on 2016/08/11 by Nick.Darnell Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case. #rb Matt.Kuhlenschmidt Change 3087216 on 2016/08/12 by Jamie.Dale Fixed an issue where re-scanning a package file may leave old assets in the asset registry We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package. This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work). #rb Andrew.Rodham Change 3087219 on 2016/08/12 by Jamie.Dale Updated TextRenderComponent to support multiple font pages It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page). #rb Matt.Kuhlenschmidt Change 3087308 on 2016/08/12 by Alex.Delesky #jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added. #rb Matt.Kuhlenschmidt Change 3089140 on 2016/08/15 by Jamie.Dale We now abort a directory watch if we lose access to the directory in question This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted. #jira UE-30172 #rb Andrew.Rodham Change 3089148 on 2016/08/15 by Alexis.Matte Allow fbx export of any actor type. #rb none #codereview dmitriy.dyomin Change 3089211 on 2016/08/15 by Jamie.Dale Unified access to the parent window for external dialogs A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible. You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window. #rb Andrew.Rodham Change 3089640 on 2016/08/15 by Jamie.Dale Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc #rb none Change 3089661 on 2016/08/15 by Nick.Darnell Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see. #rb none Change 3089667 on 2016/08/15 by Cody.Albert Updating RoutePointerUpEvent to call OnDrop for touch events when dragging #jira UE-34709 #rb nick.darnell Change 3089694 on 2016/08/15 by Jamie.Dale Applied a fix to the ExcludeClasses setting in the loc gather #rb none Change 3089889 on 2016/08/15 by Nick.Darnell Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities. #rb none Change 3090256 on 2016/08/16 by Nick.Darnell Automation - working on screenshots. #rb none Change 3090322 on 2016/08/16 by Nick.Darnell Automation - Adding modified screenshot function. #rb none Change 3090335 on 2016/08/16 by Nick.Darnell Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins. #rb none Change 3090881 on 2016/08/16 by Nick.Darnell Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected. #rb none Change 3090884 on 2016/08/16 by Nick.Darnell Plugins - There's now support for generating a Content Only plugin from the new plugin wizard. #rb none Change 3090911 on 2016/08/16 by Nick.Darnell Feature Packs - If there's an error loading a manifest, it's now an error, not a warning. #rb none Change 3090913 on 2016/08/16 by Jamie.Dale Optimization and usability improvements of the MemoryProfiler2 tool - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views. - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds. - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds. - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds. - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks). #jira UETOOL-948 #jira UETOOL-949 #rb James.Hopkin Change 3090962 on 2016/08/16 by Jamie.Dale Fixed double assignment of filter functions #rb none Change 3090989 on 2016/08/16 by Nick.Darnell Editor - Attempting to fix the build, non-unity issue I suspect. #rb none Change 3091754 on 2016/08/17 by Nick.Darnell FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc. #rb none #codereview Alexis.Matte Change 3091758 on 2016/08/17 by Nick.Darnell Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens. #rb none #codereview Nick.Atamas,Matt.Kuhlenschmidt Change 3091829 on 2016/08/17 by Nick.Darnell Build - Attempting to repair the build. #rb none Change 3091920 on 2016/08/17 by Nick.Darnell Build - Another attempt at fixing the mac build. #rb none Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying #rb none Change 3094474 on 2016/08/19 by Jamie.Dale Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled #jira UETOOL-951 #rb James.Hopkin Change 3094581 on 2016/08/19 by Jamie.Dale Added missing allocator filter needed by PS4 profiles #rb none Change 3094681 on 2016/08/19 by Richard.TalbotWatkin Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer. #jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation #rb none Change 3095163 on 2016/08/19 by Trung.Le #jira UE-20849: Added tooltips to the inputs of the Material final result node #rb matt.kuhlenschmidt Change 3095285 on 2016/08/19 by Trung.Le #jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member #rb none Change 3095344 on 2016/08/19 by Alexis.Matte #jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine. Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter). #rb none #codereview matt.kuhlenschmidt Change 3096162 on 2016/08/22 by Alexis.Matte #jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu. #rb none #codereview matt.kuhlenschmidt Change 3096261 on 2016/08/22 by Alexis.Matte #jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process. #rb lina.halper #codereview lina.halper Change 3096344 on 2016/08/22 by Jamie.Dale NSString conversion fix for UTF-32 strings containing characters outside of the BMP #jira UE-33971 #rb Peter.Sauerbrei, James.Hopkin Change 3096605 on 2016/08/22 by Alex.Delesky #jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any. #rb Matt.Kuhlenschmidt Change 3096615 on 2016/08/22 by Alex.Delesky #jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin. #rb Matt.Kuhlenschmidt Change 3096619 on 2016/08/22 by Alex.Delesky #jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel. #rb Matt.Kuhlenschmidt Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt PR #2729: Fix a typo in the comment (Contributed by adcentury) #rb none Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt PR #2726: Undef unused macros (Contributed by shrimpy56) #rb none Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt Guard against crash when details panels rebuild when their customizations have been torn down https://jira.ol.epicgames.net/browse/UE-35048 #rb none Change 3097757 on 2016/08/23 by Alex.Delesky #jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap #rb Matt.Kuhlenschmidt Change 3098164 on 2016/08/23 by Alexis.Matte #jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation. #rb none #codereview matt.kuhlenschmidt Change 3098502 on 2016/08/23 by Alexis.Matte #jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true #rb none #codereview matt.kuhlenschmidt Change 3099986 on 2016/08/24 by Jamie.Dale Fixing non-editor builds #rb none Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc) #rb none Change 3101280 on 2016/08/25 by Jamie.Dale Fixed crash when counting memory over internationalization meta-data - The serialization code only used to handle loading or saving, now it handles loading or not loading. - The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override. #rb James.Hopkin Change 3101283 on 2016/08/25 by Jamie.Dale MProf2 platform and symbol parsing improvements - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks). - Added a PS4 symbol parser which handles performing full file/line resolution for symbols. - Removed all the V3 file format support and legacy platform handling. - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup. #rb James.Hopkin Change 3101586 on 2016/08/25 by Jamie.Dale Small code cleanup and path normalization #rb James.Hopkin Change 3101837 on 2016/08/25 by Alexis.Matte #jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations #rb none #codereview matt.kuhlenschmidt Change 3102537 on 2016/08/26 by Jamie.Dale Fix for potential crash in FICUCamelCaseBreakIterator In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is. #rb James.Hopkin Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt Log the freetype version when it starts up (for debugging purposes) #rb none Change 3102657 on 2016/08/26 by Alexis.Matte #jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader. #review-3101585 @uriel.doyon #rb matt.kuhlenschmidt Change 3102704 on 2016/08/26 by Jamie.Dale Added symbol meta-data support to MProf2 You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file. PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user. #rb James.Hopkin Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt Added support for outline fonts - An outline size (in slate units), optional material and optional fill color can be specified with each font info. - Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines - Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas #rb jamie.dale Change 3102879 on 2016/08/26 by Jamie.Dale Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files #rb none Change 3102960 on 2016/08/26 by Alexis.Matte build fix #rb none Change 3103032 on 2016/08/26 by Jamie.Dale Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting #jira UE-34936 #rb Matt.Kuhlenschmidt Change 3103278 on 2016/08/26 by Jamie.Dale Fixing Clang warnings #rb none Change 3104211 on 2016/08/29 by Ben.Marsh Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them. #rb none Change 3104290 on 2016/08/29 by Alex.Delesky Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with. #rb Matt.Kuhlenschmidt Change 3104292 on 2016/08/29 by Alex.Delesky #jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac. #rb Matt.Kuhlenschmidt Change 3104294 on 2016/08/29 by Alex.Delesky #jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget #rb Matt.Kuhlenschmidt Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx) #rb none Change 3104296 on 2016/08/29 by Alex.Delesky #jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero. #rb Matt.Kuhlenschmidt Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out. #rb none Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it. #rb none #jira UE-31865 Change 3104396 on 2016/08/29 by Ben.Marsh Fix incrorrect agent names for running automated tests Change 3104610 on 2016/08/29 by Alex.Delesky Fix for AutomationTool compile editor from changes introduced today. #rb None Change 3104611 on 2016/08/29 by Michael.Dupuis #jira UETOOL-253 #rb Alexis.Matte Change 3105826 on 2016/08/30 by Gareth.Martin Added console variables to discard grass and/or scalable foliage data on load #jira UE-35086 #rb Benn Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt Eliminated bad code duplication between retainer widgets and element batcher #rb none #codereview nick.darnell Change 3106449 on 2016/08/30 by Michael.Dupuis #jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu) #rb Alexis.Matte Change 3106966 on 2016/08/30 by Jamie.Dale Fixed FApp::IsAuthorizedUser not considering the SessionOwner override #rb Max.Preussner Change 3107687 on 2016/08/31 by Michael.Dupuis Checkout/Make Writable on proper config file #rb Matt Kuhlenschmidt Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt Fixed mode typos in the lerp instruction #rb none Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt Logging and guard against UEditorEngine::TeardownPlaySession crash. #rb none https://jira.ol.epicgames.net/browse/UE-35325 Change 3107912 on 2016/08/31 by Alex.Delesky #jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations. #rb Matt.Kuhlenschmidt Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file. #rb none Change 3108027 on 2016/08/31 by Chris.Wood Re-added lost doc comment for analytics event "Engine.AbnormalShutdown". #rb none - just a comment in a cpp file #codereview wes.hunt Change 3108580 on 2016/08/31 by Mike.Fricker Deleted the "Live Editor" plugins from UE4 - These were undocumented, buggy and never finished, and we have no plans to complete them - Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files #codereview matt.kuhlenschmidt #rb matt.kuhlenschmidt Change 3108604 on 2016/08/31 by Mike.Fricker Added new "MIDI Device" plugin (disabled by default) - This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer - Currently only input is supported. In the future we might allow for output, as well. - In Blueprints, here's how to use it: - Look for "MIDI Device Manager" in the Blueprint RMB menu - Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available. - Then call "Create MIDI Device Controller" for the device you want. Store that in a variable. - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive. - Process the data passed into the Event to make your project do stuff! - This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin) #codereview matt.kuhlenschmidt #rb none Change 3108760 on 2016/08/31 by Alexis.Matte #jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false. #rb none #codereview matt.kuhlenschmidt Change 3109006 on 2016/08/31 by Alex.Delesky #ignore Source Control rename test - initial commit Change 3109044 on 2016/08/31 by Alex.Delesky #ignore Testing asset rename from P4 to observe correct behavior. #rb none Change 3109048 on 2016/08/31 by Alex.Delesky #ignore Testing P4 rename to identify correct behavior #rb none Change 3110044 on 2016/09/01 by Gareth.Martin Fixed painting foliage on blocking "query" actors not working #jira UE-33852 #rb Allan.Bentham Change 3110133 on 2016/09/01 by Alexis.Matte Fix crash in function GetForceRecompileTextureIdsHash #rb none #codereview jamie.dale Change 3111848 on 2016/09/02 by Mike.Fricker MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux) - Fixed bad enum cast #rb none Change 3111995 on 2016/09/02 by Michael.Dupuis #jira UE-35263 Do not try selecting the actor if the actor is in the blueprint Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process #rb Alexis Matte Change 3112280 on 2016/09/02 by Michael.Dupuis Call MakeWritable if source control fail #rb Alexis Matte Change 3112335 on 2016/09/02 by Cody.Albert Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode #jira UE-35306 #rb none Change 3112478 on 2016/09/02 by Alexis.Matte #jira UE-20059 Use a base material to import fbx material. #rb uriel.doyon #codereview matt.kuhlenschmidt #1468 Github pull request number Change 3113912 on 2016/09/06 by Michael.Dupuis #jira UE-32288 Fixed Console params display #rb Alexis Matte Change 3114026 on 2016/09/06 by Alex.Delesky #jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again. #rb Matt.Kuhlenschmidt Change 3114032 on 2016/09/06 by Alex.Delesky PR #2733: Improved the project launcher progress page (Contributed by projectgheist) #jira UE-34027 #rb Matt.Kuhlenschmidt Change 3114034 on 2016/09/06 by Alex.Delesky #jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable #rb Matt.Kuhlenschmidt Change 3114071 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114109 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114562 on 2016/09/06 by Nick.Darnell Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue. #rb none Change 3114701 on 2016/09/06 by Michael.Dupuis #jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView #rb Alexis Matte Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt Prevent non-thread safe slate code from running on the slate loading thread #rb none Change 3115698 on 2016/09/07 by Nick.Darnell Make sure the commands are available - during functional testing that was found to not always be the case. #rb none Change 3115719 on 2016/09/07 by Nick.Darnell Adding an IsRegistered command to commands. #rb none Change 3115721 on 2016/09/07 by Nick.Darnell Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly. #rb none Change 3115722 on 2016/09/07 by Nick.Darnell IsBindWidgetProperty now returns false if the property passed in is null. #rb none Change 3115734 on 2016/09/07 by Alexis.Matte #jira UE-30166 Support fbx sdk 2017 #rb none Change 3115737 on 2016/09/07 by Nick.Darnell Adding an image comparer for screenshots. Removing some content from EngineTest. #rb none Change 3115743 on 2016/09/07 by Nick.Darnell Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing! #rb none Change 3115748 on 2016/09/07 by Nick.Darnell Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds. #rb none Change 3115789 on 2016/09/07 by Jamie.Dale We now favor Traditional Chinese for Hong Kong and Macau #rb James.Hopkin Change 3115799 on 2016/09/07 by Jamie.Dale Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped #rb James.Hopkin Change 3115826 on 2016/09/07 by Nick.Darnell Adding missing files. #rb none Change 3115838 on 2016/09/07 by Nick.Darnell Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h #rb none Change 3116007 on 2016/09/07 by Alexis.Matte build fix #rb none Change 3116057 on 2016/09/07 by Jamie.Dale Fixed widget snapshot messages so they appear in the message debugger #rb none Change 3116112 on 2016/09/07 by Nick.Darnell Removing the FbxAutomationBuilder file that go recreated on a merge from main. #rb none Change 3116365 on 2016/09/07 by Michael.Dupuis #jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work. #codereview Matt.Kuhlenschmidt #rb Alexis.Matte Change 3116622 on 2016/09/07 by Alexis.Matte #jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name. #rb matt.kuhlenschmidt Change 3116638 on 2016/09/07 by Jamie.Dale Ensured that manifests and archives don't try and load data that they can't parse #rb none Change 3117397 on 2016/09/08 by Gareth.Martin Added rotate and blend support to the landscape mirror tool #jira UE-34829 #rb Jack.Porter Change 3117459 on 2016/09/08 by Gareth.Martin Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1) #jira UE-35301 #rb Jack.Porter Change 3117462 on 2016/09/08 by Gareth.Martin Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1) #jira UE-35494 #rb Benn.Gallagher Change 3117583 on 2016/09/08 by Nick.Darnell Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots. #rb none Change 3117595 on 2016/09/08 by Nick.Darnell Updating the build script for AutomatedTests, going to see if this works! #rb none Change 3117808 on 2016/09/08 by Nick.Darnell Adding header includes for async. #rb none Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt Partially taken from Pr 2381 Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem. #rb none Change 3117851 on 2016/09/08 by Jamie.Dale Silenced some redundant P4 errors that could be generated when running a stat update on a file Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command. #rb Ben.Marsh #codereview Thomas.Sarkanen Change 3117853 on 2016/09/08 by Gareth.Martin Clean up landscape includes and PCH #rb steve.robb Change 3117859 on 2016/09/08 by Alex.Delesky #jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse. #rb Nick.Darnell Change 3117997 on 2016/09/08 by Nick.Darnell Updating the automation tests build script to use Editor-Cmd #rb none Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt Properly reference graph node on material expressions so they are not GC'd while an expression still uses them #jira UE-35362 #rb none Change 3118043 on 2016/09/08 by Alex.Delesky #jira UE-30649 - Removed unnecessary returns from UWidget API. PR #2377: fix widget bug. (Contributed by dorgonman) #rb none Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt Guard against crash saving config during level editor shutdown #rb none #jira UE-35605 Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist) #rb none Change 3118078 on 2016/09/08 by Michael.Dupuis #jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified #rb Alexis.Matte Change 3118080 on 2016/09/08 by Michael.Dupuis #jira UE-31131 Do not show a contextual menu if the menu is empty #rb Alexis.Matte Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt Constify this method #rb none Change 3118166 on 2016/09/08 by Nick.Darnell Trying additional command options for the build machine for automation. #rb none Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt Fix actor delete during mesh paint not working during undo #rb none #jira UE-35684 Change 3118298 on 2016/09/08 by Alexis.Matte #jira UE-35302 Export all LODs for static mesh when there is no force LOD #rb uriel.doyon Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt Fixed reset to default not appearing for slate brushes #rb none #jira UE-34958 Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt Guard against crash with an invalid world trying to be opened from the content browser #rb none https://jira.ol.epicgames.net/browse/UE-35712 Change 3119433 on 2016/09/09 by Nick.Darnell Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around. #rb Matt.Kuklenschmidt #jira UE-35789 Change 3119448 on 2016/09/09 by Alex.Delesky When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface. #rb Nick.Darnell Change 3119522 on 2016/09/09 by Jamie.Dale Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true #rb Matt.Kuhlenschmidt Change 3119528 on 2016/09/09 by Jamie.Dale Some UI re-work to the localization dashboard This makes a better use of the available space, and will make it easier to make some other planned changes in the future. #rb James.Hopkin Change 3119861 on 2016/09/09 by Michael.Dupuis #jira UE-9284 Added the Play/Stop button on the thumbnail #rb Alexis.Matte Change 3120027 on 2016/09/09 by Alexis.Matte incorporate some fixes from licensee for LOD group re-import workflow #jira UE-32268 #rb uriel.doyon #codereview matt.kuhlenschmidt Change 3120845 on 2016/09/12 by Gareth.Martin Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1) #jira UE-35850 #rb Allan.Bentham Change 3120980 on 2016/09/12 by Nick.Darnell Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager. #rb none Change 3120992 on 2016/09/12 by Alex.Delesky #jira UE-35575 - TScriptInterface UProperties now have asset picker support. #rb Matt.Kuhlenschmidt Change 3121074 on 2016/09/12 by Michael.Dupuis #jira UE-30092 Added path length in error message when typing Added display of current filepath lenght for cooking #rb Alexis.Matte Change 3121113 on 2016/09/12 by Nick.Darnell Adding some placeholder examples to show people how to author tests in EngineTest. #rb none Change 3121152 on 2016/09/12 by Gareth.Martin Added TElementType, TIsContiguousContainer traits Added GetData(), GetNum() generic functions #rb Steve.Robb Change 3121702 on 2016/09/12 by Jamie.Dale Optimized a loop over a sorted list to instead use a binary search This speeds up the short-lived allocation view generation. We also now dump the exception information to the Trace log when in a non-debug build. #rb James.Hopkin Change 3121721 on 2016/09/12 by Jamie.Dale We now set the window mode first when resizing the game viewport to ensure that the work area is correct Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode. #jira UE-32842 #rb Matt.Kuhlenschmidt Change 3122578 on 2016/09/13 by Jamie.Dale Small code clean up Removed a use of the placement new style array addition. #rb none Change 3122634 on 2016/09/13 by Jamie.Dale We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick #jira UE-34865 #rb James.Hopkin Change 3122656 on 2016/09/13 by Jamie.Dale Fixed array combo button not focusing its contents, which prevented the menu closing correctly #jira UE-33667 #rb none Change 3122661 on 2016/09/13 by Nick.Darnell Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs. #rb none Change 3122678 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before USTRUCT can be used. #rb none Change 3122686 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before UCLASS can be used. #rb none Change 3122728 on 2016/09/13 by Nick.Darnell UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. #jira UE-35167 #rb none Change 3122775 on 2016/09/13 by Nick.Darnell Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH. #rb none Change 3122779 on 2016/09/13 by Nick.Darnell Widgetnimation - Exposing more of the class to C++. #rb none Change 3122793 on 2016/09/13 by Nick.Darnell Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance. #jira UE-35796 #rb none Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt Fixed crash undoing moves after bsp creation https://jira.ol.epicgames.net/browse/UE-35880 #rb none Change 3122835 on 2016/09/13 by Nick.Darnell Reverting changes to WIdgetAnimation #rb none Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt Fixed non-editor compile error #rb none Change 3122988 on 2016/09/13 by Alexis.Matte Material workflow refactor #jira UETOOL-774 #rb matt.kuhlenschmidt Change 3123006 on 2016/09/13 by Jamie.Dale Fixed dynamic collections not returning anything #jira UE-35869 #rb James.Hopkin Change 3123145 on 2016/09/13 by Alexis.Matte Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build. #jira UE-32268 #rb none #codereview matt.kuhlenschmidt Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt Fix fortnite compile error #rb alexis.matte Change 3123208 on 2016/09/13 by Jamie.Dale The 'find culprit' dialog now honors the user choice #rb RichTW Change 3123545 on 2016/09/13 by Nick.Darnell Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows. #rb none Change 3124494 on 2016/09/14 by Jamie.Dale Added ~ to the list of invalid characters for object/package names #jira UE-12908 #rb Matt.Kuhlenschmidt Change 3124513 on 2016/09/14 by Gareth.Martin Implemented filter to allow painting foliage on other foliage - Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes #rb Allan.Bentham #2472 Change 3124523 on 2016/09/14 by Jamie.Dale PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster) #jira UE-34811 #jira UE-32082 #rb none Change 3124607 on 2016/09/14 by Nick.Darnell UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function. #jira UE-35667 #rb none Change 3124785 on 2016/09/14 by Gareth.Martin Made some foliage functions editor-only to fix non-editor build #rb none Change 3124795 on 2016/09/14 by Gareth.Martin Saved/loaded the new foliage filter #rb Allan.Bentham #2472 Change 3124915 on 2016/09/14 by Michael.Dupuis #jira UE-19511 Add support for Add to source control on DefaultEditorPerProjectUserSettings file Remove CheckoutNotice when not editing a DefaultXXXX.ini file Edit proper config file either we're modifying settings from a Default file or Local user file #codereview Matt.Kuhlenschmidt Max.Preussner #rb Alexis.Matte Change 3125266 on 2016/09/14 by Jamie.Dale Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong #rb none Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt Fix crash when using SaveAs to save over top of an existing level #rb none https://jira.ol.epicgames.net/browse/UE-35919 https://jira.ol.epicgames.net/browse/UE-35921 Change 3125487 on 2016/09/14 by Alexis.Matte Fix cook content, regression induce by the material workflow refactor #rb matt.kuhlenschmidt Change 3126217 on 2016/09/15 by Gareth.Martin Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances #rb Allan.Bentham Change 3126311 on 2016/09/15 by Jamie.Dale Placement mode fixes - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const. - Ensured that the ID used by FPlaceableItem could never overflow. - Fixed some types being missing from the "All Classes" list. - Fixed the escape key not cancelling the search. #jira UE-35972 #rb James.Hopkin Change 3126325 on 2016/09/15 by Jamie.Dale Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added. #rb Andrew.Rodham Change 3126403 on 2016/09/15 by Gareth.Martin Added Find and Contains functions to TBitArray #rb Steve.Robb Change 3126405 on 2016/09/15 by Gareth.Martin Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor - Just like regular instanced mesh components! Also fixed not being able to move instances of an instanced mesh component when it is the root component Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished) #jira UE-29357 #rb Allan.Bentham Change 3126444 on 2016/09/15 by Jamie.Dale Fixed the loc dashboard configs not working with SCC This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul. #rb none Change 3126446 on 2016/09/15 by Jamie.Dale Fixed loc dashboard game and engine targets sharing the same expansion settting #rb none Change 3126555 on 2016/09/15 by Chris.Wood Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path. [UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows #rb Steve.Robb Change 3126586 on 2016/09/15 by Gareth.Martin Fixed missing landscape components when using a LODBias (cloned from 4.13.1) #jira UE-35873 #rb Jack.Porter Change 3126610 on 2016/09/15 by Jamie.Dale Stopped PS4 from always staging all ICU data files #rb Marcus.Wassmer Change 3126779 on 2016/09/15 by Michael.Dupuis #jira UE-32914 Improve the help text to provide usage examples and params #rb Alexis.Matte Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt Fix font material and outline font material not being animatable in sequencer #rb frank.fella Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt File not saved #rb none Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt Fixed reset to default state still not appearing in all cases after changing a property. #rb none Change 3127038 on 2016/09/15 by Nick.Darnell UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable. #rb none Change 3127061 on 2016/09/15 by Nick.Darnell Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children. #jira UE-35726 #rb Matt.Kuchlenschmidt Change 3127205 on 2016/09/15 by Alex.Delesky #jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency. #rb Nick.Darnell Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt Fix crash in scene outliner if actors become invalid #rb none https://jira.ol.epicgames.net/browse/UE-35932 Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt Added guards for crashes accessing slate resources for deleted uobjects #rb nick.darnell Change 3128067 on 2016/09/16 by Michael.Dupuis #jira UE-34158 Add an option to auto expand advanced details #rb Alexis.Matte Change 3128073 on 2016/09/16 by Michael.Dupuis #jira UE-1145 Set Save As to Ctrl + Alt + S Set Save All to Ctrl + Shift + S Set Save Current to Ctrl + S #rb Alexis.Matte Change 3128117 on 2016/09/16 by Jamie.Dale Updated the pin-type filter combo to filter on both the localized and source type descriptions #jira UE-36081 #rb none Change 3128177 on 2016/09/16 by Alexis.Matte #jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value. #rb michael.dupuis #codereview matt.kuhlenschmidt Change 3128387 on 2016/09/16 by Gareth.Martin Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes #jira UE-36093 #rb none Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt Guard against scene outliner crash. Print out tree when items appear twice. https://jira.ol.epicgames.net/browse/UE-35935 #rb none Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget #rb none Change 3128482 on 2016/09/16 by Michael.Dupuis Added new key binding for generic Save, Save As Added new key binding for Save All for the content browser #rb Alexis.Matte (approved by MattK) Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt Fix build warning #codereview nick.darnell #rb none Change 3128642 on 2016/09/16 by Alexis.Matte #jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear #rb none #codereview matt.kuhlenschmidt Change 3128733 on 2016/09/16 by Nick.Darnell UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly. #jira UE-36105 #rb none Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor #rb none Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt Fix offset characters on some small fonts #rb none Change 3130057 on 2016/09/19 by Jamie.Dale Fixing volatility and invalidation issues for text widgets #jira UE-33988 #rb Nick.Darnell Change 3130064 on 2016/09/19 by Jamie.Dale Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly #rb James.Hopkin Change 3130233 on 2016/09/19 by Michael.Dupuis #jira UE-32914 Added missing args that the UI supported #rb Alexis.Matte Change 3130265 on 2016/09/19 by Nick.Darnell Automation - Cleaning up some API items. #rb none Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt Fix reentrancy saving assets while a prompt for checkout dialog is open #rb none Change 3130398 on 2016/09/19 by Jamie.Dale Fixing UHT error when building #rb none Change 3132101 on 2016/09/20 by Nick.Darnell UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals. #rb none Change 3132110 on 2016/09/20 by Nick.Darnell PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist) #jira UE-13770 #rb Nick.Darnell Change 3132111 on 2016/09/20 by Nick.Darnell UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly. #rb none Change 3132138 on 2016/09/20 by Michael.Dupuis #jira UE-30945 Added missing PostEditComponentMove after drag is finished #rb Alexis.Matte Change 3132147 on 2016/09/20 by Michael.Dupuis #jira UE-30866 Fixed the filter to work properly #rb Alexis.Matte Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt Fix static analysis warnings in this file #rb none Change 3132231 on 2016/09/20 by Nick.Darnell Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected. #jira UE-33285 #rb none Change 3132255 on 2016/09/20 by Alex.Delesky #jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container. #rb Matt.Kuhlenschmidt Change 3132587 on 2016/09/20 by Mike.Fricker MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604) #rb none #lockdown matt.kuhlenschmidt Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt Fix crash opening the cooker settings https://jira.it.epicgames.net/browse/UE-36197 #rb none #lockdown nick.darnell Change 3133144 on 2016/09/20 by Nick.Darnell Build configuration for automation tests. #rb none #lockdown matt.kuhlenschmidt Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt Fix default material on odin text #rb none #lockdown nick.darnell Change 3133913 on 2016/09/21 by Nick.Darnell Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp #rb none #jira UE-36231 #lockdown matt.kuhlenschmidt [CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
void SLevelViewport::SaveConfig(const FString& ConfigName) const
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3379190) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3342222 on 2017/03/10 by Nick.Darnell UMG - Adding a GetContent to the UContentWidget. Change 3342228 on 2017/03/10 by Nick.Darnell Project Launcher - Always consume mouse wheel vertically so it stops scrolling to the right. Change 3342310 on 2017/03/10 by Nick.Darnell UMG - Cleaning up some extra class references. Change 3343382 on 2017/03/13 by Jamie.Dale Applying optimization to FChunkManifestGenerator::ContainsMap Change 3343523 on 2017/03/13 by Mike.Fricker New details view option: "Show Hidden Properties while Playing" - Enabling this allows you to see every property on selected objects that belong to a simulating world, even non-visible and non-editable properties. Very useful for inspection and debugging. - Remember to change World Outliner to show you actors in the "Play World" if you want to select and inspect those objects first! - This setting is saved for your entire project, similar to "Show All Advanced" Change 3343573 on 2017/03/13 by Mike.Fricker New details view option: "Show Hidden Properties while Playing" (part 2) - Fixed missing include / unity issue Change 3343709 on 2017/03/13 by Jamie.Dale Some fixes for gathering cached dependency data - We no longer load dependency data that doesn't have the correct package name. - We no longer populate the dependency results when bGatherDependsData is false. Change 3343900 on 2017/03/13 by Alexis.Matte fix crash when creating too much LOD at import #jira UE-42785 Change 3344104 on 2017/03/13 by Alexis.Matte Add a boolean to the static mesh socket so we know if the socket was imported or created in UE4. This allow us to not impact editor socket when we re-import a fbx #jira UE-42736 Change 3344802 on 2017/03/14 by Michael.Dupuis #jira UE-42244 : added missing nullptr so render thread wont try to access global var when we're no longer in landscape mode Changed the sync method between graphic resource from render thread and game thread to prevent desync Change 3346061 on 2017/03/14 by Jamie.Dale Adding const& and && overloads of FText::Format Change 3346192 on 2017/03/14 by Arciel.Rekman Linux: fix VHACD to retain bincompat with the baseline (UE-42895). - It is now compiled against libc++ instead of libstdc++ in the toolchain. Change 3347083 on 2017/03/15 by Andrew.Rodham Fixed crash when changing anchors on a background blur widget Change 3347359 on 2017/03/15 by Michael.Dupuis #jira UE-38193: Added Rename, Delete, New Folder, Size Map, Show In Explorer for folder and asset in the path view and asset view Change 3347382 on 2017/03/15 by Michael.Dupuis missing include incremental Change 3347500 on 2017/03/15 by Alex.Delesky #jira UE-41231 - Selecting multiple text widgets in UMG will now allow you to set their value correctly, and the "Multiple Values" text will no longer be set in the widgets instead. Change 3347920 on 2017/03/15 by Jamie.Dale Fixing some places passing tooltips as FString rather than FText #jira UE-42603 Change 3347925 on 2017/03/15 by Jamie.Dale Re-saving some assets so their tooltips can be gathered #jira UE-42603 Change 3348788 on 2017/03/15 by Jamie.Dale Updated the Windows platform to use the newer Vista+ style browser dialogs, rather than the older XP style dialogs Change 3349187 on 2017/03/16 by Andrew.Rodham Sequencer: Added the ability to specify additional event receivers for level sequence actors - Such actors will receive events from event tracks Change 3349194 on 2017/03/16 by Andrew.Rodham Sequencer: Reset compiled templates on load in the editor, and ensure correct serialization of generation ledger - Resetting on load means that we guarantee up-to-date templates, even if underlying compilation logic changes. #jira UE-42198 #jira UE-40969 Change 3349210 on 2017/03/16 by Andrew.Rodham Sequencer: Event tracks can now be defined to trigger events at the start of evaluation, after objects are spawned, or at the end of evaluation Change 3349211 on 2017/03/16 by Andrew.Rodham Sequencer: Add ability to retrieve bound objects from blueprint Change 3349398 on 2017/03/16 by Nick.Darnell UMG - Fixing a flashing hierarchy view. Looks like assets continuing to stream in causing the object change notification to continue to fire, and the widget designer refreshed any time it happened. Now limit to only if widgets are changing. Change 3349420 on 2017/03/16 by Alex.Delesky #jira UE-40720 - Multiline editable text boxes can now be set to Read-Only. Change 3349548 on 2017/03/16 by Alexis.Matte Fbx importer, when importing a staticmesh with combine mesh option check and the fbx file contain some "MultiSub Material" the materialinstance are now always hook properly. Change 3349818 on 2017/03/16 by Cody.Albert Fixed constructor for FNavigationMetaData Change 3350047 on 2017/03/16 by Cody.Albert Removed unneeded check so that children actors are never orphaned when their parent is moved into a newly created folder in the world outliner Change 3350072 on 2017/03/16 by Arciel.Rekman ShaderCompiler: make sure strings are at least 4-byte aligned. - Can crash wcscpy() under Linux otherwise (reported by a licensee). Change 3350146 on 2017/03/16 by Arciel.Rekman Fix CodeLite project generation (UE-42921). - Reportedly causes a crash in CodeLite 10.x Change 3350235 on 2017/03/16 by Arciel.Rekman Fix memory leak in address symbolication on Linux. - Makes MallocProfiler work again. - Also add progress update in MallocProfiler since symbolication is still slow. Merging CL 3338764 from Fortnite to Dev-Editor. Change 3350382 on 2017/03/16 by Arciel.Rekman Linux: fix incorrect cast of rlimit in i686. Change 3350471 on 2017/03/16 by Jamie.Dale Enabling loc dashboard by default for new projects Change 3350516 on 2017/03/16 by Jamie.Dale Enabling content hot-reloading by default Change 3350582 on 2017/03/16 by Cody.Albert Corrected Widget Interaction Component to use current impact point instead of last impact point Change 3350945 on 2017/03/16 by Jamie.Dale Gave FConfigFile::FindOrAddSection API linkage Change 3351441 on 2017/03/17 by Michael.Dupuis #jira UE-42843: Fixed Transaction begin/end order issue happening with min slider passing max slider value Add support for multiple selection value display Change 3351558 on 2017/03/17 by Michael.Dupuis #jira UE-42845: Always refresh the detail panel to properly update for selection change, delete, etc. Change 3351657 on 2017/03/17 by Matt.Kuhlenschmidt Adding USD Third Party dependencies Change 3351665 on 2017/03/17 by Matt.Kuhlenschmidt Added experimental USD Importer Plugin This plugin supports basic static mesh importing and scene creation of actors using static meshes Change 3351682 on 2017/03/17 by Matt.Kuhlenschmidt Enabling USD importer in engine test project for automation tests Change 3351749 on 2017/03/17 by Alexis.Matte Make sure the selection proxy is off for the skeletal mesh component. UE4 use the selection outline instead #jira UE-41677 Change 3351831 on 2017/03/17 by Michael.Dupuis #jira UETOOL-1102: Added HSV controls to Color Grading Some look improvement for RGV/HSV Color Grading refactor Group Reset bug fix (relevant only to color grading) Change 3352041 on 2017/03/17 by Matt.Kuhlenschmidt Updated USD plugin whitelisting Change 3352093 on 2017/03/17 by Michael.Dupuis when FREEZERENDERING is called, stop the foliage culling too Change 3352211 on 2017/03/17 by Alexis.Matte Fix the physic asset missing skeleton warning #jira UE-43006 Change 3352336 on 2017/03/17 by Alexis.Matte We now allow a negative W value of the ScreenPoint vector in the ScreenToPixel function. In this case we simply reverse the W value to kept the manipulator direction on the good side. #jira UE-37458 Change 3352947 on 2017/03/17 by Phillip.Kavan #jira UE-42510 - Instanced static mesh transform edits are now reflected in the Blueprint editor's preview scene. Change summary: - Added IPropertyHandle::GetValueBaseAddress() (interface). - Modified IPropertyHandle::NotifyPostChange() to include EPropertyChangeType as an optional input. - Added FPropertyHandleBase::GetValueBaseAddress() (implementation). - Modified FPropertyHandleBase::NotifyPostChange() to include the optional input arg in the property change event. - Modified FPropertyHandleBase::CreatePropertyNameWidget() to clear the override text after temporarily replacing display name/tooltip text for the creation of the SPropertyNameWidget. This was done to allow for transactions to be named according to the property that's being modified. - Modified FMathStructProxyCustomization::OnValueCommitted() to only apply the input value while not interactively editing via spinbox as well as when not post-processing an undo/redo (which can trigger a focus loss). - Modified the FMathStructProxyCustomization::OnEndSliderMovement() delegate to include property handle and proxy value input parameters, as well as to call FlushValues() as part of the implementation. - Modified FlushValues() for each of FMatrixStructCustomization, FTransformStructCustomization and FQuatStructCustomization to explicitly handle both propagation and transaction processing. - Modified UInstancedStaticMeshComponent::UpdateInstanceTransform() to call Modify() prior to applying changes (so that the previous state is recorded when inside a transaction context). - Modified FInstanceStaticMeshSCSEditorCustomization::HandleViewportDrag() to propagate changes to all instances of the ISMC archetype. Known issues: - Using the spinbox to edit instanced mesh transform values in the Blueprint editor will not apply the change to instances in the level editor until after you release the mouse button (i.e. - it will not be shown as a "live" update). Change 3353678 on 2017/03/20 by Michael.Dupuis properly unfreeze the culling of foliage when toggling the freezerendering command Change 3353747 on 2017/03/20 by Matt.Kuhlenschmidt PR #3372: Git plugin: fix update status on directories hotfix (still) slightly broken in master (UE4.16) (Contributed by SRombauts) Change 3353749 on 2017/03/20 by Matt.Kuhlenschmidt PR #3373: Git Plugin: hotfix for regression off Visual Diffs with older version of Git in master (UE4.16) (Contributed by SRombauts) Change 3353754 on 2017/03/20 by Matt.Kuhlenschmidt PR #3390: Allow OBJ imports to change if materials and textures are also imported (Contributed by mmdanggg2) Change 3353909 on 2017/03/20 by Matt.Kuhlenschmidt Fixed actors showing thumbnails in details panel and made a few other tweeks to thumbnail displays in details panels - The color of the accepted type is now shown properly - All object based properties now have thumbnails on by default. Change 3353948 on 2017/03/20 by Nick.Darnell UMG - Updating the background blur widget's upgrade code to use the custom version, and handling older cases that were continuing to generate blur slots, even when already upgraded. Change 3354335 on 2017/03/20 by Nick.Darnell Paragon - Excluding Archetype objects from reporting references, which causes crashes in the fast template mode. Change 3354495 on 2017/03/20 by Nick.Darnell Core - Making it so order that outers are discovered does not matter, initializing the chain of outers if hasn't been created when instancing subobjects. Change 3354578 on 2017/03/20 by Nick.Darnell Slate - There's now a console variable option, Slate.VerifyHitTestVisibility (off by default) which enables additional visibility checks for widgets. Normally this isn't nessesary, but if you're changing the visibility of widgets during a frame, and several hit tests need to be performed that frame there's a chance that a button could be clicked twice in one frame. Enabling this mode will make all hit testing more expensive, so for now it's off by default, but available for licensees that need the extra testing. Change 3354737 on 2017/03/20 by Nick.Darnell Core - Adding a fix to Dev-Editor from that enables objects in the same package being requested to also be loaded. This came about during async streaming callbacks alerting that a requested class was done loading, but there were still other assets in the package 'not loaded' but were available, just needed post load called on them. Change 3355923 on 2017/03/21 by Yannick.Lange VR Editor: - Remove unnecessary cleanup functions. - Initialize with VR Mode and remove SetOwner function, since it shouldn't be possible to reset the VR Mode afterwards. Change 3355959 on 2017/03/21 by Yannick.Lange VR Editor: - Rename VREditorWorldInteraction to VREditorPlacement, to avoid confusion with ViewportWorldInteraction. VREditorPlacement will only handle placing objects from content browser in the VR Mode. - Removed SnapSelectedActorsToGround to VREditorMode. Change 3355965 on 2017/03/21 by Yannick.Lange VR Editor: Forgot to add files to previous submit 3355959. Change 3355977 on 2017/03/21 by Yannick.Lange VR Editor: Remove function to add a new extension with TSubclassOf<UEditorWorldExtension>. Change 3356017 on 2017/03/21 by Yannick.Lange VR Editor: - UI system check owner VRMode. - UI system fix check on VRMode on shutdown. Change 3356028 on 2017/03/21 by Nick.Darnell Slate - SButton now correctly releases mouse capture even if it becomes disabled while pressed, but before 'click' has been fired. #jira UE-42777 Change 3356071 on 2017/03/21 by Yannick.Lange VR Editor: Copy of change 3353663. - Fix having to press once on the landscape to see the visuals for landscape editing. - Fix when sculpting/painting the position wouldn't update. - Fix inverted action for brushes while holding down shift or modifier on motioncontroller. - Cleanup FLandscapeToolInteractorPosition. - Change from 3353663: Use TStrokeClass::UseContinuousApply and TimeSinceLastInteractorMove to decide when to apply ToolStroke on tick. Change 3356180 on 2017/03/21 by Michael.Dupuis Added ShowFlag Foliage Occlusion Bounds Fixed non initialized variable Expose changing Min Occlusion Bounds instead of assuming 6 #rn none Change 3356347 on 2017/03/21 by Nick.Darnell UMG - Introducing a faster CreateWidget. When cooking, the widget compiler now generates a widget template/archetype that is stored in the same package as the generated blueprint class. During compiling we generate a nearly fully initialized widget tree including all sub userwidgets and their trees, hookup all member variables, initialize named slots, setup any animations...etc. This nearly fully constructed widget can be instanced using it as an archetype in the NewObject call, and does not have to use the correspondingly slow StaticDuplicateObject path. There are restrictions on this method, part of the compiling step for widgets now inspects if the instancing would be successful, or if there would be GLEO references after instancing because a user forgot to setup Instanced on a subobject property. Luckily that should be few and far between, all UVisuals (Widgets & Slots) are now DefaultToInstanced, which takes care of the overwhelming cases that demand the instanced flag. Especially given the bulk of cases using BindWidget in native code. UMG - Removing a lot of deprecated functions from 4.8 on UUserWidget. Change 3356357 on 2017/03/21 by Nick.Darnell Build - Fixing some IWYU issues on the incremental build. Change 3356461 on 2017/03/21 by Nick.Darnell Build - Fixing linux build errors. Change 3356468 on 2017/03/21 by Jamie.Dale STextPropertyEditableTextBox now handles empty texts correctly Change 3356916 on 2017/03/21 by Matt.Kuhlenschmidt Fixed a crash when a material render proxy on a preview node is deleted when it is in flight on the render thread #jira UE-40556 Change 3357033 on 2017/03/21 by Alexis.Matte Fix crash when importing file with import commandlet Make sure path are combine properly to avoid crash Add some missing pointer check Make sure the asset are save when there is no source control #jira UE-42334 Change 3357176 on 2017/03/21 by Alex.Delesky #jira UE-42445 - TMaps now support editing the values of structs that act as map keys. TMaps with struct keys will now show the types of their elements in the details panel as well, and structs will now also display numbers next to set elements. Change 3357197 on 2017/03/21 by Alex.Delesky #jira none - Fixing build issue for TMap key struct change. Change 3357205 on 2017/03/21 by Michael.Dupuis Forgot to reset min granularity to 6 from testing Change 3357340 on 2017/03/21 by Arciel.Rekman Mark FMallocAnsi (standard libc malloc) thread-safe on Linux. Change 3357413 on 2017/03/21 by matt.kuhlenschmidt Added '/Game/Effects/Fort_Effects/Materials/Smoke/M_Main_Smoke_Puff.M_Main_Smoke_Puff' to collection 'MattKTest' Upgraded collection 'MattKTest' (was version 1, now version 2) Change 3357505 on 2017/03/21 by Alexis.Matte Fix to avoid changing the CDO of FbxAssetImportData. The UI was saving the Config which was saving the CDO. But already serialized data will be reload badly if the CDO change since we serialize only the diff. #jira UE-42947 Change 3357825 on 2017/03/21 by Arciel.Rekman Clean up the large thread pool on exit. - Seems like the destruction was missed in the original CL 2785131 (12/1/15). - Fixes problems when threads were allocated in memory that is being cleaned up in another place on exit. Change 3358086 on 2017/03/22 by Yannick.Lange VR Editor: - Fix gizmo scaling down when dragging the world. - Fix gizmo scaling down when dragging rotation handle. Change 3358175 on 2017/03/22 by Andrew.Rodham Sequencer: Made ALevelSequenceActor::AdditionalEventReceivers advanced display Change 3358367 on 2017/03/22 by tim.gautier Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters Change 3358457 on 2017/03/22 by Yannick.Lange VR Editor: Deleting unused UI assets. Change 3358801 on 2017/03/22 by Matt.Kuhlenschmidt Guard against crash if the level editor is shut down when the object system has already been shut down #jira UE-35605 Change 3358897 on 2017/03/22 by matt.barnes Checking in WIP test content for UEQATC-1635 (UMG Navigation) Change 3358976 on 2017/03/22 by Alex.Delesky #jira none - Fixing an issue where ItemPropertyNode could potentially dereference a null property Change 3358987 on 2017/03/22 by Yannick.Lange VR Editor: Fix warning: Can't find file for asset '/Engine/VREditor/UI/VRButtonBackground' while loading ../../../Engine/Content/VREditor/Devices/Vive/VivePreControllerMaterial.uasset. Change 3359067 on 2017/03/22 by Yannick.Lange VR Editor: Fix Radial Menu remains on controller after exiting VR Preview #jira UE-42885 Change 3359179 on 2017/03/22 by Matt.Kuhlenschmidt Fixed "Multiple Values" in Body Setup when single bone has multiple bodies #jira UE-41546 Change 3359626 on 2017/03/22 by Arciel.Rekman Linux: pool OS allocations. - Add a TMemoryPool and TMemoryPoolArray classes that can be used with any type of OS allocator functions. - Add ability to bypass CachedOSPageAllocator for given sizes. Also, corrected the condition on AllocImpl to match one on FreeImpl. - Switch Linux to pool mmap()/munmap() by default (helps 32-bit Linux and also speeds up 64-bit one), except 64-bit servers. - Add a test to TestPAL to check performance and thread safety. - Misc. fixes. Change 3359989 on 2017/03/23 by Andrew.Rodham Sequencer: Binding overrides improvements - Added the ability to override spawnable bindings - Added the ability to override bindings in sub sequences - Deprecated "Get Sequence Bindings" node in favor of "Get Sequence Binding", which is more robust, and provides a better UI/UX for selecting single bindings #jira UE-42470 Change 3360369 on 2017/03/23 by Alexis.Matte Fix the staticmesh conversion from UE4 4.13 to earlier UE4 versions #jira UE-42731 Change 3360556 on 2017/03/23 by Andrew.Rodham Sequencer: Added drag/drop support for binding overrides - You can now drag and drop sequencer object binding nodes into blueprint graphs (to create 'Get Sequence Binding' nodes), and onto binding overrides specified on level sequence actors. Change 3360618 on 2017/03/23 by Arciel.Rekman Make Binned2 work on Mac. - Game/server will use Binned2 by default. Change 3360838 on 2017/03/23 by Nick.Darnell CommonUI - Making the SingleMaterialStyleMID property transient. It had been serialized mistakenly onto several widgets when it appears the intent is to dynamically allocate it upon demand. Change 3360841 on 2017/03/23 by Nick.Darnell UMG - Updating the editor to use DuplicateAndInitializeFromWidgetTree, so that Initialize is properly called when duplicating sub widget trees. Change 3362561 on 2017/03/24 by Matt.Kuhlenschmidt Fixed text outlines being cropped at large sizes #jira UE-42647 Change 3362565 on 2017/03/24 by Matt.Kuhlenschmidt Added automation test for font outlines Change 3362567 on 2017/03/24 by Matt.Kuhlenschmidt Resaved this file to fix 0 engine version warnings Change 3362582 on 2017/03/24 by Yannick.Lange VR Editor: - Fix log warnings when teleporting. - Fix undo/redo when using teleport scaling. - Improved teleport scaling and push/pull input. #jira UE-43214 Change 3362631 on 2017/03/24 by Jamie.Dale Split the monolithic culture concept in UE4 UE4 has historically only supported the concept of a single monolithic "culture" that applied to both text localization and internationalization, as well as all asset localization. Typically the "culture" was set to the "locale" of the OS, however that could be undesirable or incorrect on platforms (such as newer versions of Windows) that have a distinct concept of "language" (for localization) and "locale" (for internationalization). This change splits the concept of "culture" into "language" and "locale", and also adds the concept of "asset groups". The language is now used to work out which localization we should use, and the locale is used to control how numbers/dates/times/etc are formatted within our internationalization library. Asset groups expand on the language used by asset localization and allow you to create a group of asset classes that can be assigned a different culture than the main game language. A typical use-case of this would be creating an "audio" group that could, for example, be set to Japanese while the rest of the game runs in English. If your game doesn't care about the distinction between language and locale, and doesn't need to use asset groups, then you're able to continue to use "culture" as you always have. If, however, you do care about those things, then you'll likely want to avoid using the "culture" directly (as it's now a very aggressive setting that overrides all others), and instead favor using language/locale (games will typically treat these as the same) and asset groups as separate concepts (both in settings, and in your in-game UI). The language or locale for a game can be controlled by settings within the "Internationalization" section of your configs (this would typically be set in your GameUserSettings config, in the same way that "culture" works), eg) [Internationalization] language=fr locale=fr The asset groups for a game can be controlled by settings within the "Internationalization.AssetGroupClasses" and "Internationalization.AssetGroupCultures" sections of your configs (the asset group class definition would typically be set in your DefaultGame config, and the cultures the groups use would typically be set in your GameUserSettings config), eg) [Internationalization.AssetGroupClasses] +Audio=SoundWave +Audio=DialogueWave [Internationalization.AssetGroupCultures] +Audio=ja #jira UE-38418 #jira UE-43014 Change 3362798 on 2017/03/24 by Nick.Darnell UMG - Putting the finishing touches on the hardware cursor system. Can now load them from blueprints, and there are options for setting them up in the project settings. UMG - Deprecating the old properties for software widget cursors. They've been moved into a map that can handle any of the mouse cursors as the enum key, which was always the intent/desire but maps couldn't be used as UProperties then. Change 3362805 on 2017/03/24 by Jamie.Dale PR #3397: Allow empty source to override display string (Contributed by jorgenpt) Change 3363039 on 2017/03/24 by Jamie.Dale Use the pre-scaled font height where possible to avoid an extra multiply Change 3363188 on 2017/03/24 by Joe.Graf Added support for -iterate for content plugins that require path remapping during cook/packaging #CodeReview: matt.kuhlenschmidt #rb: matt.kuhlenschmidt Change 3363355 on 2017/03/24 by Nick.Darnell UMG - Removing the CookAdditionalFiles function in UserInterfaceSettings. Change 3363672 on 2017/03/24 by Matt.Kuhlenschmidt Material thumbnails now respect used particle system sprites flag and show a quad insead of a sphere by default. For this change I added the ability to have per asset type override for the default thumbnail shape and I added a way to reset thumbnails to default. All existinging particle system materials that have not had a custom thumbnail will have to be reloaded and resaved for this to work #jira UE-42410 Change 3363699 on 2017/03/24 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 3363784 on 2017/03/24 by Matt.Barnes Adding content for tests following UEQATC-3548 Change 3363872 on 2017/03/24 by Arciel.Rekman Linux: require user to setup clang/clang++ for building hlslcc. - Earlier we tried to handle most common scenarios since libhlslcc needed to be built during the setup. Now that we supply a prebuilt version we don't need to be as user friendly, especially given that the attempts to second guess the compiler started to look complicated. Change 3364089 on 2017/03/24 by Matt.Kuhlenschmidt Fix CIS Change 3364381 on 2017/03/24 by JeanMichel.Dignard UV Packing optim - Use horizontal segments instead of checking texel by texel to fit source chart in layout. - Skip a couple of rasterize by flipping either the X texels or the Y texels when possible. - Keep the best chart raster so that we don't need to reraster when adding the chart to the layout. - Added a lightmap UV version in StaticMesh so that we don't invalidate the lighting cache. Only use the new lightmap UV generation when going through UStaticMesh::Build which invalidates the lighting. Change 3364587 on 2017/03/24 by Arciel.Rekman Fix ordered comparison warning from clang 4.0. Change 3364596 on 2017/03/24 by Arciel.Rekman Linux: fix editor being stuck (hack). - Rebuilt hlslcc in Debug. Change 3364863 on 2017/03/25 by Max.Chen Sequencer: Fixed crash when deactivating a section in sequencer #jira UE-39880 Change 3364864 on 2017/03/25 by Max.Chen Sequencer: Integrating fix from licensee to ensure FVirtualTrackArea::HitTestSection checks the row of the section Change 3364865 on 2017/03/25 by Max.Chen Cine Camera: Default post process depth of field method to CircleDOF and use that setting in UpdateCameraLens. #jira UE-40621 Change 3364866 on 2017/03/25 by Max.Chen GitHub #3183: Conversion to base class is inaccessible. Change 3364869 on 2017/03/25 by Max.Chen Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The setting is only used to initialize the time snapping interval of the level sequence. Added translate keys with ctrl and left-right arrows. #jira UE-41009 #jira UE-41210 Change 3364870 on 2017/03/25 by Max.Chen Sequencer: Added translate keys with ctrl and left-right arrows. #jira UE-41210 Change 3364871 on 2017/03/25 by Max.Chen Sequencer: Add level sequence actor customization to open sequencer from the details panel. For matinee parity. #jira UE-41459 Change 3364879 on 2017/03/25 by Max.Chen Sequencer: Duplicate shot should put the duplicate on the next available row, keeping the start/end times the same. #jira UE-41289 Change 3364880 on 2017/03/25 by Max.Chen Sequencer: Opening the API for MovieSceneAudio-related classes along with some minor functionality additions: - Adding _API specifiers to MovieSceneAudioTrack, MovieSceneAudioSection, and FAudioTrackEditor so they can be subclassed in other modules. - Made GetSoundDuration function in MovieSceneAudioTrack.cpp a member function so it's functionaliy could be reused by subclasses. - Adding ability to specify delegates for OnQueueSubtitles, OnAudioFinished, and OnAudioPlaybackPercent in a MovieSceneAudioSection, and have them automatically assigned to any AudioComponents that are played by the MovieSceneAudioTemplate Change 3364884 on 2017/03/25 by Max.Chen Sequencer fbx import - Removed the PostRotation compensation as it was setuped for 3ds max. - On import, add a rotation to camera and light animation keys like we do on export. - Merge the component local transform with the ActorNode transform when exporting only one component that isn't the root component in fbx since we're not creating child nodes in that case. #jira UE-34692 Change 3364885 on 2017/03/25 by Max.Chen Sequence Recorder: Fix crash when clearing properties to record. #jira UE-41873 Change 3364886 on 2017/03/25 by Max.Chen Sequencer: Add error when attempting to add a circularly dependent level sequence #jira UE-22358 Change 3364890 on 2017/03/26 by Max.Chen Sequencer: Added ability to specify a 'notify' function to property instance bindings - When specified, the (parameterless) function will be called after a property is set Change 3364891 on 2017/03/26 by Max.Chen Sequencer: Various fixes to thumbnails - Fixed alpha blending being used when presenting the full screen quad for thumbnails Change 3364892 on 2017/03/26 by Max.Chen Sequencer: PreRoll and PostRoll is now exposed at the section level, for all sections - For the majority of sections this will be unimplemented, but it will allow for some tracks to set up their data ahead of time Change 3364896 on 2017/03/26 by Max.Chen Sequencer: Add segment flags to equality operator for movie scene evaluation segments - This prevents them from being accumulated into adjacent segments of the same index and forced time, but differing flags Change 3364897 on 2017/03/26 by Max.Chen Sequencer: Fixed "Evaluate in preroll" and "Evaluate in Postroll" options - Pre and postroll flags now come through on compiled segments, so the previous manual logic for sub sections is obsolete; we can just use the compiled segment data directly. Change 3364898 on 2017/03/26 by Max.Chen Sequencer: Moved track options to be accessible on all nodes, and operate on all selected tracks Change 3364902 on 2017/03/26 by Max.Chen Sequencer: Ensure evaluation flags are considered when compiling segments from external sequences - This ensures that preroll regions in sub sequences are correctly evaluated when their parent section has preroll - Changed high pass blending to always allow preroll Change 3364903 on 2017/03/26 by Max.Chen Engine: Moved proxy mesh transform update out of camera view computation code - GetCameraView can happen as part of end of frame updates, which will assert if any changes of transform happen during its processing Change 3364908 on 2017/03/26 by Max.Chen Sequencer: Added visualization of pre and postroll on sections Change 3364909 on 2017/03/26 by Max.Chen Sequencer: Prevent MovieSceneCompiler from removing preroll segments Change 3364910 on 2017/03/26 by Max.Chen Sequencer: MediaPlayer PreRoll/PostRoll fix - Handle PreRoll/PostRoll on sub scenes that have a start offset Change 3364922 on 2017/03/26 by Max.Chen Sequencer: Add check for valid property before dereferencing. #jira UE-40951 Change 3364923 on 2017/03/26 by Max.Chen Sequencer: Fix MovieScene preroll so that it seeks to the start correct frame before the preroll. Change 3364924 on 2017/03/26 by Max.Chen Sequencer - change default behavior for pre/post roll evaluation - MovieSceneTracks are NOT evaluated by default Change 3364925 on 2017/03/26 by Max.Chen Sequencer: Shot track rows now consider pre and post roll when being compiled Change 3364926 on 2017/03/26 by Max.Chen Sequencer: Added the ability to define shared execution tokens, identifyable with a unique identifier, and sortable based on a sort order (<=0: before standard tokens, >0: after other tokens) Change 3364927 on 2017/03/26 by Max.Chen Sequencer: Added the ability to selectively restore state for specific anim type IDs for a given object - This allows us to specifically restore one particular type of animation for a given object (ie, transform, skeletal animation control, or motion blur) Change 3364928 on 2017/03/26 by Max.Chen Sequencer: Fixed sub-sub tracks not being present in master sequences - In order to correctly handle preroll in inner-inner sequences, we need to have access to those tracks when compiling intermediate sub sections. By caching off all the inner templates, we can have access to these tracks to check whether they want to be evaluated in pre/post roll in the master sequence Change 3364937 on 2017/03/26 by Max.Chen Sequencer: Update cine camera component debug focus plane on tick, rather than in GetCameraView #jira UE-41332 Change 3364938 on 2017/03/26 by Max.Chen Sequencer: Fix crash inserting a level sequence with an invalid shot. #jira UE-41481 Change 3364940 on 2017/03/26 by Max.Chen Sequencer: Made handling of pre and post roll more consistent between explicit section pre/post roll and pre/post roll inherited from an outer sub section Change 3364942 on 2017/03/26 by Max.Chen Movie Scene Capture: Move EDL generation to setup instead of close to ensure it gets written out when capturing as a separate process. #jira UE-41703 Change 3364943 on 2017/03/26 by Max.Chen Sequencer: Prevent capturing movies in editor while a PIE session is running #jira UE-41399 Change 3364944 on 2017/03/26 by Max.Chen CIS fixes Change 3364951 on 2017/03/26 by Max.Chen Sequencer: Fix autokey not setting a keyframe for slate color with specified color. #jira UE-41645 Change 3364952 on 2017/03/26 by Max.Chen Sequencer: Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row #jira UE-41684 Change 3364953 on 2017/03/26 by Max.Chen Sequencer: Fix edl so that it doesn't write out when a shot is out of range. Also fixed not writing the EDL with the correct frame rate when exporting from the track. Reworked the cmx EDL so that its encoded in the same edit time space, including a blank slug at the beginning of the edit. #jira UE-41925 Change 3364954 on 2017/03/26 by Max.Chen Sequencer - Allow animating parameters on cascade effect components which aren't owned by an AEmitter. Change 3364955 on 2017/03/26 by Max.Chen Sequencer: Fixed sequencer anim instance not being used in the case where one was requested, but a different anim instance was already set This fixes an issue when rendering in seaprate process, animations that were set up to use the sequencer instance would be controlled using montage animation instead. Change 3364963 on 2017/03/26 by Max.Chen Sequencer: Fix filtering to include child nodes. #jira UE-42068 Change 3364964 on 2017/03/26 by Max.Chen Sequencer: Enable UseCustomStartFrame and UseCustomEndFrame when rendering a single shot from the menu. #jira UE-42021 Change 3364965 on 2017/03/26 by Max.Chen Sequencer: Set the fade color in the track display Change 3364966 on 2017/03/26 by Max.Chen Sequencer: Show actor attached to label in attach section. Change 3364967 on 2017/03/26 by Max.Chen Sequencer: Fix static analysis warnings Change 3364968 on 2017/03/26 by Max.Chen Sequencer: Fix crash on converting to spawnable. The previous implementation purported to allow null objects to set up spawnable defaults but it actually needed to compare the spawned object to the supported type. This new mechanism now allows the spawner to indicate that it accepts null objects and doesn't crash. #jira UE-42069 Change 3364969 on 2017/03/26 by Max.Chen Sequencer: Fixed crash caused by holding onto stale properties through a raw ptr #jira UE-42072 Change 3364977 on 2017/03/26 by Max.Chen Sequencer: Convert FLinearColor to FColor for fade. #jira UE-41990 Change 3364978 on 2017/03/26 by Max.Chen Sequencer: Limit GetAllSections to the sections that actually correspond to the track #jira UE-42167 Change 3364979 on 2017/03/26 by Max.Chen Sequencer: Filter root nodes too #jira UE-42068 Change 3364980 on 2017/03/26 by Max.Chen Sequencer: Filter relevant material parameters #jira UE-40712 Change 3364982 on 2017/03/26 by Max.Chen Sequencer: Remove audio range bounds which clamps to the section bounds (needed for evaluating in pre and post roll) Change 3364983 on 2017/03/26 by Max.Chen Sequencer: Add socket name to attach track section. Change 3364984 on 2017/03/26 by Max.Chen Sequencer: Fix sub track node deletion so that all the sub tracks aren't deleted, only the row being requested. #jira UE-40955 Change 3364988 on 2017/03/26 by Max.Chen Sequencer: Invalidate expired objects when blueprints are compiled. Fix actor references now handles sections that need to have their guids updated (ie. attach tracks). Change 3364994 on 2017/03/26 by Max.Chen Sequencer: Audio waveforms now show peak samples with smoothed RMS in the center - Audio row heights are now also resizable by dragging on the bottom end of the track lane in the track area view Change 3364995 on 2017/03/26 by Max.Chen UMG: Fix crash on undo #jira UE-42210 Change 3365000 on 2017/03/26 by Max.Chen Sequencer: Fix crash from GetCurrentValue. Change 3365001 on 2017/03/26 by Max.Chen Sequencer: Split "Snap to the Dragged Key" option into two options, pressed key and dragged key. #jira UE-42382 Change 3365002 on 2017/03/26 by Max.Chen Sequencer: Downgraded check to ensure for FMovieSceneEvalTemplateBase::GetScriptStructImpl() Change 3365003 on 2017/03/26 by Max.Chen Sequencer: Fixed section template script struct - Because the cpp is not parsed by UHT, the empty template had its parent struct, rather than its own - We now just return null, and handle empty segments correctly in the segment remapper as part of the track compilation Change 3365013 on 2017/03/26 by Max.Chen Sequencer: Added data validation on compiled template loads, and extra guards against misuse of movie scene types Change 3365014 on 2017/03/26 by Max.Chen Sequencer: Sequencer now re-evaluates when starting PIE or Simulate - This can be disabled by disabling "Bind Sequencer to PIE" and "Bind Sequencer to Simulate" in PIE advanced settings Change 3365015 on 2017/03/26 by Max.Chen Sequencer: Fix edl files so that they don't write out empty range shots Change 3365017 on 2017/03/26 by Max.Chen Sequencer: Set max tick rate when in game. #jira UE-41078 Change 3365018 on 2017/03/26 by Max.Chen Sequencer: When finishing a scrub, playback status is now correctly set to stopped rather than stepping - This fixes a hack that was previously in place from the old PostTickRenderFixup that caused it to run that step after scrubbing bad finished. This is no longer necessary, and actually breaks clicking to set the scrub position, as it now means that we step across the entire range between the previous and current time. Change 3365022 on 2017/03/26 by Max.Chen Sequencer: Insert shot now creates a shot at the current time and puts it on the next available row. #jira UE-41480, UE-27699 Change 3365023 on 2017/03/26 by Max.Chen Sequencer: Add loop selection range. If there is no selection range, loop mode is restricted to loop or no loop. #jira UE-42285 Change 3365029 on 2017/03/26 by Max.Chen Sequencer: Add hotkeys to set the selection range to the next and previous shot (page up, page down). Also, added hotkey to set the playback range to all the shots (end) Change 3365030 on 2017/03/26 by Max.Chen Sequencer: Fix particle system restore state so that it gets the proper initial active state of the particle system. #jira UE-42861, UE-42859 Change 3365031 on 2017/03/26 by Max.Chen Sequencer: Snap time when changing time snapping intervals. #jira UE-42590 Change 3365032 on 2017/03/26 by Max.Chen Sequencer: Add When Finished state to sections. By default, sections now restore state. #jira UE-41991, UE-31569 Change 3365033 on 2017/03/26 by Max.Chen #jira UE-42028 "DialogueWave playback calls OnQueueSubtitles multiple times" Only queue subtitles once per wave instance playback Change 3365041 on 2017/03/26 by Max.Chen Sequencer: Subscene hierarchical bias Tracks can now be prioritized based on their subscene hierarhical bias value. Higher bias values take precedence. #jira UE-42078 Change 3365042 on 2017/03/26 by Max.Chen Sequencer: Generic paste menu for master (root) tracks. Change 3365043 on 2017/03/26 by Max.Chen Sequencer: Hierarchical bias for level visibility track #jira UE-43024 Change 3365044 on 2017/03/26 by Max.Chen Sequencer: Prevent throttling on editing keys/sections. Change 3365045 on 2017/03/26 by Max.Chen Sequencer: Set sequencer audio components bIsUISound to false so that they don't continue playing when the game is paused. #jira UE-39391 Change 3365046 on 2017/03/26 by Max.Chen Sequencer: Add missing BindLevelEditorCommands() Change 3365049 on 2017/03/26 by Max.Chen Sequencer: Set tick prerequites for spawnables when they are spawned. #jira UE-43009 Change 3365050 on 2017/03/26 by Max.Chen Sequencer: Jump to Start and End of playback shortcuts. Rewind renamed to Jump to Start. Shortcut - up arrow. Jump to End Shortcut - ctrl up arrow. #jira UE-43224 Change 3365051 on 2017/03/26 by Max.Chen Sequencer: Add last range to playback Change 3365057 on 2017/03/26 by Max.Chen Sequencer: Fix master sequence subscene generation times. Change 3365058 on 2017/03/26 by Max.Chen Sequencer: Fix paste so that it doesn't paste both onto object nodes and master tracks. Change 3365059 on 2017/03/26 by Max.Chen Sequencer: Fix crash pasting audio track. Change 3365060 on 2017/03/26 by Max.Chen Sequencer: Cache player fade state so that restore state will return the values to the pre animated state. #jira UE-43313 Change 3365061 on 2017/03/26 by Max.Chen Sequencer: Filter hidden functions. This fixes a bug where the field of view property for a cinematic camera appears to be animatable. It should be hidden just like it is in the property editor. #jira UE-41461 Change 3365065 on 2017/03/26 by Max.Chen Sequencer: Support component hierarchies when drawing animation paths #jira UE-39500 Change 3365066 on 2017/03/26 by Max.Chen Sequencer: Refine pause behaviour in sequencer to always evaluate the next frame - This ensures that we get a full frame's worth of evaluation so that the paused frame is of a good quality (and avoids us evaluating a tiny range) Change 3365075 on 2017/03/26 by Max.Chen Sequencer: Fix add shot not setting next row. Change 3365076 on 2017/03/26 by Max.Chen Sequencer: Export MovieSceneTrackEditor #jira UE-41641 Change 3365472 on 2017/03/27 by Yannick.Lange VR Editor landscape. Back out changelist 3356071 with new proper fixes. CL 3356071 introduced another bug and it wasn't correct because of removing FLandscapeToolInteractorPosition. This changelist fixes the same and additional bugs for VREditor Landscape mode. - Fix when sculpting/painting the position wouldn't update. - Fix inverted action for brushes while holding down shift or modifier on motioncontroller. - Fix VREditor Landscape Texture Painting does not paint continuously - Fix having to press once on the landscape to see the visuals for landscape editing. - Removed Interactor parameter from BeginTool. #jira UE-42780, UE-42779 Change 3365497 on 2017/03/27 by Matt.Kuhlenschmidt Fix texture importing when an FBX file incorrectly reports absolute path as relative. First we try absolute, then we try fbx reported relative, then we try relative to parent FBX file. Change 3365498 on 2017/03/27 by Matt.Kuhlenschmidt Fix attempting to load a package in FBX scene import when the import path is empty. This greatly reduces FBX scene import time Change 3365504 on 2017/03/27 by Yannick.Lange VR Editor landscape fix ensure in when starting to paint/sculpt. Mousemove on tool should only be called when the tool is actually active, not when hovering. Change 3365551 on 2017/03/27 by Matt.Kuhlenschmidt PR #3425: Added Scrollbar customization to SComboBox (Contributed by Altrue) #jira UE-43338 Change 3365580 on 2017/03/27 by Matt.Kuhlenschmidt PR #3409: Add support for per-Category filtering in Output Log (Contributed by thagberg) Change 3365672 on 2017/03/27 by Andrew.Rodham Sequencer: Preanimated state producers can now produce null tokens - Doing so implies no preanimated state should be saved Change 3365791 on 2017/03/27 by Andrew.Rodham Sequencer: Added Material Parameter Collection track Change 3365806 on 2017/03/27 by Max.Chen Sequencer: Add option to instance sub sequences. #jira UE-43307 Change 3365822 on 2017/03/27 by Matt.Kuhlenschmidt Subdue the output log font color a bit Change 3365846 on 2017/03/27 by Jamie.Dale Added package redirection on load/find Change 3365852 on 2017/03/27 by Jamie.Dale Adding a way to mark a package as no longer missing Change 3365896 on 2017/03/27 by Jamie.Dale Adding GlobalNotification to Slate This is the guts of the GlobalEditorNotification, so it can be used by code that doesn't link to UnrealEd. Change 3365900 on 2017/03/27 by Jamie.Dale Prevent the default cooked sandbox from trying to read non-cooked assets Change 3366550 on 2017/03/27 by Max.Chen Sequencer: Fix case Change 3367301 on 2017/03/28 by Andrew.Rodham Tests: Added test actor with a variety of properties for testing purposes Change 3367303 on 2017/03/28 by Andrew.Rodham Tests: Enabled ActorSequenceEditor plugin in EngineTest project Change 3367304 on 2017/03/28 by Andrew.Rodham Tests: Added several functional testing maps for sequencer - SequencerTest_Properties - tests animating various property types - SequencerTest_Events - tests basic event triggering functionality (including additional event receivers and event ordering) - SequencerTest_BindingOverrides - tests overriding possessable and spawnable bindings, along with bindings in sub sequences - SequencerTest_ActorSequence - tests basic actor sequence functionality Change 3367465 on 2017/03/28 by Max.Chen Sequencer: Set Bind Sequencer to PIE off by default, Bind Sequencer to Simulate remains on by default. Change 3367515 on 2017/03/28 by Matt.Kuhlenschmidt Guard against visual studio accessor crash #jira UE-43368 Change 3368118 on 2017/03/28 by Alexis.Matte Fix the staticmesh conversion from 4.13. There was a error in the LOD loop we where not remapping the LOD 0. #jira UE-42731 Change 3368485 on 2017/03/28 by Alex.Delesky #jira UE-42207 - Updated SVN Binaries for MacOSX 64-bit: - Subversion 1.9.4 -> 1.9.5 - OpenSSL 1.0.2h -> 1.0.2k - BerkeleyDB 5.3.15 -> 6.2.23 - Java 8u101 -> 8u121 - Sqlite 3.13.0 -> 3.17.0 - Serf 1.3.8 -> 1.3.9 - Swig 3.0.10 -> 3.0.12 - ZLib 1.2.9 -> 1.2.11 Change 3368495 on 2017/03/28 by Alex.Delesky #jira UE-42207 - Updated SVN Binaries for Windows 64-bit: - Subversion 1.9.4 -> 1.9.5 - OpenSSL 1.0.2h -> 1.0.2k - BerkeleyDB 5.3.15 -> 6.2.23 - Java 8u101 -> 8u121 - Sqlite 3.13.0 -> 3.17.0 - Serf 1.3.8 -> 1.3.9 - Swig 3.0.10 -> 3.0.12 - ZLib 1.2.9 -> 1.2.11 Change 3368501 on 2017/03/28 by Alex.Delesky #jira UE-42207 - SVN Build instructions for Windows and Mac 64-bit libraries, and license files for Mac libraries Change 3368782 on 2017/03/28 by Nick.Darnell UMG - Improving some logging for fast widget creation. Change 3368826 on 2017/03/28 by Nick.Darnell Slate - Slate Application now maintains seperate tracking for each pointer being utilized for drag drop, so now multiple fingers on multiple widgets can now simultaneously be attempting a drag, however once one of them becomes successful, we clear all state of all other tracking since only one Drag Drop operation is possible at a time. Slate - bFoldTick is now removed from the codebase, we haven't supported the other (non-folded) code path for awhile, so there was no point in maintaining the switch. Slate - Users have noticed issues where the cursor does not appear when changing visibility (through toggling the way the cursor appears). This was rooted in how the OS requested cursor changes, WM_SETCURSOR on Windows only asks for new cursors when the mouse moves, but often cursors change just because mouse capture changes. So now the path has been centralized in Slate Tick to only handle the cursor changes in one place, and several places that need to refresh the cursor state, now set a flag to handle it on next tick. #jira UE-40486 Change 3368917 on 2017/03/28 by Arciel.Rekman Linux: allow building with clang 4.0. Change 3369074 on 2017/03/28 by Nick.Darnell UMG - Fixing some spelling on the hardware cursor tip. UMG - Changed some checks to ensure now that users can input the wrong data from the editor. Adding some clamping to the editor interface so that users are not tempted to enter incorrect hotspot ranges for their cursors. #jira UE-43419 #jira UE-43425 Change 3369137 on 2017/03/28 by Max.Chen Sequencer: Add given master track sets the outer to the movie scene. Change 3369360 on 2017/03/29 by Andrew.Rodham Sequencer: Reconciled 3349194 and 3365041 with animphys merge Change 3369410 on 2017/03/29 by Alexis.Matte Fix the select filename in the FileDialog "Desktop window platform" #jira UE-43319 Change 3369475 on 2017/03/29 by Nick.Darnell PR #3413: UE-37710: Proper scaling of WebBrowserViewport (Contributed by projectgheist) Modified - you can't use the clip rect to decide on how large you should be. #jira UE-37710 Change 3369775 on 2017/03/29 by Max.Chen ControlRig: Fix crash on exit. #jira UE-43411 Change 3370466 on 2017/03/29 by Nick.Darnell AsyncLoading - Adding USoundBase to the set of CDOs that have a particular fixed boot order. StreamableManager - Only showing the duplicate load error in debug builds, it's not a real error. #jira UE-43409 Change 3370570 on 2017/03/29 by Nick.Darnell Slate - Fixing a bug with ZOrder being discarded on the SOverlay Slot. #jira UE-43431 Change 3370644 on 2017/03/29 by Andrew.Rodham Temporarily disabling sequencer functional test "Event Position" Change 3370713 on 2017/03/29 by Nick.Darnell PR #3399: UE-42831: Anchor text ignores scale (Contributed by projectgheist) #jira UE-43156 #jira UE-42831 Change 3371243 on 2017/03/30 by Arciel.Rekman Linux: scale OS allocation pool to match memory size. - Number of distinct VMAs (contiguous virtual memory areas, i.e. mappings done via mmap()) is rather low (~64k) and we can run out of VMAs earlier than we will run into available memory. Larger pool makes this less likely. Change 3371262 on 2017/03/30 by Arciel.Rekman Linux: fix custom present. - PR #3383 contributed by yaakuro. Change 3371301 on 2017/03/30 by Arciel.Rekman Linux: fix copying to a non-existent directory during Setup. Change 3371307 on 2017/03/30 by Andrew.Rodham Editor: Added "Resave All" functionality to content browser folders Change 3371364 on 2017/03/30 by Andrew.Rodham Sequencer: Level streaming improvements - Tick prerequisites are now set up when any object binding is resolved, not at the start of the sequence. This unifies code between spawnables and possessables, and allows tick prerequisites to still be set up when levels are streamed in - Actor references are no longer resolved when a PIEInstance is specified on the package, and it cannot be fixed up to a different ptr than the original. This stops us resolving actors from one world into another. - Fixed level visibility request getting cleared when the cumulative total was 0 (it should only do this if there are no requests left) #jira UE-43225 Change 3371365 on 2017/03/30 by Andrew.Rodham Tests: Sequencer level streaming tests Change 3371493 on 2017/03/30 by Nick.Darnell PR #3408: UE-19980: Added FCanExecuteAction to prevent keyboard shortcut. (Contributed by projectgheist) Change 3371524 on 2017/03/30 by Nick.Darnell PR #2938: Minor UMG code fixups (Contributed by projectgheist), accepted most of the changes. Change 3371545 on 2017/03/30 by Nick.Darnell UMG - Fixing some minor issues with WidgetComponents not properly limiting input depending on what is supported with reguard to hardware input. Change 3371576 on 2017/03/30 by Matt.Kuhlenschmidt PR #3433: Fix for the Standalone D3D Slate Shader using the wrong value for the. (Contributed by megasjay) Change 3371590 on 2017/03/30 by Nick.Darnell UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's camera. The widgets should now show up in the right locations. Change 3371625 on 2017/03/30 by Alexis.Matte Fix the merge tool material id assignment #jira UE-43246 Change 3371666 on 2017/03/30 by Nick.Darnell UMG - Reducing logging, don't need to tell everyone all the time we're using the fast widget path. Change 3371687 on 2017/03/30 by Arciel.Rekman Linux: switch to new managed filehandles. Change 3371778 on 2017/03/30 by Matt.Kuhlenschmidt Fixed the animation to play property on skeletal meshes being too small to read anything #jira UE-43327 Change 3372709 on 2017/03/30 by Matt.Kuhlenschmidt Made slate loading widget / movie play back more thread safe by eliminating Slate applicaiton or the main window from being ticked directly on another thread. We now have a separate virtual window for ticking and painting the loading screen widgets in isolation Change 3372757 on 2017/03/30 by Nick.Darnell Paragon - Fixing cases where people were using PostLoad() where really it should have done when the widget was constructed or created. This is a side effect of the FastWidget creation path 'PostLoad()' is not called on newly constructed widgets, though it did before because part of duplicating the WidgetTree, required serialization, which would have called it. Change 3372777 on 2017/03/30 by Nick.Darnell Fixing fast widget template cooking so that it does the same logic as Initialize did, centralizing the code to find the first widgetblueprintclass. Change 3372949 on 2017/03/30 by Nick.Darnell UMG - Fixing some cooking crashes for the super class. Change 3373139 on 2017/03/30 by Jeff.Farris Added TimingPolicy option to WidgetComponent, so widgets can optionally tick in game time rather than real time. (Copy of CL 3279699 from Robo Recall to Dev-Editor) Change 3373235 on 2017/03/30 by Nick.Darnell Fixing a cooking issue, accidentally removed code that was properly loading some needed assets. Change 3373266 on 2017/03/30 by Matt.Kuhlenschmidt Made GetMoviePlayer thread safe. Simply accessing GetMoviePlayer is safe now as is checking IsLoadingFinished. However, most of the functions on movie player are only safe from the game thread! Change 3374026 on 2017/03/31 by Andrew.Rodham Sequencer: Moved evaluation group registration to IMovieSceneModule #jira UE-43420 Change 3374060 on 2017/03/31 by Yannick.Lange VR Editor: Collision on motion controllers in simulate. Change 3374185 on 2017/03/31 by Nick.Darnell Attempting to fix the build. Change 3374232 on 2017/03/31 by Max.Chen Sequencer: Fix audio not playing in editor #jira UE-43514 Change 3374322 on 2017/03/31 by Nick.Darnell UMG - SafeZone widget now has comments, and useful tips. Using the debugging console commands now trigger the broadcast that will cause controls like the SSafeZone widget to resample the display metrics to learn the new safezone ratio. Change 3374424 on 2017/03/31 by Max.Chen Updated test content so that the door animation is now set to "Keep State" for the When Finished property. #jira UE-43519 Change 3374447 on 2017/03/31 by Max.Chen Sequencer: Notify streaming system prior to camera cuts By default, this does nothing. Users will need to enable the preroll section of camera cuts for the streaming system to activate prior to cutting to cameras. #jira UE-42406 Change 3374571 on 2017/03/31 by Andrew.Rodham Sequencer: Unified global and object-bound pre animated state, added InitializeObjectForAnimation method to state producers Change 3374578 on 2017/03/31 by Andrew.Rodham Sequencer: Added unit tests for pre-animated state Change 3374592 on 2017/03/31 by Max.Chen Color Customization: Set curve color names. #jira UE-43405 Change 3374596 on 2017/03/31 by Andrew.Rodham Corrected documentation comment Change 3374671 on 2017/03/31 by Matt.Kuhlenschmidt Fix movie scene audio track not compiling outside of editor Change 3374689 on 2017/03/31 by Matt.Kuhlenschmidt Remove the slate thread masquerading as the game thread in IsInGameThread Change 3374730 on 2017/03/31 by Max.Chen Sequencer: Add check for null loaded level. Change 3374732 on 2017/03/31 by Max.Chen Sequencer: Remove null tracks on postload. Change 3374737 on 2017/03/31 by tim.gautier - Updated UMG_Optimization: Adjusted Variable names to resolve compile errors due to Widget Components and Variables sharing names (cannot be done with new compile improvements) - Set Level Blueprint for TM-UMG back to AllPalettes Change 3374987 on 2017/03/31 by Nick.Darnell UMG - Introducing a way to inform the widgets more information about the designer. There's now a DesignerChanged event sent to all design time widgets letting them know things like the current screen size and DPI scale. UMG - The SafeZone widget will now show the correct safe zone amount if you use the safezone command line options, which are now documented in the comment for the USafeZone class. Change 3375599 on 2017/03/31 by Max.Chen Cine Camera: Update camera debug plane when property changes, rather rely soley on tick. This fixes a bug where sliding the value on the details panel doesn't update the debug plane in the viewport simultaneously. #jira UE-43543 Change 3375601 on 2017/03/31 by Arciel.Rekman Linux: switch to v9 cross-toolchain. Change 3375856 on 2017/04/01 by Andrew.Rodham Sequencer: Fixed 'formal parameter with requested alignment of 16 won't be aligned' Change 3375870 on 2017/04/01 by Andrew.Rodham Sequencer: Fixed explicit template instantiation ocurring before the complete definition of type's members - This resulted such members not being instantiated (and hence exported) when compiled with clang Change 3376114 on 2017/04/02 by Arciel.Rekman Linux: make source code accessor aware of clang 3.9 and 4.0. Change 3376138 on 2017/04/02 by Arciel.Rekman Linux: add clang to fedora deps (UE-42123). - PR #3273 submitted by cpyarger. Change 3376159 on 2017/04/02 by Arciel.Rekman Linux: some support for building on Debian Sid or Stretch (UE-35841). - Basd on PR #2790 by haimat. Change 3376163 on 2017/04/02 by Arciel.Rekman Linux: install latest clang on Arch (UE-42341). - This undoes PR #1905. - PR #2897 by SiebenCorgie. - PR #3302 by awesomeness872. - PR #3341 by patrickelectric. Change 3376167 on 2017/04/02 by Arciel.Rekman Add FreeBSD mem info (courtesy support for the out of tree build) (UE-42994). - PR #3378 by mdcasey. Change 3376168 on 2017/04/02 by Arciel.Rekman Linux: fixed VHACD Makefile on a case sensitive fs (UE-42905). - PR #3381 by slonopotamus. Change 3376177 on 2017/04/02 by Arciel.Rekman SlateDlg: case-insensitive comparison of filter extensions (UE-39477). - PR #3019 by aknarts. Change 3376178 on 2017/04/02 by Arciel.Rekman WebRTC: only x86_64 version exists for Linux. Change 3376245 on 2017/04/03 by Andrew.Rodham Sequencer: Re-enabled event order test Change 3376339 on 2017/04/03 by Matt.Kuhlenschmidt Fix crash during loading movie playback on DX12 due to not ever cleaning up old resources #jira UE-27026 Change 3376481 on 2017/04/03 by Alex.Delesky #jira UE-43495 - TMaps will now support customized key properties correctly. Change 3376741 on 2017/04/03 by Matt.Kuhlenschmidt Fix crash flushing font cache when loading a movie. This is no longer save on the slate movie thread #jira UE-43567 Change 3376763 on 2017/04/03 by Shaun.Kime Material Reroute nodes do not work for Texture Object Parameters as they return a base output type. Modified logic to now support this node type. #jira UE-43521 Change 3376836 on 2017/04/03 by Jamie.Dale Fixed text format history being clobbered by reference collection #jira UE-37513 Change 3376852 on 2017/04/03 by Nick.Darnell Paragon - Found a case where a user had marked a BindWidget property as Transient which prevents serializing the property binding now for widget fast mode. #jira UE-43564 Change 3377207 on 2017/04/03 by Jamie.Dale Desktop platform directory pickers are expected to return absolute paths File pickers return relative paths though, and we should make this consistent at some point. #jira UE-43588 Change 3377214 on 2017/04/03 by Matt.Kuhlenschmidt Fix movie player shutdown crash in non-editor builds #jira UE-43577 Change 3377299 on 2017/04/03 by Michael.Dupuis #jira UE-43586 : properties should be non transactional #jira UE-43559 Change 3378333 on 2017/04/04 by Michael.Dupuis #jira UE-43585 #jira UE-43586 Revert back to purple color Change 3378633 on 2017/04/04 by Matt.Kuhlenschmidt Resaved this asset to avoid zero engine version warnings Change 3378958 on 2017/04/04 by Nick.Darnell Automation - Fixing the race condition to finish compiling shaders on screenshots for UI. [CL 3379345 by Matt Kuhlenschmidt in Main branch]
2017-04-04 15:35:21 -04:00
if(GUnrealEd && GetDefault<ULevelEditorViewportSettings>())
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3077573 on 2016/08/04 by Nick.Darnell Removing some unused code, adding additional needed modules to editor tests. #rb none Change 3077580 on 2016/08/04 by Nick.Darnell Removing the test plugins, going to be recreating them in EngineTest. Change 3082659 on 2016/08/09 by Nick.Darnell Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them. #rb none Change 3082766 on 2016/08/09 by Jamie.Dale Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32. #jira UE-33971 #rb James.Hopkin Change 3083067 on 2016/08/09 by Nick.Darnell Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is. #rb none Change 3084475 on 2016/08/10 by Richard.TalbotWatkin Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server #codereview Matt.Kuhlenschmidt #rb none Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt Added grayscale texture importing support #rb none Change 3084774 on 2016/08/10 by Cody.Albert Adding controller support for ComboBox widget #jira UE-33826 #rb nick.darnell Change 3085716 on 2016/08/11 by Nick.Darnell UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with. #rb none Change 3085733 on 2016/08/11 by Nick.Darnell UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable. #rb none Change 3085734 on 2016/08/11 by Nick.Darnell Texture - Making GetDefaultMipMapBias a bit more efficent in the common case. #rb none Change 3085736 on 2016/08/11 by Nick.Darnell Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings. #rb none Change 3085737 on 2016/08/11 by Nick.Darnell Editor - code organization. #rb none Change 3085875 on 2016/08/11 by Nick.Darnell UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer. #rb none Change 3086209 on 2016/08/11 by Ben.Salem Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format. #rb adric.worley, william.ewen Change 3086515 on 2016/08/11 by Nick.Darnell Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case. #rb Matt.Kuhlenschmidt Change 3087216 on 2016/08/12 by Jamie.Dale Fixed an issue where re-scanning a package file may leave old assets in the asset registry We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package. This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work). #rb Andrew.Rodham Change 3087219 on 2016/08/12 by Jamie.Dale Updated TextRenderComponent to support multiple font pages It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page). #rb Matt.Kuhlenschmidt Change 3087308 on 2016/08/12 by Alex.Delesky #jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added. #rb Matt.Kuhlenschmidt Change 3089140 on 2016/08/15 by Jamie.Dale We now abort a directory watch if we lose access to the directory in question This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted. #jira UE-30172 #rb Andrew.Rodham Change 3089148 on 2016/08/15 by Alexis.Matte Allow fbx export of any actor type. #rb none #codereview dmitriy.dyomin Change 3089211 on 2016/08/15 by Jamie.Dale Unified access to the parent window for external dialogs A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible. You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window. #rb Andrew.Rodham Change 3089640 on 2016/08/15 by Jamie.Dale Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc #rb none Change 3089661 on 2016/08/15 by Nick.Darnell Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see. #rb none Change 3089667 on 2016/08/15 by Cody.Albert Updating RoutePointerUpEvent to call OnDrop for touch events when dragging #jira UE-34709 #rb nick.darnell Change 3089694 on 2016/08/15 by Jamie.Dale Applied a fix to the ExcludeClasses setting in the loc gather #rb none Change 3089889 on 2016/08/15 by Nick.Darnell Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities. #rb none Change 3090256 on 2016/08/16 by Nick.Darnell Automation - working on screenshots. #rb none Change 3090322 on 2016/08/16 by Nick.Darnell Automation - Adding modified screenshot function. #rb none Change 3090335 on 2016/08/16 by Nick.Darnell Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins. #rb none Change 3090881 on 2016/08/16 by Nick.Darnell Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected. #rb none Change 3090884 on 2016/08/16 by Nick.Darnell Plugins - There's now support for generating a Content Only plugin from the new plugin wizard. #rb none Change 3090911 on 2016/08/16 by Nick.Darnell Feature Packs - If there's an error loading a manifest, it's now an error, not a warning. #rb none Change 3090913 on 2016/08/16 by Jamie.Dale Optimization and usability improvements of the MemoryProfiler2 tool - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views. - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds. - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds. - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds. - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks). #jira UETOOL-948 #jira UETOOL-949 #rb James.Hopkin Change 3090962 on 2016/08/16 by Jamie.Dale Fixed double assignment of filter functions #rb none Change 3090989 on 2016/08/16 by Nick.Darnell Editor - Attempting to fix the build, non-unity issue I suspect. #rb none Change 3091754 on 2016/08/17 by Nick.Darnell FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc. #rb none #codereview Alexis.Matte Change 3091758 on 2016/08/17 by Nick.Darnell Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens. #rb none #codereview Nick.Atamas,Matt.Kuhlenschmidt Change 3091829 on 2016/08/17 by Nick.Darnell Build - Attempting to repair the build. #rb none Change 3091920 on 2016/08/17 by Nick.Darnell Build - Another attempt at fixing the mac build. #rb none Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying #rb none Change 3094474 on 2016/08/19 by Jamie.Dale Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled #jira UETOOL-951 #rb James.Hopkin Change 3094581 on 2016/08/19 by Jamie.Dale Added missing allocator filter needed by PS4 profiles #rb none Change 3094681 on 2016/08/19 by Richard.TalbotWatkin Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer. #jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation #rb none Change 3095163 on 2016/08/19 by Trung.Le #jira UE-20849: Added tooltips to the inputs of the Material final result node #rb matt.kuhlenschmidt Change 3095285 on 2016/08/19 by Trung.Le #jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member #rb none Change 3095344 on 2016/08/19 by Alexis.Matte #jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine. Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter). #rb none #codereview matt.kuhlenschmidt Change 3096162 on 2016/08/22 by Alexis.Matte #jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu. #rb none #codereview matt.kuhlenschmidt Change 3096261 on 2016/08/22 by Alexis.Matte #jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process. #rb lina.halper #codereview lina.halper Change 3096344 on 2016/08/22 by Jamie.Dale NSString conversion fix for UTF-32 strings containing characters outside of the BMP #jira UE-33971 #rb Peter.Sauerbrei, James.Hopkin Change 3096605 on 2016/08/22 by Alex.Delesky #jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any. #rb Matt.Kuhlenschmidt Change 3096615 on 2016/08/22 by Alex.Delesky #jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin. #rb Matt.Kuhlenschmidt Change 3096619 on 2016/08/22 by Alex.Delesky #jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel. #rb Matt.Kuhlenschmidt Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt PR #2729: Fix a typo in the comment (Contributed by adcentury) #rb none Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt PR #2726: Undef unused macros (Contributed by shrimpy56) #rb none Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt Guard against crash when details panels rebuild when their customizations have been torn down https://jira.ol.epicgames.net/browse/UE-35048 #rb none Change 3097757 on 2016/08/23 by Alex.Delesky #jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap #rb Matt.Kuhlenschmidt Change 3098164 on 2016/08/23 by Alexis.Matte #jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation. #rb none #codereview matt.kuhlenschmidt Change 3098502 on 2016/08/23 by Alexis.Matte #jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true #rb none #codereview matt.kuhlenschmidt Change 3099986 on 2016/08/24 by Jamie.Dale Fixing non-editor builds #rb none Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc) #rb none Change 3101280 on 2016/08/25 by Jamie.Dale Fixed crash when counting memory over internationalization meta-data - The serialization code only used to handle loading or saving, now it handles loading or not loading. - The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override. #rb James.Hopkin Change 3101283 on 2016/08/25 by Jamie.Dale MProf2 platform and symbol parsing improvements - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks). - Added a PS4 symbol parser which handles performing full file/line resolution for symbols. - Removed all the V3 file format support and legacy platform handling. - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup. #rb James.Hopkin Change 3101586 on 2016/08/25 by Jamie.Dale Small code cleanup and path normalization #rb James.Hopkin Change 3101837 on 2016/08/25 by Alexis.Matte #jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations #rb none #codereview matt.kuhlenschmidt Change 3102537 on 2016/08/26 by Jamie.Dale Fix for potential crash in FICUCamelCaseBreakIterator In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is. #rb James.Hopkin Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt Log the freetype version when it starts up (for debugging purposes) #rb none Change 3102657 on 2016/08/26 by Alexis.Matte #jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader. #review-3101585 @uriel.doyon #rb matt.kuhlenschmidt Change 3102704 on 2016/08/26 by Jamie.Dale Added symbol meta-data support to MProf2 You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file. PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user. #rb James.Hopkin Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt Added support for outline fonts - An outline size (in slate units), optional material and optional fill color can be specified with each font info. - Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines - Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas #rb jamie.dale Change 3102879 on 2016/08/26 by Jamie.Dale Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files #rb none Change 3102960 on 2016/08/26 by Alexis.Matte build fix #rb none Change 3103032 on 2016/08/26 by Jamie.Dale Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting #jira UE-34936 #rb Matt.Kuhlenschmidt Change 3103278 on 2016/08/26 by Jamie.Dale Fixing Clang warnings #rb none Change 3104211 on 2016/08/29 by Ben.Marsh Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them. #rb none Change 3104290 on 2016/08/29 by Alex.Delesky Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with. #rb Matt.Kuhlenschmidt Change 3104292 on 2016/08/29 by Alex.Delesky #jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac. #rb Matt.Kuhlenschmidt Change 3104294 on 2016/08/29 by Alex.Delesky #jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget #rb Matt.Kuhlenschmidt Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx) #rb none Change 3104296 on 2016/08/29 by Alex.Delesky #jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero. #rb Matt.Kuhlenschmidt Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out. #rb none Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it. #rb none #jira UE-31865 Change 3104396 on 2016/08/29 by Ben.Marsh Fix incrorrect agent names for running automated tests Change 3104610 on 2016/08/29 by Alex.Delesky Fix for AutomationTool compile editor from changes introduced today. #rb None Change 3104611 on 2016/08/29 by Michael.Dupuis #jira UETOOL-253 #rb Alexis.Matte Change 3105826 on 2016/08/30 by Gareth.Martin Added console variables to discard grass and/or scalable foliage data on load #jira UE-35086 #rb Benn Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt Eliminated bad code duplication between retainer widgets and element batcher #rb none #codereview nick.darnell Change 3106449 on 2016/08/30 by Michael.Dupuis #jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu) #rb Alexis.Matte Change 3106966 on 2016/08/30 by Jamie.Dale Fixed FApp::IsAuthorizedUser not considering the SessionOwner override #rb Max.Preussner Change 3107687 on 2016/08/31 by Michael.Dupuis Checkout/Make Writable on proper config file #rb Matt Kuhlenschmidt Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt Fixed mode typos in the lerp instruction #rb none Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt Logging and guard against UEditorEngine::TeardownPlaySession crash. #rb none https://jira.ol.epicgames.net/browse/UE-35325 Change 3107912 on 2016/08/31 by Alex.Delesky #jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations. #rb Matt.Kuhlenschmidt Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file. #rb none Change 3108027 on 2016/08/31 by Chris.Wood Re-added lost doc comment for analytics event "Engine.AbnormalShutdown". #rb none - just a comment in a cpp file #codereview wes.hunt Change 3108580 on 2016/08/31 by Mike.Fricker Deleted the "Live Editor" plugins from UE4 - These were undocumented, buggy and never finished, and we have no plans to complete them - Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files #codereview matt.kuhlenschmidt #rb matt.kuhlenschmidt Change 3108604 on 2016/08/31 by Mike.Fricker Added new "MIDI Device" plugin (disabled by default) - This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer - Currently only input is supported. In the future we might allow for output, as well. - In Blueprints, here's how to use it: - Look for "MIDI Device Manager" in the Blueprint RMB menu - Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available. - Then call "Create MIDI Device Controller" for the device you want. Store that in a variable. - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive. - Process the data passed into the Event to make your project do stuff! - This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin) #codereview matt.kuhlenschmidt #rb none Change 3108760 on 2016/08/31 by Alexis.Matte #jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false. #rb none #codereview matt.kuhlenschmidt Change 3109006 on 2016/08/31 by Alex.Delesky #ignore Source Control rename test - initial commit Change 3109044 on 2016/08/31 by Alex.Delesky #ignore Testing asset rename from P4 to observe correct behavior. #rb none Change 3109048 on 2016/08/31 by Alex.Delesky #ignore Testing P4 rename to identify correct behavior #rb none Change 3110044 on 2016/09/01 by Gareth.Martin Fixed painting foliage on blocking "query" actors not working #jira UE-33852 #rb Allan.Bentham Change 3110133 on 2016/09/01 by Alexis.Matte Fix crash in function GetForceRecompileTextureIdsHash #rb none #codereview jamie.dale Change 3111848 on 2016/09/02 by Mike.Fricker MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux) - Fixed bad enum cast #rb none Change 3111995 on 2016/09/02 by Michael.Dupuis #jira UE-35263 Do not try selecting the actor if the actor is in the blueprint Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process #rb Alexis Matte Change 3112280 on 2016/09/02 by Michael.Dupuis Call MakeWritable if source control fail #rb Alexis Matte Change 3112335 on 2016/09/02 by Cody.Albert Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode #jira UE-35306 #rb none Change 3112478 on 2016/09/02 by Alexis.Matte #jira UE-20059 Use a base material to import fbx material. #rb uriel.doyon #codereview matt.kuhlenschmidt #1468 Github pull request number Change 3113912 on 2016/09/06 by Michael.Dupuis #jira UE-32288 Fixed Console params display #rb Alexis Matte Change 3114026 on 2016/09/06 by Alex.Delesky #jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again. #rb Matt.Kuhlenschmidt Change 3114032 on 2016/09/06 by Alex.Delesky PR #2733: Improved the project launcher progress page (Contributed by projectgheist) #jira UE-34027 #rb Matt.Kuhlenschmidt Change 3114034 on 2016/09/06 by Alex.Delesky #jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable #rb Matt.Kuhlenschmidt Change 3114071 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114109 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114562 on 2016/09/06 by Nick.Darnell Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue. #rb none Change 3114701 on 2016/09/06 by Michael.Dupuis #jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView #rb Alexis Matte Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt Prevent non-thread safe slate code from running on the slate loading thread #rb none Change 3115698 on 2016/09/07 by Nick.Darnell Make sure the commands are available - during functional testing that was found to not always be the case. #rb none Change 3115719 on 2016/09/07 by Nick.Darnell Adding an IsRegistered command to commands. #rb none Change 3115721 on 2016/09/07 by Nick.Darnell Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly. #rb none Change 3115722 on 2016/09/07 by Nick.Darnell IsBindWidgetProperty now returns false if the property passed in is null. #rb none Change 3115734 on 2016/09/07 by Alexis.Matte #jira UE-30166 Support fbx sdk 2017 #rb none Change 3115737 on 2016/09/07 by Nick.Darnell Adding an image comparer for screenshots. Removing some content from EngineTest. #rb none Change 3115743 on 2016/09/07 by Nick.Darnell Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing! #rb none Change 3115748 on 2016/09/07 by Nick.Darnell Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds. #rb none Change 3115789 on 2016/09/07 by Jamie.Dale We now favor Traditional Chinese for Hong Kong and Macau #rb James.Hopkin Change 3115799 on 2016/09/07 by Jamie.Dale Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped #rb James.Hopkin Change 3115826 on 2016/09/07 by Nick.Darnell Adding missing files. #rb none Change 3115838 on 2016/09/07 by Nick.Darnell Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h #rb none Change 3116007 on 2016/09/07 by Alexis.Matte build fix #rb none Change 3116057 on 2016/09/07 by Jamie.Dale Fixed widget snapshot messages so they appear in the message debugger #rb none Change 3116112 on 2016/09/07 by Nick.Darnell Removing the FbxAutomationBuilder file that go recreated on a merge from main. #rb none Change 3116365 on 2016/09/07 by Michael.Dupuis #jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work. #codereview Matt.Kuhlenschmidt #rb Alexis.Matte Change 3116622 on 2016/09/07 by Alexis.Matte #jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name. #rb matt.kuhlenschmidt Change 3116638 on 2016/09/07 by Jamie.Dale Ensured that manifests and archives don't try and load data that they can't parse #rb none Change 3117397 on 2016/09/08 by Gareth.Martin Added rotate and blend support to the landscape mirror tool #jira UE-34829 #rb Jack.Porter Change 3117459 on 2016/09/08 by Gareth.Martin Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1) #jira UE-35301 #rb Jack.Porter Change 3117462 on 2016/09/08 by Gareth.Martin Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1) #jira UE-35494 #rb Benn.Gallagher Change 3117583 on 2016/09/08 by Nick.Darnell Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots. #rb none Change 3117595 on 2016/09/08 by Nick.Darnell Updating the build script for AutomatedTests, going to see if this works! #rb none Change 3117808 on 2016/09/08 by Nick.Darnell Adding header includes for async. #rb none Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt Partially taken from Pr 2381 Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem. #rb none Change 3117851 on 2016/09/08 by Jamie.Dale Silenced some redundant P4 errors that could be generated when running a stat update on a file Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command. #rb Ben.Marsh #codereview Thomas.Sarkanen Change 3117853 on 2016/09/08 by Gareth.Martin Clean up landscape includes and PCH #rb steve.robb Change 3117859 on 2016/09/08 by Alex.Delesky #jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse. #rb Nick.Darnell Change 3117997 on 2016/09/08 by Nick.Darnell Updating the automation tests build script to use Editor-Cmd #rb none Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt Properly reference graph node on material expressions so they are not GC'd while an expression still uses them #jira UE-35362 #rb none Change 3118043 on 2016/09/08 by Alex.Delesky #jira UE-30649 - Removed unnecessary returns from UWidget API. PR #2377: fix widget bug. (Contributed by dorgonman) #rb none Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt Guard against crash saving config during level editor shutdown #rb none #jira UE-35605 Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist) #rb none Change 3118078 on 2016/09/08 by Michael.Dupuis #jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified #rb Alexis.Matte Change 3118080 on 2016/09/08 by Michael.Dupuis #jira UE-31131 Do not show a contextual menu if the menu is empty #rb Alexis.Matte Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt Constify this method #rb none Change 3118166 on 2016/09/08 by Nick.Darnell Trying additional command options for the build machine for automation. #rb none Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt Fix actor delete during mesh paint not working during undo #rb none #jira UE-35684 Change 3118298 on 2016/09/08 by Alexis.Matte #jira UE-35302 Export all LODs for static mesh when there is no force LOD #rb uriel.doyon Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt Fixed reset to default not appearing for slate brushes #rb none #jira UE-34958 Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt Guard against crash with an invalid world trying to be opened from the content browser #rb none https://jira.ol.epicgames.net/browse/UE-35712 Change 3119433 on 2016/09/09 by Nick.Darnell Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around. #rb Matt.Kuklenschmidt #jira UE-35789 Change 3119448 on 2016/09/09 by Alex.Delesky When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface. #rb Nick.Darnell Change 3119522 on 2016/09/09 by Jamie.Dale Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true #rb Matt.Kuhlenschmidt Change 3119528 on 2016/09/09 by Jamie.Dale Some UI re-work to the localization dashboard This makes a better use of the available space, and will make it easier to make some other planned changes in the future. #rb James.Hopkin Change 3119861 on 2016/09/09 by Michael.Dupuis #jira UE-9284 Added the Play/Stop button on the thumbnail #rb Alexis.Matte Change 3120027 on 2016/09/09 by Alexis.Matte incorporate some fixes from licensee for LOD group re-import workflow #jira UE-32268 #rb uriel.doyon #codereview matt.kuhlenschmidt Change 3120845 on 2016/09/12 by Gareth.Martin Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1) #jira UE-35850 #rb Allan.Bentham Change 3120980 on 2016/09/12 by Nick.Darnell Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager. #rb none Change 3120992 on 2016/09/12 by Alex.Delesky #jira UE-35575 - TScriptInterface UProperties now have asset picker support. #rb Matt.Kuhlenschmidt Change 3121074 on 2016/09/12 by Michael.Dupuis #jira UE-30092 Added path length in error message when typing Added display of current filepath lenght for cooking #rb Alexis.Matte Change 3121113 on 2016/09/12 by Nick.Darnell Adding some placeholder examples to show people how to author tests in EngineTest. #rb none Change 3121152 on 2016/09/12 by Gareth.Martin Added TElementType, TIsContiguousContainer traits Added GetData(), GetNum() generic functions #rb Steve.Robb Change 3121702 on 2016/09/12 by Jamie.Dale Optimized a loop over a sorted list to instead use a binary search This speeds up the short-lived allocation view generation. We also now dump the exception information to the Trace log when in a non-debug build. #rb James.Hopkin Change 3121721 on 2016/09/12 by Jamie.Dale We now set the window mode first when resizing the game viewport to ensure that the work area is correct Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode. #jira UE-32842 #rb Matt.Kuhlenschmidt Change 3122578 on 2016/09/13 by Jamie.Dale Small code clean up Removed a use of the placement new style array addition. #rb none Change 3122634 on 2016/09/13 by Jamie.Dale We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick #jira UE-34865 #rb James.Hopkin Change 3122656 on 2016/09/13 by Jamie.Dale Fixed array combo button not focusing its contents, which prevented the menu closing correctly #jira UE-33667 #rb none Change 3122661 on 2016/09/13 by Nick.Darnell Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs. #rb none Change 3122678 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before USTRUCT can be used. #rb none Change 3122686 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before UCLASS can be used. #rb none Change 3122728 on 2016/09/13 by Nick.Darnell UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. #jira UE-35167 #rb none Change 3122775 on 2016/09/13 by Nick.Darnell Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH. #rb none Change 3122779 on 2016/09/13 by Nick.Darnell Widgetnimation - Exposing more of the class to C++. #rb none Change 3122793 on 2016/09/13 by Nick.Darnell Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance. #jira UE-35796 #rb none Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt Fixed crash undoing moves after bsp creation https://jira.ol.epicgames.net/browse/UE-35880 #rb none Change 3122835 on 2016/09/13 by Nick.Darnell Reverting changes to WIdgetAnimation #rb none Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt Fixed non-editor compile error #rb none Change 3122988 on 2016/09/13 by Alexis.Matte Material workflow refactor #jira UETOOL-774 #rb matt.kuhlenschmidt Change 3123006 on 2016/09/13 by Jamie.Dale Fixed dynamic collections not returning anything #jira UE-35869 #rb James.Hopkin Change 3123145 on 2016/09/13 by Alexis.Matte Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build. #jira UE-32268 #rb none #codereview matt.kuhlenschmidt Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt Fix fortnite compile error #rb alexis.matte Change 3123208 on 2016/09/13 by Jamie.Dale The 'find culprit' dialog now honors the user choice #rb RichTW Change 3123545 on 2016/09/13 by Nick.Darnell Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows. #rb none Change 3124494 on 2016/09/14 by Jamie.Dale Added ~ to the list of invalid characters for object/package names #jira UE-12908 #rb Matt.Kuhlenschmidt Change 3124513 on 2016/09/14 by Gareth.Martin Implemented filter to allow painting foliage on other foliage - Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes #rb Allan.Bentham #2472 Change 3124523 on 2016/09/14 by Jamie.Dale PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster) #jira UE-34811 #jira UE-32082 #rb none Change 3124607 on 2016/09/14 by Nick.Darnell UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function. #jira UE-35667 #rb none Change 3124785 on 2016/09/14 by Gareth.Martin Made some foliage functions editor-only to fix non-editor build #rb none Change 3124795 on 2016/09/14 by Gareth.Martin Saved/loaded the new foliage filter #rb Allan.Bentham #2472 Change 3124915 on 2016/09/14 by Michael.Dupuis #jira UE-19511 Add support for Add to source control on DefaultEditorPerProjectUserSettings file Remove CheckoutNotice when not editing a DefaultXXXX.ini file Edit proper config file either we're modifying settings from a Default file or Local user file #codereview Matt.Kuhlenschmidt Max.Preussner #rb Alexis.Matte Change 3125266 on 2016/09/14 by Jamie.Dale Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong #rb none Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt Fix crash when using SaveAs to save over top of an existing level #rb none https://jira.ol.epicgames.net/browse/UE-35919 https://jira.ol.epicgames.net/browse/UE-35921 Change 3125487 on 2016/09/14 by Alexis.Matte Fix cook content, regression induce by the material workflow refactor #rb matt.kuhlenschmidt Change 3126217 on 2016/09/15 by Gareth.Martin Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances #rb Allan.Bentham Change 3126311 on 2016/09/15 by Jamie.Dale Placement mode fixes - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const. - Ensured that the ID used by FPlaceableItem could never overflow. - Fixed some types being missing from the "All Classes" list. - Fixed the escape key not cancelling the search. #jira UE-35972 #rb James.Hopkin Change 3126325 on 2016/09/15 by Jamie.Dale Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added. #rb Andrew.Rodham Change 3126403 on 2016/09/15 by Gareth.Martin Added Find and Contains functions to TBitArray #rb Steve.Robb Change 3126405 on 2016/09/15 by Gareth.Martin Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor - Just like regular instanced mesh components! Also fixed not being able to move instances of an instanced mesh component when it is the root component Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished) #jira UE-29357 #rb Allan.Bentham Change 3126444 on 2016/09/15 by Jamie.Dale Fixed the loc dashboard configs not working with SCC This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul. #rb none Change 3126446 on 2016/09/15 by Jamie.Dale Fixed loc dashboard game and engine targets sharing the same expansion settting #rb none Change 3126555 on 2016/09/15 by Chris.Wood Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path. [UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows #rb Steve.Robb Change 3126586 on 2016/09/15 by Gareth.Martin Fixed missing landscape components when using a LODBias (cloned from 4.13.1) #jira UE-35873 #rb Jack.Porter Change 3126610 on 2016/09/15 by Jamie.Dale Stopped PS4 from always staging all ICU data files #rb Marcus.Wassmer Change 3126779 on 2016/09/15 by Michael.Dupuis #jira UE-32914 Improve the help text to provide usage examples and params #rb Alexis.Matte Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt Fix font material and outline font material not being animatable in sequencer #rb frank.fella Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt File not saved #rb none Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt Fixed reset to default state still not appearing in all cases after changing a property. #rb none Change 3127038 on 2016/09/15 by Nick.Darnell UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable. #rb none Change 3127061 on 2016/09/15 by Nick.Darnell Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children. #jira UE-35726 #rb Matt.Kuchlenschmidt Change 3127205 on 2016/09/15 by Alex.Delesky #jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency. #rb Nick.Darnell Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt Fix crash in scene outliner if actors become invalid #rb none https://jira.ol.epicgames.net/browse/UE-35932 Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt Added guards for crashes accessing slate resources for deleted uobjects #rb nick.darnell Change 3128067 on 2016/09/16 by Michael.Dupuis #jira UE-34158 Add an option to auto expand advanced details #rb Alexis.Matte Change 3128073 on 2016/09/16 by Michael.Dupuis #jira UE-1145 Set Save As to Ctrl + Alt + S Set Save All to Ctrl + Shift + S Set Save Current to Ctrl + S #rb Alexis.Matte Change 3128117 on 2016/09/16 by Jamie.Dale Updated the pin-type filter combo to filter on both the localized and source type descriptions #jira UE-36081 #rb none Change 3128177 on 2016/09/16 by Alexis.Matte #jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value. #rb michael.dupuis #codereview matt.kuhlenschmidt Change 3128387 on 2016/09/16 by Gareth.Martin Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes #jira UE-36093 #rb none Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt Guard against scene outliner crash. Print out tree when items appear twice. https://jira.ol.epicgames.net/browse/UE-35935 #rb none Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget #rb none Change 3128482 on 2016/09/16 by Michael.Dupuis Added new key binding for generic Save, Save As Added new key binding for Save All for the content browser #rb Alexis.Matte (approved by MattK) Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt Fix build warning #codereview nick.darnell #rb none Change 3128642 on 2016/09/16 by Alexis.Matte #jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear #rb none #codereview matt.kuhlenschmidt Change 3128733 on 2016/09/16 by Nick.Darnell UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly. #jira UE-36105 #rb none Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor #rb none Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt Fix offset characters on some small fonts #rb none Change 3130057 on 2016/09/19 by Jamie.Dale Fixing volatility and invalidation issues for text widgets #jira UE-33988 #rb Nick.Darnell Change 3130064 on 2016/09/19 by Jamie.Dale Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly #rb James.Hopkin Change 3130233 on 2016/09/19 by Michael.Dupuis #jira UE-32914 Added missing args that the UI supported #rb Alexis.Matte Change 3130265 on 2016/09/19 by Nick.Darnell Automation - Cleaning up some API items. #rb none Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt Fix reentrancy saving assets while a prompt for checkout dialog is open #rb none Change 3130398 on 2016/09/19 by Jamie.Dale Fixing UHT error when building #rb none Change 3132101 on 2016/09/20 by Nick.Darnell UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals. #rb none Change 3132110 on 2016/09/20 by Nick.Darnell PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist) #jira UE-13770 #rb Nick.Darnell Change 3132111 on 2016/09/20 by Nick.Darnell UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly. #rb none Change 3132138 on 2016/09/20 by Michael.Dupuis #jira UE-30945 Added missing PostEditComponentMove after drag is finished #rb Alexis.Matte Change 3132147 on 2016/09/20 by Michael.Dupuis #jira UE-30866 Fixed the filter to work properly #rb Alexis.Matte Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt Fix static analysis warnings in this file #rb none Change 3132231 on 2016/09/20 by Nick.Darnell Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected. #jira UE-33285 #rb none Change 3132255 on 2016/09/20 by Alex.Delesky #jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container. #rb Matt.Kuhlenschmidt Change 3132587 on 2016/09/20 by Mike.Fricker MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604) #rb none #lockdown matt.kuhlenschmidt Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt Fix crash opening the cooker settings https://jira.it.epicgames.net/browse/UE-36197 #rb none #lockdown nick.darnell Change 3133144 on 2016/09/20 by Nick.Darnell Build configuration for automation tests. #rb none #lockdown matt.kuhlenschmidt Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt Fix default material on odin text #rb none #lockdown nick.darnell Change 3133913 on 2016/09/21 by Nick.Darnell Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp #rb none #jira UE-36231 #lockdown matt.kuhlenschmidt [CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
// When we startup the editor we always start it up in IsInGameView()=false mode
FEngineShowFlags& EditorShowFlagsToSave = LevelViewportClient->IsInGameView() ? LevelViewportClient->LastEngineShowFlags : LevelViewportClient->EngineShowFlags;
FEngineShowFlags& GameShowFlagsToSave = LevelViewportClient->IsInGameView() ? LevelViewportClient->EngineShowFlags : LevelViewportClient->LastEngineShowFlags;
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3077573 on 2016/08/04 by Nick.Darnell Removing some unused code, adding additional needed modules to editor tests. #rb none Change 3077580 on 2016/08/04 by Nick.Darnell Removing the test plugins, going to be recreating them in EngineTest. Change 3082659 on 2016/08/09 by Nick.Darnell Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them. #rb none Change 3082766 on 2016/08/09 by Jamie.Dale Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32. #jira UE-33971 #rb James.Hopkin Change 3083067 on 2016/08/09 by Nick.Darnell Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is. #rb none Change 3084475 on 2016/08/10 by Richard.TalbotWatkin Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server #codereview Matt.Kuhlenschmidt #rb none Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt Added grayscale texture importing support #rb none Change 3084774 on 2016/08/10 by Cody.Albert Adding controller support for ComboBox widget #jira UE-33826 #rb nick.darnell Change 3085716 on 2016/08/11 by Nick.Darnell UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with. #rb none Change 3085733 on 2016/08/11 by Nick.Darnell UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable. #rb none Change 3085734 on 2016/08/11 by Nick.Darnell Texture - Making GetDefaultMipMapBias a bit more efficent in the common case. #rb none Change 3085736 on 2016/08/11 by Nick.Darnell Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings. #rb none Change 3085737 on 2016/08/11 by Nick.Darnell Editor - code organization. #rb none Change 3085875 on 2016/08/11 by Nick.Darnell UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer. #rb none Change 3086209 on 2016/08/11 by Ben.Salem Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format. #rb adric.worley, william.ewen Change 3086515 on 2016/08/11 by Nick.Darnell Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case. #rb Matt.Kuhlenschmidt Change 3087216 on 2016/08/12 by Jamie.Dale Fixed an issue where re-scanning a package file may leave old assets in the asset registry We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package. This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work). #rb Andrew.Rodham Change 3087219 on 2016/08/12 by Jamie.Dale Updated TextRenderComponent to support multiple font pages It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page). #rb Matt.Kuhlenschmidt Change 3087308 on 2016/08/12 by Alex.Delesky #jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added. #rb Matt.Kuhlenschmidt Change 3089140 on 2016/08/15 by Jamie.Dale We now abort a directory watch if we lose access to the directory in question This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted. #jira UE-30172 #rb Andrew.Rodham Change 3089148 on 2016/08/15 by Alexis.Matte Allow fbx export of any actor type. #rb none #codereview dmitriy.dyomin Change 3089211 on 2016/08/15 by Jamie.Dale Unified access to the parent window for external dialogs A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible. You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window. #rb Andrew.Rodham Change 3089640 on 2016/08/15 by Jamie.Dale Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc #rb none Change 3089661 on 2016/08/15 by Nick.Darnell Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see. #rb none Change 3089667 on 2016/08/15 by Cody.Albert Updating RoutePointerUpEvent to call OnDrop for touch events when dragging #jira UE-34709 #rb nick.darnell Change 3089694 on 2016/08/15 by Jamie.Dale Applied a fix to the ExcludeClasses setting in the loc gather #rb none Change 3089889 on 2016/08/15 by Nick.Darnell Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities. #rb none Change 3090256 on 2016/08/16 by Nick.Darnell Automation - working on screenshots. #rb none Change 3090322 on 2016/08/16 by Nick.Darnell Automation - Adding modified screenshot function. #rb none Change 3090335 on 2016/08/16 by Nick.Darnell Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins. #rb none Change 3090881 on 2016/08/16 by Nick.Darnell Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected. #rb none Change 3090884 on 2016/08/16 by Nick.Darnell Plugins - There's now support for generating a Content Only plugin from the new plugin wizard. #rb none Change 3090911 on 2016/08/16 by Nick.Darnell Feature Packs - If there's an error loading a manifest, it's now an error, not a warning. #rb none Change 3090913 on 2016/08/16 by Jamie.Dale Optimization and usability improvements of the MemoryProfiler2 tool - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views. - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds. - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds. - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds. - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks). #jira UETOOL-948 #jira UETOOL-949 #rb James.Hopkin Change 3090962 on 2016/08/16 by Jamie.Dale Fixed double assignment of filter functions #rb none Change 3090989 on 2016/08/16 by Nick.Darnell Editor - Attempting to fix the build, non-unity issue I suspect. #rb none Change 3091754 on 2016/08/17 by Nick.Darnell FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc. #rb none #codereview Alexis.Matte Change 3091758 on 2016/08/17 by Nick.Darnell Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens. #rb none #codereview Nick.Atamas,Matt.Kuhlenschmidt Change 3091829 on 2016/08/17 by Nick.Darnell Build - Attempting to repair the build. #rb none Change 3091920 on 2016/08/17 by Nick.Darnell Build - Another attempt at fixing the mac build. #rb none Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying #rb none Change 3094474 on 2016/08/19 by Jamie.Dale Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled #jira UETOOL-951 #rb James.Hopkin Change 3094581 on 2016/08/19 by Jamie.Dale Added missing allocator filter needed by PS4 profiles #rb none Change 3094681 on 2016/08/19 by Richard.TalbotWatkin Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer. #jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation #rb none Change 3095163 on 2016/08/19 by Trung.Le #jira UE-20849: Added tooltips to the inputs of the Material final result node #rb matt.kuhlenschmidt Change 3095285 on 2016/08/19 by Trung.Le #jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member #rb none Change 3095344 on 2016/08/19 by Alexis.Matte #jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine. Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter). #rb none #codereview matt.kuhlenschmidt Change 3096162 on 2016/08/22 by Alexis.Matte #jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu. #rb none #codereview matt.kuhlenschmidt Change 3096261 on 2016/08/22 by Alexis.Matte #jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process. #rb lina.halper #codereview lina.halper Change 3096344 on 2016/08/22 by Jamie.Dale NSString conversion fix for UTF-32 strings containing characters outside of the BMP #jira UE-33971 #rb Peter.Sauerbrei, James.Hopkin Change 3096605 on 2016/08/22 by Alex.Delesky #jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any. #rb Matt.Kuhlenschmidt Change 3096615 on 2016/08/22 by Alex.Delesky #jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin. #rb Matt.Kuhlenschmidt Change 3096619 on 2016/08/22 by Alex.Delesky #jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel. #rb Matt.Kuhlenschmidt Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt PR #2729: Fix a typo in the comment (Contributed by adcentury) #rb none Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt PR #2726: Undef unused macros (Contributed by shrimpy56) #rb none Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt Guard against crash when details panels rebuild when their customizations have been torn down https://jira.ol.epicgames.net/browse/UE-35048 #rb none Change 3097757 on 2016/08/23 by Alex.Delesky #jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap #rb Matt.Kuhlenschmidt Change 3098164 on 2016/08/23 by Alexis.Matte #jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation. #rb none #codereview matt.kuhlenschmidt Change 3098502 on 2016/08/23 by Alexis.Matte #jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true #rb none #codereview matt.kuhlenschmidt Change 3099986 on 2016/08/24 by Jamie.Dale Fixing non-editor builds #rb none Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc) #rb none Change 3101280 on 2016/08/25 by Jamie.Dale Fixed crash when counting memory over internationalization meta-data - The serialization code only used to handle loading or saving, now it handles loading or not loading. - The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override. #rb James.Hopkin Change 3101283 on 2016/08/25 by Jamie.Dale MProf2 platform and symbol parsing improvements - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks). - Added a PS4 symbol parser which handles performing full file/line resolution for symbols. - Removed all the V3 file format support and legacy platform handling. - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup. #rb James.Hopkin Change 3101586 on 2016/08/25 by Jamie.Dale Small code cleanup and path normalization #rb James.Hopkin Change 3101837 on 2016/08/25 by Alexis.Matte #jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations #rb none #codereview matt.kuhlenschmidt Change 3102537 on 2016/08/26 by Jamie.Dale Fix for potential crash in FICUCamelCaseBreakIterator In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is. #rb James.Hopkin Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt Log the freetype version when it starts up (for debugging purposes) #rb none Change 3102657 on 2016/08/26 by Alexis.Matte #jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader. #review-3101585 @uriel.doyon #rb matt.kuhlenschmidt Change 3102704 on 2016/08/26 by Jamie.Dale Added symbol meta-data support to MProf2 You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file. PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user. #rb James.Hopkin Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt Added support for outline fonts - An outline size (in slate units), optional material and optional fill color can be specified with each font info. - Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines - Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas #rb jamie.dale Change 3102879 on 2016/08/26 by Jamie.Dale Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files #rb none Change 3102960 on 2016/08/26 by Alexis.Matte build fix #rb none Change 3103032 on 2016/08/26 by Jamie.Dale Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting #jira UE-34936 #rb Matt.Kuhlenschmidt Change 3103278 on 2016/08/26 by Jamie.Dale Fixing Clang warnings #rb none Change 3104211 on 2016/08/29 by Ben.Marsh Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them. #rb none Change 3104290 on 2016/08/29 by Alex.Delesky Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with. #rb Matt.Kuhlenschmidt Change 3104292 on 2016/08/29 by Alex.Delesky #jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac. #rb Matt.Kuhlenschmidt Change 3104294 on 2016/08/29 by Alex.Delesky #jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget #rb Matt.Kuhlenschmidt Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx) #rb none Change 3104296 on 2016/08/29 by Alex.Delesky #jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero. #rb Matt.Kuhlenschmidt Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out. #rb none Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it. #rb none #jira UE-31865 Change 3104396 on 2016/08/29 by Ben.Marsh Fix incrorrect agent names for running automated tests Change 3104610 on 2016/08/29 by Alex.Delesky Fix for AutomationTool compile editor from changes introduced today. #rb None Change 3104611 on 2016/08/29 by Michael.Dupuis #jira UETOOL-253 #rb Alexis.Matte Change 3105826 on 2016/08/30 by Gareth.Martin Added console variables to discard grass and/or scalable foliage data on load #jira UE-35086 #rb Benn Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt Eliminated bad code duplication between retainer widgets and element batcher #rb none #codereview nick.darnell Change 3106449 on 2016/08/30 by Michael.Dupuis #jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu) #rb Alexis.Matte Change 3106966 on 2016/08/30 by Jamie.Dale Fixed FApp::IsAuthorizedUser not considering the SessionOwner override #rb Max.Preussner Change 3107687 on 2016/08/31 by Michael.Dupuis Checkout/Make Writable on proper config file #rb Matt Kuhlenschmidt Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt Fixed mode typos in the lerp instruction #rb none Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt Logging and guard against UEditorEngine::TeardownPlaySession crash. #rb none https://jira.ol.epicgames.net/browse/UE-35325 Change 3107912 on 2016/08/31 by Alex.Delesky #jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations. #rb Matt.Kuhlenschmidt Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file. #rb none Change 3108027 on 2016/08/31 by Chris.Wood Re-added lost doc comment for analytics event "Engine.AbnormalShutdown". #rb none - just a comment in a cpp file #codereview wes.hunt Change 3108580 on 2016/08/31 by Mike.Fricker Deleted the "Live Editor" plugins from UE4 - These were undocumented, buggy and never finished, and we have no plans to complete them - Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files #codereview matt.kuhlenschmidt #rb matt.kuhlenschmidt Change 3108604 on 2016/08/31 by Mike.Fricker Added new "MIDI Device" plugin (disabled by default) - This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer - Currently only input is supported. In the future we might allow for output, as well. - In Blueprints, here's how to use it: - Look for "MIDI Device Manager" in the Blueprint RMB menu - Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available. - Then call "Create MIDI Device Controller" for the device you want. Store that in a variable. - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive. - Process the data passed into the Event to make your project do stuff! - This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin) #codereview matt.kuhlenschmidt #rb none Change 3108760 on 2016/08/31 by Alexis.Matte #jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false. #rb none #codereview matt.kuhlenschmidt Change 3109006 on 2016/08/31 by Alex.Delesky #ignore Source Control rename test - initial commit Change 3109044 on 2016/08/31 by Alex.Delesky #ignore Testing asset rename from P4 to observe correct behavior. #rb none Change 3109048 on 2016/08/31 by Alex.Delesky #ignore Testing P4 rename to identify correct behavior #rb none Change 3110044 on 2016/09/01 by Gareth.Martin Fixed painting foliage on blocking "query" actors not working #jira UE-33852 #rb Allan.Bentham Change 3110133 on 2016/09/01 by Alexis.Matte Fix crash in function GetForceRecompileTextureIdsHash #rb none #codereview jamie.dale Change 3111848 on 2016/09/02 by Mike.Fricker MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux) - Fixed bad enum cast #rb none Change 3111995 on 2016/09/02 by Michael.Dupuis #jira UE-35263 Do not try selecting the actor if the actor is in the blueprint Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process #rb Alexis Matte Change 3112280 on 2016/09/02 by Michael.Dupuis Call MakeWritable if source control fail #rb Alexis Matte Change 3112335 on 2016/09/02 by Cody.Albert Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode #jira UE-35306 #rb none Change 3112478 on 2016/09/02 by Alexis.Matte #jira UE-20059 Use a base material to import fbx material. #rb uriel.doyon #codereview matt.kuhlenschmidt #1468 Github pull request number Change 3113912 on 2016/09/06 by Michael.Dupuis #jira UE-32288 Fixed Console params display #rb Alexis Matte Change 3114026 on 2016/09/06 by Alex.Delesky #jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again. #rb Matt.Kuhlenschmidt Change 3114032 on 2016/09/06 by Alex.Delesky PR #2733: Improved the project launcher progress page (Contributed by projectgheist) #jira UE-34027 #rb Matt.Kuhlenschmidt Change 3114034 on 2016/09/06 by Alex.Delesky #jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable #rb Matt.Kuhlenschmidt Change 3114071 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114109 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114562 on 2016/09/06 by Nick.Darnell Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue. #rb none Change 3114701 on 2016/09/06 by Michael.Dupuis #jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView #rb Alexis Matte Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt Prevent non-thread safe slate code from running on the slate loading thread #rb none Change 3115698 on 2016/09/07 by Nick.Darnell Make sure the commands are available - during functional testing that was found to not always be the case. #rb none Change 3115719 on 2016/09/07 by Nick.Darnell Adding an IsRegistered command to commands. #rb none Change 3115721 on 2016/09/07 by Nick.Darnell Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly. #rb none Change 3115722 on 2016/09/07 by Nick.Darnell IsBindWidgetProperty now returns false if the property passed in is null. #rb none Change 3115734 on 2016/09/07 by Alexis.Matte #jira UE-30166 Support fbx sdk 2017 #rb none Change 3115737 on 2016/09/07 by Nick.Darnell Adding an image comparer for screenshots. Removing some content from EngineTest. #rb none Change 3115743 on 2016/09/07 by Nick.Darnell Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing! #rb none Change 3115748 on 2016/09/07 by Nick.Darnell Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds. #rb none Change 3115789 on 2016/09/07 by Jamie.Dale We now favor Traditional Chinese for Hong Kong and Macau #rb James.Hopkin Change 3115799 on 2016/09/07 by Jamie.Dale Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped #rb James.Hopkin Change 3115826 on 2016/09/07 by Nick.Darnell Adding missing files. #rb none Change 3115838 on 2016/09/07 by Nick.Darnell Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h #rb none Change 3116007 on 2016/09/07 by Alexis.Matte build fix #rb none Change 3116057 on 2016/09/07 by Jamie.Dale Fixed widget snapshot messages so they appear in the message debugger #rb none Change 3116112 on 2016/09/07 by Nick.Darnell Removing the FbxAutomationBuilder file that go recreated on a merge from main. #rb none Change 3116365 on 2016/09/07 by Michael.Dupuis #jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work. #codereview Matt.Kuhlenschmidt #rb Alexis.Matte Change 3116622 on 2016/09/07 by Alexis.Matte #jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name. #rb matt.kuhlenschmidt Change 3116638 on 2016/09/07 by Jamie.Dale Ensured that manifests and archives don't try and load data that they can't parse #rb none Change 3117397 on 2016/09/08 by Gareth.Martin Added rotate and blend support to the landscape mirror tool #jira UE-34829 #rb Jack.Porter Change 3117459 on 2016/09/08 by Gareth.Martin Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1) #jira UE-35301 #rb Jack.Porter Change 3117462 on 2016/09/08 by Gareth.Martin Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1) #jira UE-35494 #rb Benn.Gallagher Change 3117583 on 2016/09/08 by Nick.Darnell Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots. #rb none Change 3117595 on 2016/09/08 by Nick.Darnell Updating the build script for AutomatedTests, going to see if this works! #rb none Change 3117808 on 2016/09/08 by Nick.Darnell Adding header includes for async. #rb none Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt Partially taken from Pr 2381 Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem. #rb none Change 3117851 on 2016/09/08 by Jamie.Dale Silenced some redundant P4 errors that could be generated when running a stat update on a file Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command. #rb Ben.Marsh #codereview Thomas.Sarkanen Change 3117853 on 2016/09/08 by Gareth.Martin Clean up landscape includes and PCH #rb steve.robb Change 3117859 on 2016/09/08 by Alex.Delesky #jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse. #rb Nick.Darnell Change 3117997 on 2016/09/08 by Nick.Darnell Updating the automation tests build script to use Editor-Cmd #rb none Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt Properly reference graph node on material expressions so they are not GC'd while an expression still uses them #jira UE-35362 #rb none Change 3118043 on 2016/09/08 by Alex.Delesky #jira UE-30649 - Removed unnecessary returns from UWidget API. PR #2377: fix widget bug. (Contributed by dorgonman) #rb none Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt Guard against crash saving config during level editor shutdown #rb none #jira UE-35605 Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist) #rb none Change 3118078 on 2016/09/08 by Michael.Dupuis #jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified #rb Alexis.Matte Change 3118080 on 2016/09/08 by Michael.Dupuis #jira UE-31131 Do not show a contextual menu if the menu is empty #rb Alexis.Matte Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt Constify this method #rb none Change 3118166 on 2016/09/08 by Nick.Darnell Trying additional command options for the build machine for automation. #rb none Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt Fix actor delete during mesh paint not working during undo #rb none #jira UE-35684 Change 3118298 on 2016/09/08 by Alexis.Matte #jira UE-35302 Export all LODs for static mesh when there is no force LOD #rb uriel.doyon Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt Fixed reset to default not appearing for slate brushes #rb none #jira UE-34958 Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt Guard against crash with an invalid world trying to be opened from the content browser #rb none https://jira.ol.epicgames.net/browse/UE-35712 Change 3119433 on 2016/09/09 by Nick.Darnell Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around. #rb Matt.Kuklenschmidt #jira UE-35789 Change 3119448 on 2016/09/09 by Alex.Delesky When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface. #rb Nick.Darnell Change 3119522 on 2016/09/09 by Jamie.Dale Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true #rb Matt.Kuhlenschmidt Change 3119528 on 2016/09/09 by Jamie.Dale Some UI re-work to the localization dashboard This makes a better use of the available space, and will make it easier to make some other planned changes in the future. #rb James.Hopkin Change 3119861 on 2016/09/09 by Michael.Dupuis #jira UE-9284 Added the Play/Stop button on the thumbnail #rb Alexis.Matte Change 3120027 on 2016/09/09 by Alexis.Matte incorporate some fixes from licensee for LOD group re-import workflow #jira UE-32268 #rb uriel.doyon #codereview matt.kuhlenschmidt Change 3120845 on 2016/09/12 by Gareth.Martin Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1) #jira UE-35850 #rb Allan.Bentham Change 3120980 on 2016/09/12 by Nick.Darnell Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager. #rb none Change 3120992 on 2016/09/12 by Alex.Delesky #jira UE-35575 - TScriptInterface UProperties now have asset picker support. #rb Matt.Kuhlenschmidt Change 3121074 on 2016/09/12 by Michael.Dupuis #jira UE-30092 Added path length in error message when typing Added display of current filepath lenght for cooking #rb Alexis.Matte Change 3121113 on 2016/09/12 by Nick.Darnell Adding some placeholder examples to show people how to author tests in EngineTest. #rb none Change 3121152 on 2016/09/12 by Gareth.Martin Added TElementType, TIsContiguousContainer traits Added GetData(), GetNum() generic functions #rb Steve.Robb Change 3121702 on 2016/09/12 by Jamie.Dale Optimized a loop over a sorted list to instead use a binary search This speeds up the short-lived allocation view generation. We also now dump the exception information to the Trace log when in a non-debug build. #rb James.Hopkin Change 3121721 on 2016/09/12 by Jamie.Dale We now set the window mode first when resizing the game viewport to ensure that the work area is correct Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode. #jira UE-32842 #rb Matt.Kuhlenschmidt Change 3122578 on 2016/09/13 by Jamie.Dale Small code clean up Removed a use of the placement new style array addition. #rb none Change 3122634 on 2016/09/13 by Jamie.Dale We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick #jira UE-34865 #rb James.Hopkin Change 3122656 on 2016/09/13 by Jamie.Dale Fixed array combo button not focusing its contents, which prevented the menu closing correctly #jira UE-33667 #rb none Change 3122661 on 2016/09/13 by Nick.Darnell Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs. #rb none Change 3122678 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before USTRUCT can be used. #rb none Change 3122686 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before UCLASS can be used. #rb none Change 3122728 on 2016/09/13 by Nick.Darnell UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. #jira UE-35167 #rb none Change 3122775 on 2016/09/13 by Nick.Darnell Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH. #rb none Change 3122779 on 2016/09/13 by Nick.Darnell Widgetnimation - Exposing more of the class to C++. #rb none Change 3122793 on 2016/09/13 by Nick.Darnell Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance. #jira UE-35796 #rb none Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt Fixed crash undoing moves after bsp creation https://jira.ol.epicgames.net/browse/UE-35880 #rb none Change 3122835 on 2016/09/13 by Nick.Darnell Reverting changes to WIdgetAnimation #rb none Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt Fixed non-editor compile error #rb none Change 3122988 on 2016/09/13 by Alexis.Matte Material workflow refactor #jira UETOOL-774 #rb matt.kuhlenschmidt Change 3123006 on 2016/09/13 by Jamie.Dale Fixed dynamic collections not returning anything #jira UE-35869 #rb James.Hopkin Change 3123145 on 2016/09/13 by Alexis.Matte Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build. #jira UE-32268 #rb none #codereview matt.kuhlenschmidt Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt Fix fortnite compile error #rb alexis.matte Change 3123208 on 2016/09/13 by Jamie.Dale The 'find culprit' dialog now honors the user choice #rb RichTW Change 3123545 on 2016/09/13 by Nick.Darnell Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows. #rb none Change 3124494 on 2016/09/14 by Jamie.Dale Added ~ to the list of invalid characters for object/package names #jira UE-12908 #rb Matt.Kuhlenschmidt Change 3124513 on 2016/09/14 by Gareth.Martin Implemented filter to allow painting foliage on other foliage - Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes #rb Allan.Bentham #2472 Change 3124523 on 2016/09/14 by Jamie.Dale PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster) #jira UE-34811 #jira UE-32082 #rb none Change 3124607 on 2016/09/14 by Nick.Darnell UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function. #jira UE-35667 #rb none Change 3124785 on 2016/09/14 by Gareth.Martin Made some foliage functions editor-only to fix non-editor build #rb none Change 3124795 on 2016/09/14 by Gareth.Martin Saved/loaded the new foliage filter #rb Allan.Bentham #2472 Change 3124915 on 2016/09/14 by Michael.Dupuis #jira UE-19511 Add support for Add to source control on DefaultEditorPerProjectUserSettings file Remove CheckoutNotice when not editing a DefaultXXXX.ini file Edit proper config file either we're modifying settings from a Default file or Local user file #codereview Matt.Kuhlenschmidt Max.Preussner #rb Alexis.Matte Change 3125266 on 2016/09/14 by Jamie.Dale Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong #rb none Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt Fix crash when using SaveAs to save over top of an existing level #rb none https://jira.ol.epicgames.net/browse/UE-35919 https://jira.ol.epicgames.net/browse/UE-35921 Change 3125487 on 2016/09/14 by Alexis.Matte Fix cook content, regression induce by the material workflow refactor #rb matt.kuhlenschmidt Change 3126217 on 2016/09/15 by Gareth.Martin Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances #rb Allan.Bentham Change 3126311 on 2016/09/15 by Jamie.Dale Placement mode fixes - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const. - Ensured that the ID used by FPlaceableItem could never overflow. - Fixed some types being missing from the "All Classes" list. - Fixed the escape key not cancelling the search. #jira UE-35972 #rb James.Hopkin Change 3126325 on 2016/09/15 by Jamie.Dale Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added. #rb Andrew.Rodham Change 3126403 on 2016/09/15 by Gareth.Martin Added Find and Contains functions to TBitArray #rb Steve.Robb Change 3126405 on 2016/09/15 by Gareth.Martin Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor - Just like regular instanced mesh components! Also fixed not being able to move instances of an instanced mesh component when it is the root component Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished) #jira UE-29357 #rb Allan.Bentham Change 3126444 on 2016/09/15 by Jamie.Dale Fixed the loc dashboard configs not working with SCC This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul. #rb none Change 3126446 on 2016/09/15 by Jamie.Dale Fixed loc dashboard game and engine targets sharing the same expansion settting #rb none Change 3126555 on 2016/09/15 by Chris.Wood Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path. [UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows #rb Steve.Robb Change 3126586 on 2016/09/15 by Gareth.Martin Fixed missing landscape components when using a LODBias (cloned from 4.13.1) #jira UE-35873 #rb Jack.Porter Change 3126610 on 2016/09/15 by Jamie.Dale Stopped PS4 from always staging all ICU data files #rb Marcus.Wassmer Change 3126779 on 2016/09/15 by Michael.Dupuis #jira UE-32914 Improve the help text to provide usage examples and params #rb Alexis.Matte Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt Fix font material and outline font material not being animatable in sequencer #rb frank.fella Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt File not saved #rb none Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt Fixed reset to default state still not appearing in all cases after changing a property. #rb none Change 3127038 on 2016/09/15 by Nick.Darnell UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable. #rb none Change 3127061 on 2016/09/15 by Nick.Darnell Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children. #jira UE-35726 #rb Matt.Kuchlenschmidt Change 3127205 on 2016/09/15 by Alex.Delesky #jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency. #rb Nick.Darnell Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt Fix crash in scene outliner if actors become invalid #rb none https://jira.ol.epicgames.net/browse/UE-35932 Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt Added guards for crashes accessing slate resources for deleted uobjects #rb nick.darnell Change 3128067 on 2016/09/16 by Michael.Dupuis #jira UE-34158 Add an option to auto expand advanced details #rb Alexis.Matte Change 3128073 on 2016/09/16 by Michael.Dupuis #jira UE-1145 Set Save As to Ctrl + Alt + S Set Save All to Ctrl + Shift + S Set Save Current to Ctrl + S #rb Alexis.Matte Change 3128117 on 2016/09/16 by Jamie.Dale Updated the pin-type filter combo to filter on both the localized and source type descriptions #jira UE-36081 #rb none Change 3128177 on 2016/09/16 by Alexis.Matte #jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value. #rb michael.dupuis #codereview matt.kuhlenschmidt Change 3128387 on 2016/09/16 by Gareth.Martin Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes #jira UE-36093 #rb none Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt Guard against scene outliner crash. Print out tree when items appear twice. https://jira.ol.epicgames.net/browse/UE-35935 #rb none Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget #rb none Change 3128482 on 2016/09/16 by Michael.Dupuis Added new key binding for generic Save, Save As Added new key binding for Save All for the content browser #rb Alexis.Matte (approved by MattK) Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt Fix build warning #codereview nick.darnell #rb none Change 3128642 on 2016/09/16 by Alexis.Matte #jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear #rb none #codereview matt.kuhlenschmidt Change 3128733 on 2016/09/16 by Nick.Darnell UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly. #jira UE-36105 #rb none Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor #rb none Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt Fix offset characters on some small fonts #rb none Change 3130057 on 2016/09/19 by Jamie.Dale Fixing volatility and invalidation issues for text widgets #jira UE-33988 #rb Nick.Darnell Change 3130064 on 2016/09/19 by Jamie.Dale Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly #rb James.Hopkin Change 3130233 on 2016/09/19 by Michael.Dupuis #jira UE-32914 Added missing args that the UI supported #rb Alexis.Matte Change 3130265 on 2016/09/19 by Nick.Darnell Automation - Cleaning up some API items. #rb none Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt Fix reentrancy saving assets while a prompt for checkout dialog is open #rb none Change 3130398 on 2016/09/19 by Jamie.Dale Fixing UHT error when building #rb none Change 3132101 on 2016/09/20 by Nick.Darnell UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals. #rb none Change 3132110 on 2016/09/20 by Nick.Darnell PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist) #jira UE-13770 #rb Nick.Darnell Change 3132111 on 2016/09/20 by Nick.Darnell UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly. #rb none Change 3132138 on 2016/09/20 by Michael.Dupuis #jira UE-30945 Added missing PostEditComponentMove after drag is finished #rb Alexis.Matte Change 3132147 on 2016/09/20 by Michael.Dupuis #jira UE-30866 Fixed the filter to work properly #rb Alexis.Matte Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt Fix static analysis warnings in this file #rb none Change 3132231 on 2016/09/20 by Nick.Darnell Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected. #jira UE-33285 #rb none Change 3132255 on 2016/09/20 by Alex.Delesky #jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container. #rb Matt.Kuhlenschmidt Change 3132587 on 2016/09/20 by Mike.Fricker MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604) #rb none #lockdown matt.kuhlenschmidt Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt Fix crash opening the cooker settings https://jira.it.epicgames.net/browse/UE-36197 #rb none #lockdown nick.darnell Change 3133144 on 2016/09/20 by Nick.Darnell Build configuration for automation tests. #rb none #lockdown matt.kuhlenschmidt Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt Fix default material on odin text #rb none #lockdown nick.darnell Change 3133913 on 2016/09/21 by Nick.Darnell Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp #rb none #jira UE-36231 #lockdown matt.kuhlenschmidt [CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
FLevelEditorViewportInstanceSettings ViewportInstanceSettings;
ViewportInstanceSettings.ViewportType = LevelViewportClient->ViewportType;
ViewportInstanceSettings.PerspViewModeIndex = LevelViewportClient->GetPerspViewMode();
ViewportInstanceSettings.OrthoViewModeIndex = LevelViewportClient->GetOrthoViewMode();
ViewportInstanceSettings.EditorShowFlagsString = EditorShowFlagsToSave.ToString();
ViewportInstanceSettings.GameShowFlagsString = GameShowFlagsToSave.ToString();
ViewportInstanceSettings.BufferVisualizationMode = LevelViewportClient->CurrentBufferVisualizationMode;
ViewportInstanceSettings.ExposureSettings = LevelViewportClient->ExposureSettings;
ViewportInstanceSettings.FOVAngle = LevelViewportClient->FOVAngle;
ViewportInstanceSettings.bIsRealtime = LevelViewportClient->IsRealtime();
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3185985) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3170391 on 2016/10/21 by Ben.Woodhouse Remove the wait on end of frame ensure, because we can't rely on all the the underlying codepaths to never miss a call to flush RHI resources. The consequences of missing a flush on a given frame are not serious now, since we enforce the synchronisation with a fence, preventing the rendering thread from getting too far ahead. We will simply accumulate resources for an additional frame when this happens. #jira UE-37437 #fyi rolando.caloca, marcus.wassmer Change 3170659 on 2016/10/21 by Rolando.Caloca DR - vk - Prep work for state key changes Change 3170676 on 2016/10/21 by Rolando.Caloca DR - vk - Reworked blend state keys - Added depth/stencil to pipeline key Change 3170848 on 2016/10/21 by Daniel.Wright Level viewport 'show stats' option is now enabled by default, which avoids confusion with artists thinking lighting is built, when really the message is hidden. Change 3170849 on 2016/10/21 by Daniel.Wright Split FProjectedShadowInfo::RenderProjection into smaller functions which make the algorithm structure clear Change 3170995 on 2016/10/21 by Rolando.Caloca DR - vk - Show object on vulkan validation msgs Change 3171085 on 2016/10/21 by Rolando.Caloca DR - vk - Fix pipelines being used with incompatible renderpasses Change 3171159 on 2016/10/21 by Rolando.Caloca DR - vk - Fix layout when reading textures on CPU Change 3171167 on 2016/10/21 by Rolando.Caloca DR - vk - compile fix Change 3172462 on 2016/10/24 by Daniel.Wright Added a warning about shader compile times to the material tooltip Change 3172463 on 2016/10/24 by Daniel.Wright Reduced MinUnoccludedFraction to avoid artitfacts when a stationary light touches only a tiny part of a mesh Change 3172716 on 2016/10/24 by Brian.Karis Fix for crash UE-37369 when reimporting over a generated LOD. Change 3172967 on 2016/10/24 by Rolando.Caloca DR - vk - Fix writing buffers while GPU was using them Change 3174187 on 2016/10/25 by Olaf.Piesche UE-37020 Change 3174718 on 2016/10/26 by Rolando.Caloca DR - vk - Remove old timestamp queries, increase occlusion queries per pool to 4k Change 3175960 on 2016/10/26 by Rolando.Caloca DR - Added support for hlslcc header to have custom parsing Change 3176611 on 2016/10/27 by David.Hill DrawWireCone confusion: In response to a UDN, I'm updating confusing parameter names and comments for DrawWireCone() and DrawWireSphereCappedCone() Change 3177111 on 2016/10/27 by Rolando.Caloca DR - vk - Fix timestamps for frame Change 3177192 on 2016/10/27 by Arne.Schober DR - DitherLOD refactor - moved computation of the DepthStencil state out of SetMeshRenderState into GetDitheredLODTransitionState this is a prerequisite of further PSO work where we want to move up State setting in a similar war and reuse FMeshDrawingRenderState Change 3177278 on 2016/10/27 by Olaf.Piesche UE-37484 Change 3177297 on 2016/10/27 by Rolando.Caloca DR - vk - Enable GRHISupportsBaseVertexIndex Change 3177607 on 2016/10/27 by Rolando.Caloca DR - vk - SM4 UB prep Change 3178052 on 2016/10/28 by Arne.Schober DR - fix WebGL - the WebGL compiler is very picky on double underscores and does want the presission to be defined before any function definition. Change 3178156 on 2016/10/28 by Rolando.Caloca DR - vk - Added query timer - Fixed inline issues Change 3178158 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for out of stencil bits Change 3178462 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for Elemental Change 3179131 on 2016/10/28 by Rolando.Caloca DR - vk - Fix for r.Vulkan.UseRealUBs Change 3179139 on 2016/10/28 by Rolando.Caloca DR - vk - Move UB ring buffer to context Change 3179145 on 2016/10/28 by Rolando.Caloca DR - vk - Fix buffer barriers Change 3179888 on 2016/10/31 by Rolando.Caloca DR - vk - Align buffers to 16 bytes as we sometimes write to them with SIMD Change 3179923 on 2016/10/31 by Rolando.Caloca DR - vk - Wait for swapchain counter Change 3180430 on 2016/10/31 by Rolando.Caloca DR - vk - Properly wait for occlusion queries/cmd buffer - Actual log error if trying to use occlusion queries out of order Change 3180746 on 2016/10/31 by Rolando.Caloca DR - vk - Undo some waiting as it was on the wrong thread Change 3182115 on 2016/11/01 by Rolando.Caloca DR - hlslcc Linux path fix Change 3182118 on 2016/11/01 by Daniel.Wright Fixed global distance field seam artifacts from landscapes with no subsections Change 3182368 on 2016/11/01 by Daniel.Wright Dynamic Indirect Shadows for static meshes using distance fields * These Distance Field indirect shadows use the same tile culled and downsampled framework that capsule shadows use, with similar GPU cost * Individual StaticMesh assets can enable bGenerateMeshDistanceField to compute a distance field, without the memory cost of enabling for the whole project * New StaticMeshComponent properties bCastDynamicIndirectShadow and DynamicIndirectShadowMinVisibility * New WorldSettings property DynamicIndirectShadowsSelfShadowingIntensity which replaces the cvar * The GBuffer now stores HasDynamicIndirectShadowCasterRepresentation instead of HasHeightfieldRepresentation * DFAO from landscape is now done through the global distance field entirely. Landscape contribution to the global distance field is deferred to attempt to workaround texture streaming issues. Change 3182408 on 2016/11/01 by Rolando.Caloca DR - vk - Reworked occlusion queries, fixes flickering on AMD Change 3182585 on 2016/11/01 by Daniel.Wright PS4 compile fix Change 3183151 on 2016/11/02 by Rolando.Caloca DR - vk - Fix issue when processing super quick cmd buffers Change 3183160 on 2016/11/02 by Rolando.Caloca Dr - vk - Call reset queries outside render pass Change 3183182 on 2016/11/02 by Rolando.Caloca DR - Switch clear Change 3183194 on 2016/11/02 by Rolando.Caloca DR - Try to catch crash ahead of time Change 3183268 on 2016/11/02 by Rolando.Caloca DR - vk - Rename RenderPassState to TransitionState Change 3183440 on 2016/11/02 by Daniel.Wright Renamed 'Dynamic Indirect Shadow' to 'Distance Field Indirect Shadow' Change 3183793 on 2016/11/02 by Daniel.Wright Added ShadowResolutionScale to lightcomponent Change 3183796 on 2016/11/02 by Daniel.Wright Improved bSimulatePhysics comment, with info on why it might be greyed out Change 3183797 on 2016/11/02 by Daniel.Wright Precomputed shadowmaps no longer enable Force2To1Aspect, which is only needed for lightmaps. Improves shadowmap utilization. Change 3183915 on 2016/11/02 by Rolando.Caloca DR - vk - Remove redundant renderpasses Change 3183991 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3184001 on 2016/11/02 by Daniel.Wright Better draw event for IndirectCapsuleShadows in stereo Change 3184096 on 2016/11/02 by Chris.Bunner HDR for D3D11 - NVAPI toggle and encoding, UI compositing. Removed some outdated tonemamping cvars and modes. Change 3184399 on 2016/11/02 by Daniel.Wright Static analysis workaround Change 3184455 on 2016/11/02 by Mark.Satterthwaite Fix missing log10 from FCompositePS on hlslcc shader platforms so that QA can continue their integration. #jira UE-38164 Change 3184953 on 2016/11/03 by Chris.Bunner Fixing CIS warnings. [CL 3186011 by Marcus Wassmer in Main branch]
2016-11-03 16:55:27 -04:00
ViewportInstanceSettings.bShowOnScreenStats = LevelViewportClient->ShouldShowStats();
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3077573 on 2016/08/04 by Nick.Darnell Removing some unused code, adding additional needed modules to editor tests. #rb none Change 3077580 on 2016/08/04 by Nick.Darnell Removing the test plugins, going to be recreating them in EngineTest. Change 3082659 on 2016/08/09 by Nick.Darnell Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them. #rb none Change 3082766 on 2016/08/09 by Jamie.Dale Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32. #jira UE-33971 #rb James.Hopkin Change 3083067 on 2016/08/09 by Nick.Darnell Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is. #rb none Change 3084475 on 2016/08/10 by Richard.TalbotWatkin Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server #codereview Matt.Kuhlenschmidt #rb none Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt Added grayscale texture importing support #rb none Change 3084774 on 2016/08/10 by Cody.Albert Adding controller support for ComboBox widget #jira UE-33826 #rb nick.darnell Change 3085716 on 2016/08/11 by Nick.Darnell UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with. #rb none Change 3085733 on 2016/08/11 by Nick.Darnell UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable. #rb none Change 3085734 on 2016/08/11 by Nick.Darnell Texture - Making GetDefaultMipMapBias a bit more efficent in the common case. #rb none Change 3085736 on 2016/08/11 by Nick.Darnell Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings. #rb none Change 3085737 on 2016/08/11 by Nick.Darnell Editor - code organization. #rb none Change 3085875 on 2016/08/11 by Nick.Darnell UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer. #rb none Change 3086209 on 2016/08/11 by Ben.Salem Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format. #rb adric.worley, william.ewen Change 3086515 on 2016/08/11 by Nick.Darnell Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case. #rb Matt.Kuhlenschmidt Change 3087216 on 2016/08/12 by Jamie.Dale Fixed an issue where re-scanning a package file may leave old assets in the asset registry We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package. This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work). #rb Andrew.Rodham Change 3087219 on 2016/08/12 by Jamie.Dale Updated TextRenderComponent to support multiple font pages It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page). #rb Matt.Kuhlenschmidt Change 3087308 on 2016/08/12 by Alex.Delesky #jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added. #rb Matt.Kuhlenschmidt Change 3089140 on 2016/08/15 by Jamie.Dale We now abort a directory watch if we lose access to the directory in question This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted. #jira UE-30172 #rb Andrew.Rodham Change 3089148 on 2016/08/15 by Alexis.Matte Allow fbx export of any actor type. #rb none #codereview dmitriy.dyomin Change 3089211 on 2016/08/15 by Jamie.Dale Unified access to the parent window for external dialogs A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible. You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window. #rb Andrew.Rodham Change 3089640 on 2016/08/15 by Jamie.Dale Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc #rb none Change 3089661 on 2016/08/15 by Nick.Darnell Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see. #rb none Change 3089667 on 2016/08/15 by Cody.Albert Updating RoutePointerUpEvent to call OnDrop for touch events when dragging #jira UE-34709 #rb nick.darnell Change 3089694 on 2016/08/15 by Jamie.Dale Applied a fix to the ExcludeClasses setting in the loc gather #rb none Change 3089889 on 2016/08/15 by Nick.Darnell Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities. #rb none Change 3090256 on 2016/08/16 by Nick.Darnell Automation - working on screenshots. #rb none Change 3090322 on 2016/08/16 by Nick.Darnell Automation - Adding modified screenshot function. #rb none Change 3090335 on 2016/08/16 by Nick.Darnell Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins. #rb none Change 3090881 on 2016/08/16 by Nick.Darnell Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected. #rb none Change 3090884 on 2016/08/16 by Nick.Darnell Plugins - There's now support for generating a Content Only plugin from the new plugin wizard. #rb none Change 3090911 on 2016/08/16 by Nick.Darnell Feature Packs - If there's an error loading a manifest, it's now an error, not a warning. #rb none Change 3090913 on 2016/08/16 by Jamie.Dale Optimization and usability improvements of the MemoryProfiler2 tool - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views. - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds. - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds. - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds. - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks). #jira UETOOL-948 #jira UETOOL-949 #rb James.Hopkin Change 3090962 on 2016/08/16 by Jamie.Dale Fixed double assignment of filter functions #rb none Change 3090989 on 2016/08/16 by Nick.Darnell Editor - Attempting to fix the build, non-unity issue I suspect. #rb none Change 3091754 on 2016/08/17 by Nick.Darnell FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc. #rb none #codereview Alexis.Matte Change 3091758 on 2016/08/17 by Nick.Darnell Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens. #rb none #codereview Nick.Atamas,Matt.Kuhlenschmidt Change 3091829 on 2016/08/17 by Nick.Darnell Build - Attempting to repair the build. #rb none Change 3091920 on 2016/08/17 by Nick.Darnell Build - Another attempt at fixing the mac build. #rb none Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying #rb none Change 3094474 on 2016/08/19 by Jamie.Dale Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled #jira UETOOL-951 #rb James.Hopkin Change 3094581 on 2016/08/19 by Jamie.Dale Added missing allocator filter needed by PS4 profiles #rb none Change 3094681 on 2016/08/19 by Richard.TalbotWatkin Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer. #jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation #rb none Change 3095163 on 2016/08/19 by Trung.Le #jira UE-20849: Added tooltips to the inputs of the Material final result node #rb matt.kuhlenschmidt Change 3095285 on 2016/08/19 by Trung.Le #jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member #rb none Change 3095344 on 2016/08/19 by Alexis.Matte #jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine. Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter). #rb none #codereview matt.kuhlenschmidt Change 3096162 on 2016/08/22 by Alexis.Matte #jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu. #rb none #codereview matt.kuhlenschmidt Change 3096261 on 2016/08/22 by Alexis.Matte #jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process. #rb lina.halper #codereview lina.halper Change 3096344 on 2016/08/22 by Jamie.Dale NSString conversion fix for UTF-32 strings containing characters outside of the BMP #jira UE-33971 #rb Peter.Sauerbrei, James.Hopkin Change 3096605 on 2016/08/22 by Alex.Delesky #jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any. #rb Matt.Kuhlenschmidt Change 3096615 on 2016/08/22 by Alex.Delesky #jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin. #rb Matt.Kuhlenschmidt Change 3096619 on 2016/08/22 by Alex.Delesky #jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel. #rb Matt.Kuhlenschmidt Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt PR #2729: Fix a typo in the comment (Contributed by adcentury) #rb none Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt PR #2726: Undef unused macros (Contributed by shrimpy56) #rb none Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt Guard against crash when details panels rebuild when their customizations have been torn down https://jira.ol.epicgames.net/browse/UE-35048 #rb none Change 3097757 on 2016/08/23 by Alex.Delesky #jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap #rb Matt.Kuhlenschmidt Change 3098164 on 2016/08/23 by Alexis.Matte #jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation. #rb none #codereview matt.kuhlenschmidt Change 3098502 on 2016/08/23 by Alexis.Matte #jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true #rb none #codereview matt.kuhlenschmidt Change 3099986 on 2016/08/24 by Jamie.Dale Fixing non-editor builds #rb none Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc) #rb none Change 3101280 on 2016/08/25 by Jamie.Dale Fixed crash when counting memory over internationalization meta-data - The serialization code only used to handle loading or saving, now it handles loading or not loading. - The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override. #rb James.Hopkin Change 3101283 on 2016/08/25 by Jamie.Dale MProf2 platform and symbol parsing improvements - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks). - Added a PS4 symbol parser which handles performing full file/line resolution for symbols. - Removed all the V3 file format support and legacy platform handling. - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup. #rb James.Hopkin Change 3101586 on 2016/08/25 by Jamie.Dale Small code cleanup and path normalization #rb James.Hopkin Change 3101837 on 2016/08/25 by Alexis.Matte #jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations #rb none #codereview matt.kuhlenschmidt Change 3102537 on 2016/08/26 by Jamie.Dale Fix for potential crash in FICUCamelCaseBreakIterator In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is. #rb James.Hopkin Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt Log the freetype version when it starts up (for debugging purposes) #rb none Change 3102657 on 2016/08/26 by Alexis.Matte #jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader. #review-3101585 @uriel.doyon #rb matt.kuhlenschmidt Change 3102704 on 2016/08/26 by Jamie.Dale Added symbol meta-data support to MProf2 You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file. PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user. #rb James.Hopkin Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt Added support for outline fonts - An outline size (in slate units), optional material and optional fill color can be specified with each font info. - Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines - Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas #rb jamie.dale Change 3102879 on 2016/08/26 by Jamie.Dale Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files #rb none Change 3102960 on 2016/08/26 by Alexis.Matte build fix #rb none Change 3103032 on 2016/08/26 by Jamie.Dale Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting #jira UE-34936 #rb Matt.Kuhlenschmidt Change 3103278 on 2016/08/26 by Jamie.Dale Fixing Clang warnings #rb none Change 3104211 on 2016/08/29 by Ben.Marsh Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them. #rb none Change 3104290 on 2016/08/29 by Alex.Delesky Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with. #rb Matt.Kuhlenschmidt Change 3104292 on 2016/08/29 by Alex.Delesky #jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac. #rb Matt.Kuhlenschmidt Change 3104294 on 2016/08/29 by Alex.Delesky #jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget #rb Matt.Kuhlenschmidt Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx) #rb none Change 3104296 on 2016/08/29 by Alex.Delesky #jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero. #rb Matt.Kuhlenschmidt Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out. #rb none Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it. #rb none #jira UE-31865 Change 3104396 on 2016/08/29 by Ben.Marsh Fix incrorrect agent names for running automated tests Change 3104610 on 2016/08/29 by Alex.Delesky Fix for AutomationTool compile editor from changes introduced today. #rb None Change 3104611 on 2016/08/29 by Michael.Dupuis #jira UETOOL-253 #rb Alexis.Matte Change 3105826 on 2016/08/30 by Gareth.Martin Added console variables to discard grass and/or scalable foliage data on load #jira UE-35086 #rb Benn Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt Eliminated bad code duplication between retainer widgets and element batcher #rb none #codereview nick.darnell Change 3106449 on 2016/08/30 by Michael.Dupuis #jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu) #rb Alexis.Matte Change 3106966 on 2016/08/30 by Jamie.Dale Fixed FApp::IsAuthorizedUser not considering the SessionOwner override #rb Max.Preussner Change 3107687 on 2016/08/31 by Michael.Dupuis Checkout/Make Writable on proper config file #rb Matt Kuhlenschmidt Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt Fixed mode typos in the lerp instruction #rb none Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt Logging and guard against UEditorEngine::TeardownPlaySession crash. #rb none https://jira.ol.epicgames.net/browse/UE-35325 Change 3107912 on 2016/08/31 by Alex.Delesky #jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations. #rb Matt.Kuhlenschmidt Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file. #rb none Change 3108027 on 2016/08/31 by Chris.Wood Re-added lost doc comment for analytics event "Engine.AbnormalShutdown". #rb none - just a comment in a cpp file #codereview wes.hunt Change 3108580 on 2016/08/31 by Mike.Fricker Deleted the "Live Editor" plugins from UE4 - These were undocumented, buggy and never finished, and we have no plans to complete them - Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files #codereview matt.kuhlenschmidt #rb matt.kuhlenschmidt Change 3108604 on 2016/08/31 by Mike.Fricker Added new "MIDI Device" plugin (disabled by default) - This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer - Currently only input is supported. In the future we might allow for output, as well. - In Blueprints, here's how to use it: - Look for "MIDI Device Manager" in the Blueprint RMB menu - Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available. - Then call "Create MIDI Device Controller" for the device you want. Store that in a variable. - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive. - Process the data passed into the Event to make your project do stuff! - This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin) #codereview matt.kuhlenschmidt #rb none Change 3108760 on 2016/08/31 by Alexis.Matte #jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false. #rb none #codereview matt.kuhlenschmidt Change 3109006 on 2016/08/31 by Alex.Delesky #ignore Source Control rename test - initial commit Change 3109044 on 2016/08/31 by Alex.Delesky #ignore Testing asset rename from P4 to observe correct behavior. #rb none Change 3109048 on 2016/08/31 by Alex.Delesky #ignore Testing P4 rename to identify correct behavior #rb none Change 3110044 on 2016/09/01 by Gareth.Martin Fixed painting foliage on blocking "query" actors not working #jira UE-33852 #rb Allan.Bentham Change 3110133 on 2016/09/01 by Alexis.Matte Fix crash in function GetForceRecompileTextureIdsHash #rb none #codereview jamie.dale Change 3111848 on 2016/09/02 by Mike.Fricker MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux) - Fixed bad enum cast #rb none Change 3111995 on 2016/09/02 by Michael.Dupuis #jira UE-35263 Do not try selecting the actor if the actor is in the blueprint Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process #rb Alexis Matte Change 3112280 on 2016/09/02 by Michael.Dupuis Call MakeWritable if source control fail #rb Alexis Matte Change 3112335 on 2016/09/02 by Cody.Albert Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode #jira UE-35306 #rb none Change 3112478 on 2016/09/02 by Alexis.Matte #jira UE-20059 Use a base material to import fbx material. #rb uriel.doyon #codereview matt.kuhlenschmidt #1468 Github pull request number Change 3113912 on 2016/09/06 by Michael.Dupuis #jira UE-32288 Fixed Console params display #rb Alexis Matte Change 3114026 on 2016/09/06 by Alex.Delesky #jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again. #rb Matt.Kuhlenschmidt Change 3114032 on 2016/09/06 by Alex.Delesky PR #2733: Improved the project launcher progress page (Contributed by projectgheist) #jira UE-34027 #rb Matt.Kuhlenschmidt Change 3114034 on 2016/09/06 by Alex.Delesky #jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable #rb Matt.Kuhlenschmidt Change 3114071 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114109 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114562 on 2016/09/06 by Nick.Darnell Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue. #rb none Change 3114701 on 2016/09/06 by Michael.Dupuis #jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView #rb Alexis Matte Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt Prevent non-thread safe slate code from running on the slate loading thread #rb none Change 3115698 on 2016/09/07 by Nick.Darnell Make sure the commands are available - during functional testing that was found to not always be the case. #rb none Change 3115719 on 2016/09/07 by Nick.Darnell Adding an IsRegistered command to commands. #rb none Change 3115721 on 2016/09/07 by Nick.Darnell Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly. #rb none Change 3115722 on 2016/09/07 by Nick.Darnell IsBindWidgetProperty now returns false if the property passed in is null. #rb none Change 3115734 on 2016/09/07 by Alexis.Matte #jira UE-30166 Support fbx sdk 2017 #rb none Change 3115737 on 2016/09/07 by Nick.Darnell Adding an image comparer for screenshots. Removing some content from EngineTest. #rb none Change 3115743 on 2016/09/07 by Nick.Darnell Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing! #rb none Change 3115748 on 2016/09/07 by Nick.Darnell Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds. #rb none Change 3115789 on 2016/09/07 by Jamie.Dale We now favor Traditional Chinese for Hong Kong and Macau #rb James.Hopkin Change 3115799 on 2016/09/07 by Jamie.Dale Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped #rb James.Hopkin Change 3115826 on 2016/09/07 by Nick.Darnell Adding missing files. #rb none Change 3115838 on 2016/09/07 by Nick.Darnell Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h #rb none Change 3116007 on 2016/09/07 by Alexis.Matte build fix #rb none Change 3116057 on 2016/09/07 by Jamie.Dale Fixed widget snapshot messages so they appear in the message debugger #rb none Change 3116112 on 2016/09/07 by Nick.Darnell Removing the FbxAutomationBuilder file that go recreated on a merge from main. #rb none Change 3116365 on 2016/09/07 by Michael.Dupuis #jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work. #codereview Matt.Kuhlenschmidt #rb Alexis.Matte Change 3116622 on 2016/09/07 by Alexis.Matte #jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name. #rb matt.kuhlenschmidt Change 3116638 on 2016/09/07 by Jamie.Dale Ensured that manifests and archives don't try and load data that they can't parse #rb none Change 3117397 on 2016/09/08 by Gareth.Martin Added rotate and blend support to the landscape mirror tool #jira UE-34829 #rb Jack.Porter Change 3117459 on 2016/09/08 by Gareth.Martin Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1) #jira UE-35301 #rb Jack.Porter Change 3117462 on 2016/09/08 by Gareth.Martin Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1) #jira UE-35494 #rb Benn.Gallagher Change 3117583 on 2016/09/08 by Nick.Darnell Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots. #rb none Change 3117595 on 2016/09/08 by Nick.Darnell Updating the build script for AutomatedTests, going to see if this works! #rb none Change 3117808 on 2016/09/08 by Nick.Darnell Adding header includes for async. #rb none Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt Partially taken from Pr 2381 Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem. #rb none Change 3117851 on 2016/09/08 by Jamie.Dale Silenced some redundant P4 errors that could be generated when running a stat update on a file Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command. #rb Ben.Marsh #codereview Thomas.Sarkanen Change 3117853 on 2016/09/08 by Gareth.Martin Clean up landscape includes and PCH #rb steve.robb Change 3117859 on 2016/09/08 by Alex.Delesky #jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse. #rb Nick.Darnell Change 3117997 on 2016/09/08 by Nick.Darnell Updating the automation tests build script to use Editor-Cmd #rb none Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt Properly reference graph node on material expressions so they are not GC'd while an expression still uses them #jira UE-35362 #rb none Change 3118043 on 2016/09/08 by Alex.Delesky #jira UE-30649 - Removed unnecessary returns from UWidget API. PR #2377: fix widget bug. (Contributed by dorgonman) #rb none Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt Guard against crash saving config during level editor shutdown #rb none #jira UE-35605 Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist) #rb none Change 3118078 on 2016/09/08 by Michael.Dupuis #jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified #rb Alexis.Matte Change 3118080 on 2016/09/08 by Michael.Dupuis #jira UE-31131 Do not show a contextual menu if the menu is empty #rb Alexis.Matte Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt Constify this method #rb none Change 3118166 on 2016/09/08 by Nick.Darnell Trying additional command options for the build machine for automation. #rb none Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt Fix actor delete during mesh paint not working during undo #rb none #jira UE-35684 Change 3118298 on 2016/09/08 by Alexis.Matte #jira UE-35302 Export all LODs for static mesh when there is no force LOD #rb uriel.doyon Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt Fixed reset to default not appearing for slate brushes #rb none #jira UE-34958 Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt Guard against crash with an invalid world trying to be opened from the content browser #rb none https://jira.ol.epicgames.net/browse/UE-35712 Change 3119433 on 2016/09/09 by Nick.Darnell Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around. #rb Matt.Kuklenschmidt #jira UE-35789 Change 3119448 on 2016/09/09 by Alex.Delesky When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface. #rb Nick.Darnell Change 3119522 on 2016/09/09 by Jamie.Dale Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true #rb Matt.Kuhlenschmidt Change 3119528 on 2016/09/09 by Jamie.Dale Some UI re-work to the localization dashboard This makes a better use of the available space, and will make it easier to make some other planned changes in the future. #rb James.Hopkin Change 3119861 on 2016/09/09 by Michael.Dupuis #jira UE-9284 Added the Play/Stop button on the thumbnail #rb Alexis.Matte Change 3120027 on 2016/09/09 by Alexis.Matte incorporate some fixes from licensee for LOD group re-import workflow #jira UE-32268 #rb uriel.doyon #codereview matt.kuhlenschmidt Change 3120845 on 2016/09/12 by Gareth.Martin Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1) #jira UE-35850 #rb Allan.Bentham Change 3120980 on 2016/09/12 by Nick.Darnell Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager. #rb none Change 3120992 on 2016/09/12 by Alex.Delesky #jira UE-35575 - TScriptInterface UProperties now have asset picker support. #rb Matt.Kuhlenschmidt Change 3121074 on 2016/09/12 by Michael.Dupuis #jira UE-30092 Added path length in error message when typing Added display of current filepath lenght for cooking #rb Alexis.Matte Change 3121113 on 2016/09/12 by Nick.Darnell Adding some placeholder examples to show people how to author tests in EngineTest. #rb none Change 3121152 on 2016/09/12 by Gareth.Martin Added TElementType, TIsContiguousContainer traits Added GetData(), GetNum() generic functions #rb Steve.Robb Change 3121702 on 2016/09/12 by Jamie.Dale Optimized a loop over a sorted list to instead use a binary search This speeds up the short-lived allocation view generation. We also now dump the exception information to the Trace log when in a non-debug build. #rb James.Hopkin Change 3121721 on 2016/09/12 by Jamie.Dale We now set the window mode first when resizing the game viewport to ensure that the work area is correct Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode. #jira UE-32842 #rb Matt.Kuhlenschmidt Change 3122578 on 2016/09/13 by Jamie.Dale Small code clean up Removed a use of the placement new style array addition. #rb none Change 3122634 on 2016/09/13 by Jamie.Dale We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick #jira UE-34865 #rb James.Hopkin Change 3122656 on 2016/09/13 by Jamie.Dale Fixed array combo button not focusing its contents, which prevented the menu closing correctly #jira UE-33667 #rb none Change 3122661 on 2016/09/13 by Nick.Darnell Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs. #rb none Change 3122678 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before USTRUCT can be used. #rb none Change 3122686 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before UCLASS can be used. #rb none Change 3122728 on 2016/09/13 by Nick.Darnell UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. #jira UE-35167 #rb none Change 3122775 on 2016/09/13 by Nick.Darnell Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH. #rb none Change 3122779 on 2016/09/13 by Nick.Darnell Widgetnimation - Exposing more of the class to C++. #rb none Change 3122793 on 2016/09/13 by Nick.Darnell Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance. #jira UE-35796 #rb none Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt Fixed crash undoing moves after bsp creation https://jira.ol.epicgames.net/browse/UE-35880 #rb none Change 3122835 on 2016/09/13 by Nick.Darnell Reverting changes to WIdgetAnimation #rb none Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt Fixed non-editor compile error #rb none Change 3122988 on 2016/09/13 by Alexis.Matte Material workflow refactor #jira UETOOL-774 #rb matt.kuhlenschmidt Change 3123006 on 2016/09/13 by Jamie.Dale Fixed dynamic collections not returning anything #jira UE-35869 #rb James.Hopkin Change 3123145 on 2016/09/13 by Alexis.Matte Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build. #jira UE-32268 #rb none #codereview matt.kuhlenschmidt Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt Fix fortnite compile error #rb alexis.matte Change 3123208 on 2016/09/13 by Jamie.Dale The 'find culprit' dialog now honors the user choice #rb RichTW Change 3123545 on 2016/09/13 by Nick.Darnell Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows. #rb none Change 3124494 on 2016/09/14 by Jamie.Dale Added ~ to the list of invalid characters for object/package names #jira UE-12908 #rb Matt.Kuhlenschmidt Change 3124513 on 2016/09/14 by Gareth.Martin Implemented filter to allow painting foliage on other foliage - Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes #rb Allan.Bentham #2472 Change 3124523 on 2016/09/14 by Jamie.Dale PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster) #jira UE-34811 #jira UE-32082 #rb none Change 3124607 on 2016/09/14 by Nick.Darnell UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function. #jira UE-35667 #rb none Change 3124785 on 2016/09/14 by Gareth.Martin Made some foliage functions editor-only to fix non-editor build #rb none Change 3124795 on 2016/09/14 by Gareth.Martin Saved/loaded the new foliage filter #rb Allan.Bentham #2472 Change 3124915 on 2016/09/14 by Michael.Dupuis #jira UE-19511 Add support for Add to source control on DefaultEditorPerProjectUserSettings file Remove CheckoutNotice when not editing a DefaultXXXX.ini file Edit proper config file either we're modifying settings from a Default file or Local user file #codereview Matt.Kuhlenschmidt Max.Preussner #rb Alexis.Matte Change 3125266 on 2016/09/14 by Jamie.Dale Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong #rb none Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt Fix crash when using SaveAs to save over top of an existing level #rb none https://jira.ol.epicgames.net/browse/UE-35919 https://jira.ol.epicgames.net/browse/UE-35921 Change 3125487 on 2016/09/14 by Alexis.Matte Fix cook content, regression induce by the material workflow refactor #rb matt.kuhlenschmidt Change 3126217 on 2016/09/15 by Gareth.Martin Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances #rb Allan.Bentham Change 3126311 on 2016/09/15 by Jamie.Dale Placement mode fixes - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const. - Ensured that the ID used by FPlaceableItem could never overflow. - Fixed some types being missing from the "All Classes" list. - Fixed the escape key not cancelling the search. #jira UE-35972 #rb James.Hopkin Change 3126325 on 2016/09/15 by Jamie.Dale Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added. #rb Andrew.Rodham Change 3126403 on 2016/09/15 by Gareth.Martin Added Find and Contains functions to TBitArray #rb Steve.Robb Change 3126405 on 2016/09/15 by Gareth.Martin Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor - Just like regular instanced mesh components! Also fixed not being able to move instances of an instanced mesh component when it is the root component Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished) #jira UE-29357 #rb Allan.Bentham Change 3126444 on 2016/09/15 by Jamie.Dale Fixed the loc dashboard configs not working with SCC This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul. #rb none Change 3126446 on 2016/09/15 by Jamie.Dale Fixed loc dashboard game and engine targets sharing the same expansion settting #rb none Change 3126555 on 2016/09/15 by Chris.Wood Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path. [UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows #rb Steve.Robb Change 3126586 on 2016/09/15 by Gareth.Martin Fixed missing landscape components when using a LODBias (cloned from 4.13.1) #jira UE-35873 #rb Jack.Porter Change 3126610 on 2016/09/15 by Jamie.Dale Stopped PS4 from always staging all ICU data files #rb Marcus.Wassmer Change 3126779 on 2016/09/15 by Michael.Dupuis #jira UE-32914 Improve the help text to provide usage examples and params #rb Alexis.Matte Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt Fix font material and outline font material not being animatable in sequencer #rb frank.fella Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt File not saved #rb none Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt Fixed reset to default state still not appearing in all cases after changing a property. #rb none Change 3127038 on 2016/09/15 by Nick.Darnell UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable. #rb none Change 3127061 on 2016/09/15 by Nick.Darnell Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children. #jira UE-35726 #rb Matt.Kuchlenschmidt Change 3127205 on 2016/09/15 by Alex.Delesky #jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency. #rb Nick.Darnell Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt Fix crash in scene outliner if actors become invalid #rb none https://jira.ol.epicgames.net/browse/UE-35932 Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt Added guards for crashes accessing slate resources for deleted uobjects #rb nick.darnell Change 3128067 on 2016/09/16 by Michael.Dupuis #jira UE-34158 Add an option to auto expand advanced details #rb Alexis.Matte Change 3128073 on 2016/09/16 by Michael.Dupuis #jira UE-1145 Set Save As to Ctrl + Alt + S Set Save All to Ctrl + Shift + S Set Save Current to Ctrl + S #rb Alexis.Matte Change 3128117 on 2016/09/16 by Jamie.Dale Updated the pin-type filter combo to filter on both the localized and source type descriptions #jira UE-36081 #rb none Change 3128177 on 2016/09/16 by Alexis.Matte #jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value. #rb michael.dupuis #codereview matt.kuhlenschmidt Change 3128387 on 2016/09/16 by Gareth.Martin Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes #jira UE-36093 #rb none Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt Guard against scene outliner crash. Print out tree when items appear twice. https://jira.ol.epicgames.net/browse/UE-35935 #rb none Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget #rb none Change 3128482 on 2016/09/16 by Michael.Dupuis Added new key binding for generic Save, Save As Added new key binding for Save All for the content browser #rb Alexis.Matte (approved by MattK) Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt Fix build warning #codereview nick.darnell #rb none Change 3128642 on 2016/09/16 by Alexis.Matte #jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear #rb none #codereview matt.kuhlenschmidt Change 3128733 on 2016/09/16 by Nick.Darnell UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly. #jira UE-36105 #rb none Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor #rb none Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt Fix offset characters on some small fonts #rb none Change 3130057 on 2016/09/19 by Jamie.Dale Fixing volatility and invalidation issues for text widgets #jira UE-33988 #rb Nick.Darnell Change 3130064 on 2016/09/19 by Jamie.Dale Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly #rb James.Hopkin Change 3130233 on 2016/09/19 by Michael.Dupuis #jira UE-32914 Added missing args that the UI supported #rb Alexis.Matte Change 3130265 on 2016/09/19 by Nick.Darnell Automation - Cleaning up some API items. #rb none Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt Fix reentrancy saving assets while a prompt for checkout dialog is open #rb none Change 3130398 on 2016/09/19 by Jamie.Dale Fixing UHT error when building #rb none Change 3132101 on 2016/09/20 by Nick.Darnell UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals. #rb none Change 3132110 on 2016/09/20 by Nick.Darnell PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist) #jira UE-13770 #rb Nick.Darnell Change 3132111 on 2016/09/20 by Nick.Darnell UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly. #rb none Change 3132138 on 2016/09/20 by Michael.Dupuis #jira UE-30945 Added missing PostEditComponentMove after drag is finished #rb Alexis.Matte Change 3132147 on 2016/09/20 by Michael.Dupuis #jira UE-30866 Fixed the filter to work properly #rb Alexis.Matte Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt Fix static analysis warnings in this file #rb none Change 3132231 on 2016/09/20 by Nick.Darnell Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected. #jira UE-33285 #rb none Change 3132255 on 2016/09/20 by Alex.Delesky #jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container. #rb Matt.Kuhlenschmidt Change 3132587 on 2016/09/20 by Mike.Fricker MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604) #rb none #lockdown matt.kuhlenschmidt Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt Fix crash opening the cooker settings https://jira.it.epicgames.net/browse/UE-36197 #rb none #lockdown nick.darnell Change 3133144 on 2016/09/20 by Nick.Darnell Build configuration for automation tests. #rb none #lockdown matt.kuhlenschmidt Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt Fix default material on odin text #rb none #lockdown nick.darnell Change 3133913 on 2016/09/21 by Nick.Darnell Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp #rb none #jira UE-36231 #lockdown matt.kuhlenschmidt [CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
ViewportInstanceSettings.FarViewPlane = LevelViewportClient->GetFarClipPlaneOverride();
ViewportInstanceSettings.bShowFullToolbar = bShowFullToolbar;
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3077573 on 2016/08/04 by Nick.Darnell Removing some unused code, adding additional needed modules to editor tests. #rb none Change 3077580 on 2016/08/04 by Nick.Darnell Removing the test plugins, going to be recreating them in EngineTest. Change 3082659 on 2016/08/09 by Nick.Darnell Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them. #rb none Change 3082766 on 2016/08/09 by Jamie.Dale Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32. #jira UE-33971 #rb James.Hopkin Change 3083067 on 2016/08/09 by Nick.Darnell Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is. #rb none Change 3084475 on 2016/08/10 by Richard.TalbotWatkin Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server #codereview Matt.Kuhlenschmidt #rb none Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt Added grayscale texture importing support #rb none Change 3084774 on 2016/08/10 by Cody.Albert Adding controller support for ComboBox widget #jira UE-33826 #rb nick.darnell Change 3085716 on 2016/08/11 by Nick.Darnell UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with. #rb none Change 3085733 on 2016/08/11 by Nick.Darnell UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable. #rb none Change 3085734 on 2016/08/11 by Nick.Darnell Texture - Making GetDefaultMipMapBias a bit more efficent in the common case. #rb none Change 3085736 on 2016/08/11 by Nick.Darnell Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings. #rb none Change 3085737 on 2016/08/11 by Nick.Darnell Editor - code organization. #rb none Change 3085875 on 2016/08/11 by Nick.Darnell UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer. #rb none Change 3086209 on 2016/08/11 by Ben.Salem Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format. #rb adric.worley, william.ewen Change 3086515 on 2016/08/11 by Nick.Darnell Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case. #rb Matt.Kuhlenschmidt Change 3087216 on 2016/08/12 by Jamie.Dale Fixed an issue where re-scanning a package file may leave old assets in the asset registry We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package. This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work). #rb Andrew.Rodham Change 3087219 on 2016/08/12 by Jamie.Dale Updated TextRenderComponent to support multiple font pages It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page). #rb Matt.Kuhlenschmidt Change 3087308 on 2016/08/12 by Alex.Delesky #jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added. #rb Matt.Kuhlenschmidt Change 3089140 on 2016/08/15 by Jamie.Dale We now abort a directory watch if we lose access to the directory in question This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted. #jira UE-30172 #rb Andrew.Rodham Change 3089148 on 2016/08/15 by Alexis.Matte Allow fbx export of any actor type. #rb none #codereview dmitriy.dyomin Change 3089211 on 2016/08/15 by Jamie.Dale Unified access to the parent window for external dialogs A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible. You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window. #rb Andrew.Rodham Change 3089640 on 2016/08/15 by Jamie.Dale Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc #rb none Change 3089661 on 2016/08/15 by Nick.Darnell Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see. #rb none Change 3089667 on 2016/08/15 by Cody.Albert Updating RoutePointerUpEvent to call OnDrop for touch events when dragging #jira UE-34709 #rb nick.darnell Change 3089694 on 2016/08/15 by Jamie.Dale Applied a fix to the ExcludeClasses setting in the loc gather #rb none Change 3089889 on 2016/08/15 by Nick.Darnell Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities. #rb none Change 3090256 on 2016/08/16 by Nick.Darnell Automation - working on screenshots. #rb none Change 3090322 on 2016/08/16 by Nick.Darnell Automation - Adding modified screenshot function. #rb none Change 3090335 on 2016/08/16 by Nick.Darnell Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins. #rb none Change 3090881 on 2016/08/16 by Nick.Darnell Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected. #rb none Change 3090884 on 2016/08/16 by Nick.Darnell Plugins - There's now support for generating a Content Only plugin from the new plugin wizard. #rb none Change 3090911 on 2016/08/16 by Nick.Darnell Feature Packs - If there's an error loading a manifest, it's now an error, not a warning. #rb none Change 3090913 on 2016/08/16 by Jamie.Dale Optimization and usability improvements of the MemoryProfiler2 tool - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views. - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds. - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds. - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds. - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks). #jira UETOOL-948 #jira UETOOL-949 #rb James.Hopkin Change 3090962 on 2016/08/16 by Jamie.Dale Fixed double assignment of filter functions #rb none Change 3090989 on 2016/08/16 by Nick.Darnell Editor - Attempting to fix the build, non-unity issue I suspect. #rb none Change 3091754 on 2016/08/17 by Nick.Darnell FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc. #rb none #codereview Alexis.Matte Change 3091758 on 2016/08/17 by Nick.Darnell Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens. #rb none #codereview Nick.Atamas,Matt.Kuhlenschmidt Change 3091829 on 2016/08/17 by Nick.Darnell Build - Attempting to repair the build. #rb none Change 3091920 on 2016/08/17 by Nick.Darnell Build - Another attempt at fixing the mac build. #rb none Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying #rb none Change 3094474 on 2016/08/19 by Jamie.Dale Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled #jira UETOOL-951 #rb James.Hopkin Change 3094581 on 2016/08/19 by Jamie.Dale Added missing allocator filter needed by PS4 profiles #rb none Change 3094681 on 2016/08/19 by Richard.TalbotWatkin Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer. #jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation #rb none Change 3095163 on 2016/08/19 by Trung.Le #jira UE-20849: Added tooltips to the inputs of the Material final result node #rb matt.kuhlenschmidt Change 3095285 on 2016/08/19 by Trung.Le #jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member #rb none Change 3095344 on 2016/08/19 by Alexis.Matte #jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine. Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter). #rb none #codereview matt.kuhlenschmidt Change 3096162 on 2016/08/22 by Alexis.Matte #jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu. #rb none #codereview matt.kuhlenschmidt Change 3096261 on 2016/08/22 by Alexis.Matte #jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process. #rb lina.halper #codereview lina.halper Change 3096344 on 2016/08/22 by Jamie.Dale NSString conversion fix for UTF-32 strings containing characters outside of the BMP #jira UE-33971 #rb Peter.Sauerbrei, James.Hopkin Change 3096605 on 2016/08/22 by Alex.Delesky #jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any. #rb Matt.Kuhlenschmidt Change 3096615 on 2016/08/22 by Alex.Delesky #jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin. #rb Matt.Kuhlenschmidt Change 3096619 on 2016/08/22 by Alex.Delesky #jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel. #rb Matt.Kuhlenschmidt Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt PR #2729: Fix a typo in the comment (Contributed by adcentury) #rb none Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt PR #2726: Undef unused macros (Contributed by shrimpy56) #rb none Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt Guard against crash when details panels rebuild when their customizations have been torn down https://jira.ol.epicgames.net/browse/UE-35048 #rb none Change 3097757 on 2016/08/23 by Alex.Delesky #jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap #rb Matt.Kuhlenschmidt Change 3098164 on 2016/08/23 by Alexis.Matte #jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation. #rb none #codereview matt.kuhlenschmidt Change 3098502 on 2016/08/23 by Alexis.Matte #jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true #rb none #codereview matt.kuhlenschmidt Change 3099986 on 2016/08/24 by Jamie.Dale Fixing non-editor builds #rb none Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc) #rb none Change 3101280 on 2016/08/25 by Jamie.Dale Fixed crash when counting memory over internationalization meta-data - The serialization code only used to handle loading or saving, now it handles loading or not loading. - The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override. #rb James.Hopkin Change 3101283 on 2016/08/25 by Jamie.Dale MProf2 platform and symbol parsing improvements - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks). - Added a PS4 symbol parser which handles performing full file/line resolution for symbols. - Removed all the V3 file format support and legacy platform handling. - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup. #rb James.Hopkin Change 3101586 on 2016/08/25 by Jamie.Dale Small code cleanup and path normalization #rb James.Hopkin Change 3101837 on 2016/08/25 by Alexis.Matte #jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations #rb none #codereview matt.kuhlenschmidt Change 3102537 on 2016/08/26 by Jamie.Dale Fix for potential crash in FICUCamelCaseBreakIterator In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is. #rb James.Hopkin Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt Log the freetype version when it starts up (for debugging purposes) #rb none Change 3102657 on 2016/08/26 by Alexis.Matte #jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader. #review-3101585 @uriel.doyon #rb matt.kuhlenschmidt Change 3102704 on 2016/08/26 by Jamie.Dale Added symbol meta-data support to MProf2 You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file. PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user. #rb James.Hopkin Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt Added support for outline fonts - An outline size (in slate units), optional material and optional fill color can be specified with each font info. - Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines - Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas #rb jamie.dale Change 3102879 on 2016/08/26 by Jamie.Dale Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files #rb none Change 3102960 on 2016/08/26 by Alexis.Matte build fix #rb none Change 3103032 on 2016/08/26 by Jamie.Dale Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting #jira UE-34936 #rb Matt.Kuhlenschmidt Change 3103278 on 2016/08/26 by Jamie.Dale Fixing Clang warnings #rb none Change 3104211 on 2016/08/29 by Ben.Marsh Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them. #rb none Change 3104290 on 2016/08/29 by Alex.Delesky Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with. #rb Matt.Kuhlenschmidt Change 3104292 on 2016/08/29 by Alex.Delesky #jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac. #rb Matt.Kuhlenschmidt Change 3104294 on 2016/08/29 by Alex.Delesky #jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget #rb Matt.Kuhlenschmidt Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx) #rb none Change 3104296 on 2016/08/29 by Alex.Delesky #jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero. #rb Matt.Kuhlenschmidt Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out. #rb none Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it. #rb none #jira UE-31865 Change 3104396 on 2016/08/29 by Ben.Marsh Fix incrorrect agent names for running automated tests Change 3104610 on 2016/08/29 by Alex.Delesky Fix for AutomationTool compile editor from changes introduced today. #rb None Change 3104611 on 2016/08/29 by Michael.Dupuis #jira UETOOL-253 #rb Alexis.Matte Change 3105826 on 2016/08/30 by Gareth.Martin Added console variables to discard grass and/or scalable foliage data on load #jira UE-35086 #rb Benn Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt Eliminated bad code duplication between retainer widgets and element batcher #rb none #codereview nick.darnell Change 3106449 on 2016/08/30 by Michael.Dupuis #jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu) #rb Alexis.Matte Change 3106966 on 2016/08/30 by Jamie.Dale Fixed FApp::IsAuthorizedUser not considering the SessionOwner override #rb Max.Preussner Change 3107687 on 2016/08/31 by Michael.Dupuis Checkout/Make Writable on proper config file #rb Matt Kuhlenschmidt Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt Fixed mode typos in the lerp instruction #rb none Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt Logging and guard against UEditorEngine::TeardownPlaySession crash. #rb none https://jira.ol.epicgames.net/browse/UE-35325 Change 3107912 on 2016/08/31 by Alex.Delesky #jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations. #rb Matt.Kuhlenschmidt Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file. #rb none Change 3108027 on 2016/08/31 by Chris.Wood Re-added lost doc comment for analytics event "Engine.AbnormalShutdown". #rb none - just a comment in a cpp file #codereview wes.hunt Change 3108580 on 2016/08/31 by Mike.Fricker Deleted the "Live Editor" plugins from UE4 - These were undocumented, buggy and never finished, and we have no plans to complete them - Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files #codereview matt.kuhlenschmidt #rb matt.kuhlenschmidt Change 3108604 on 2016/08/31 by Mike.Fricker Added new "MIDI Device" plugin (disabled by default) - This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer - Currently only input is supported. In the future we might allow for output, as well. - In Blueprints, here's how to use it: - Look for "MIDI Device Manager" in the Blueprint RMB menu - Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available. - Then call "Create MIDI Device Controller" for the device you want. Store that in a variable. - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive. - Process the data passed into the Event to make your project do stuff! - This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin) #codereview matt.kuhlenschmidt #rb none Change 3108760 on 2016/08/31 by Alexis.Matte #jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false. #rb none #codereview matt.kuhlenschmidt Change 3109006 on 2016/08/31 by Alex.Delesky #ignore Source Control rename test - initial commit Change 3109044 on 2016/08/31 by Alex.Delesky #ignore Testing asset rename from P4 to observe correct behavior. #rb none Change 3109048 on 2016/08/31 by Alex.Delesky #ignore Testing P4 rename to identify correct behavior #rb none Change 3110044 on 2016/09/01 by Gareth.Martin Fixed painting foliage on blocking "query" actors not working #jira UE-33852 #rb Allan.Bentham Change 3110133 on 2016/09/01 by Alexis.Matte Fix crash in function GetForceRecompileTextureIdsHash #rb none #codereview jamie.dale Change 3111848 on 2016/09/02 by Mike.Fricker MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux) - Fixed bad enum cast #rb none Change 3111995 on 2016/09/02 by Michael.Dupuis #jira UE-35263 Do not try selecting the actor if the actor is in the blueprint Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process #rb Alexis Matte Change 3112280 on 2016/09/02 by Michael.Dupuis Call MakeWritable if source control fail #rb Alexis Matte Change 3112335 on 2016/09/02 by Cody.Albert Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode #jira UE-35306 #rb none Change 3112478 on 2016/09/02 by Alexis.Matte #jira UE-20059 Use a base material to import fbx material. #rb uriel.doyon #codereview matt.kuhlenschmidt #1468 Github pull request number Change 3113912 on 2016/09/06 by Michael.Dupuis #jira UE-32288 Fixed Console params display #rb Alexis Matte Change 3114026 on 2016/09/06 by Alex.Delesky #jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again. #rb Matt.Kuhlenschmidt Change 3114032 on 2016/09/06 by Alex.Delesky PR #2733: Improved the project launcher progress page (Contributed by projectgheist) #jira UE-34027 #rb Matt.Kuhlenschmidt Change 3114034 on 2016/09/06 by Alex.Delesky #jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable #rb Matt.Kuhlenschmidt Change 3114071 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114109 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114562 on 2016/09/06 by Nick.Darnell Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue. #rb none Change 3114701 on 2016/09/06 by Michael.Dupuis #jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView #rb Alexis Matte Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt Prevent non-thread safe slate code from running on the slate loading thread #rb none Change 3115698 on 2016/09/07 by Nick.Darnell Make sure the commands are available - during functional testing that was found to not always be the case. #rb none Change 3115719 on 2016/09/07 by Nick.Darnell Adding an IsRegistered command to commands. #rb none Change 3115721 on 2016/09/07 by Nick.Darnell Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly. #rb none Change 3115722 on 2016/09/07 by Nick.Darnell IsBindWidgetProperty now returns false if the property passed in is null. #rb none Change 3115734 on 2016/09/07 by Alexis.Matte #jira UE-30166 Support fbx sdk 2017 #rb none Change 3115737 on 2016/09/07 by Nick.Darnell Adding an image comparer for screenshots. Removing some content from EngineTest. #rb none Change 3115743 on 2016/09/07 by Nick.Darnell Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing! #rb none Change 3115748 on 2016/09/07 by Nick.Darnell Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds. #rb none Change 3115789 on 2016/09/07 by Jamie.Dale We now favor Traditional Chinese for Hong Kong and Macau #rb James.Hopkin Change 3115799 on 2016/09/07 by Jamie.Dale Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped #rb James.Hopkin Change 3115826 on 2016/09/07 by Nick.Darnell Adding missing files. #rb none Change 3115838 on 2016/09/07 by Nick.Darnell Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h #rb none Change 3116007 on 2016/09/07 by Alexis.Matte build fix #rb none Change 3116057 on 2016/09/07 by Jamie.Dale Fixed widget snapshot messages so they appear in the message debugger #rb none Change 3116112 on 2016/09/07 by Nick.Darnell Removing the FbxAutomationBuilder file that go recreated on a merge from main. #rb none Change 3116365 on 2016/09/07 by Michael.Dupuis #jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work. #codereview Matt.Kuhlenschmidt #rb Alexis.Matte Change 3116622 on 2016/09/07 by Alexis.Matte #jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name. #rb matt.kuhlenschmidt Change 3116638 on 2016/09/07 by Jamie.Dale Ensured that manifests and archives don't try and load data that they can't parse #rb none Change 3117397 on 2016/09/08 by Gareth.Martin Added rotate and blend support to the landscape mirror tool #jira UE-34829 #rb Jack.Porter Change 3117459 on 2016/09/08 by Gareth.Martin Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1) #jira UE-35301 #rb Jack.Porter Change 3117462 on 2016/09/08 by Gareth.Martin Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1) #jira UE-35494 #rb Benn.Gallagher Change 3117583 on 2016/09/08 by Nick.Darnell Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots. #rb none Change 3117595 on 2016/09/08 by Nick.Darnell Updating the build script for AutomatedTests, going to see if this works! #rb none Change 3117808 on 2016/09/08 by Nick.Darnell Adding header includes for async. #rb none Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt Partially taken from Pr 2381 Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem. #rb none Change 3117851 on 2016/09/08 by Jamie.Dale Silenced some redundant P4 errors that could be generated when running a stat update on a file Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command. #rb Ben.Marsh #codereview Thomas.Sarkanen Change 3117853 on 2016/09/08 by Gareth.Martin Clean up landscape includes and PCH #rb steve.robb Change 3117859 on 2016/09/08 by Alex.Delesky #jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse. #rb Nick.Darnell Change 3117997 on 2016/09/08 by Nick.Darnell Updating the automation tests build script to use Editor-Cmd #rb none Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt Properly reference graph node on material expressions so they are not GC'd while an expression still uses them #jira UE-35362 #rb none Change 3118043 on 2016/09/08 by Alex.Delesky #jira UE-30649 - Removed unnecessary returns from UWidget API. PR #2377: fix widget bug. (Contributed by dorgonman) #rb none Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt Guard against crash saving config during level editor shutdown #rb none #jira UE-35605 Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist) #rb none Change 3118078 on 2016/09/08 by Michael.Dupuis #jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified #rb Alexis.Matte Change 3118080 on 2016/09/08 by Michael.Dupuis #jira UE-31131 Do not show a contextual menu if the menu is empty #rb Alexis.Matte Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt Constify this method #rb none Change 3118166 on 2016/09/08 by Nick.Darnell Trying additional command options for the build machine for automation. #rb none Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt Fix actor delete during mesh paint not working during undo #rb none #jira UE-35684 Change 3118298 on 2016/09/08 by Alexis.Matte #jira UE-35302 Export all LODs for static mesh when there is no force LOD #rb uriel.doyon Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt Fixed reset to default not appearing for slate brushes #rb none #jira UE-34958 Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt Guard against crash with an invalid world trying to be opened from the content browser #rb none https://jira.ol.epicgames.net/browse/UE-35712 Change 3119433 on 2016/09/09 by Nick.Darnell Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around. #rb Matt.Kuklenschmidt #jira UE-35789 Change 3119448 on 2016/09/09 by Alex.Delesky When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface. #rb Nick.Darnell Change 3119522 on 2016/09/09 by Jamie.Dale Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true #rb Matt.Kuhlenschmidt Change 3119528 on 2016/09/09 by Jamie.Dale Some UI re-work to the localization dashboard This makes a better use of the available space, and will make it easier to make some other planned changes in the future. #rb James.Hopkin Change 3119861 on 2016/09/09 by Michael.Dupuis #jira UE-9284 Added the Play/Stop button on the thumbnail #rb Alexis.Matte Change 3120027 on 2016/09/09 by Alexis.Matte incorporate some fixes from licensee for LOD group re-import workflow #jira UE-32268 #rb uriel.doyon #codereview matt.kuhlenschmidt Change 3120845 on 2016/09/12 by Gareth.Martin Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1) #jira UE-35850 #rb Allan.Bentham Change 3120980 on 2016/09/12 by Nick.Darnell Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager. #rb none Change 3120992 on 2016/09/12 by Alex.Delesky #jira UE-35575 - TScriptInterface UProperties now have asset picker support. #rb Matt.Kuhlenschmidt Change 3121074 on 2016/09/12 by Michael.Dupuis #jira UE-30092 Added path length in error message when typing Added display of current filepath lenght for cooking #rb Alexis.Matte Change 3121113 on 2016/09/12 by Nick.Darnell Adding some placeholder examples to show people how to author tests in EngineTest. #rb none Change 3121152 on 2016/09/12 by Gareth.Martin Added TElementType, TIsContiguousContainer traits Added GetData(), GetNum() generic functions #rb Steve.Robb Change 3121702 on 2016/09/12 by Jamie.Dale Optimized a loop over a sorted list to instead use a binary search This speeds up the short-lived allocation view generation. We also now dump the exception information to the Trace log when in a non-debug build. #rb James.Hopkin Change 3121721 on 2016/09/12 by Jamie.Dale We now set the window mode first when resizing the game viewport to ensure that the work area is correct Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode. #jira UE-32842 #rb Matt.Kuhlenschmidt Change 3122578 on 2016/09/13 by Jamie.Dale Small code clean up Removed a use of the placement new style array addition. #rb none Change 3122634 on 2016/09/13 by Jamie.Dale We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick #jira UE-34865 #rb James.Hopkin Change 3122656 on 2016/09/13 by Jamie.Dale Fixed array combo button not focusing its contents, which prevented the menu closing correctly #jira UE-33667 #rb none Change 3122661 on 2016/09/13 by Nick.Darnell Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs. #rb none Change 3122678 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before USTRUCT can be used. #rb none Change 3122686 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before UCLASS can be used. #rb none Change 3122728 on 2016/09/13 by Nick.Darnell UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. #jira UE-35167 #rb none Change 3122775 on 2016/09/13 by Nick.Darnell Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH. #rb none Change 3122779 on 2016/09/13 by Nick.Darnell Widgetnimation - Exposing more of the class to C++. #rb none Change 3122793 on 2016/09/13 by Nick.Darnell Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance. #jira UE-35796 #rb none Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt Fixed crash undoing moves after bsp creation https://jira.ol.epicgames.net/browse/UE-35880 #rb none Change 3122835 on 2016/09/13 by Nick.Darnell Reverting changes to WIdgetAnimation #rb none Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt Fixed non-editor compile error #rb none Change 3122988 on 2016/09/13 by Alexis.Matte Material workflow refactor #jira UETOOL-774 #rb matt.kuhlenschmidt Change 3123006 on 2016/09/13 by Jamie.Dale Fixed dynamic collections not returning anything #jira UE-35869 #rb James.Hopkin Change 3123145 on 2016/09/13 by Alexis.Matte Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build. #jira UE-32268 #rb none #codereview matt.kuhlenschmidt Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt Fix fortnite compile error #rb alexis.matte Change 3123208 on 2016/09/13 by Jamie.Dale The 'find culprit' dialog now honors the user choice #rb RichTW Change 3123545 on 2016/09/13 by Nick.Darnell Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows. #rb none Change 3124494 on 2016/09/14 by Jamie.Dale Added ~ to the list of invalid characters for object/package names #jira UE-12908 #rb Matt.Kuhlenschmidt Change 3124513 on 2016/09/14 by Gareth.Martin Implemented filter to allow painting foliage on other foliage - Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes #rb Allan.Bentham #2472 Change 3124523 on 2016/09/14 by Jamie.Dale PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster) #jira UE-34811 #jira UE-32082 #rb none Change 3124607 on 2016/09/14 by Nick.Darnell UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function. #jira UE-35667 #rb none Change 3124785 on 2016/09/14 by Gareth.Martin Made some foliage functions editor-only to fix non-editor build #rb none Change 3124795 on 2016/09/14 by Gareth.Martin Saved/loaded the new foliage filter #rb Allan.Bentham #2472 Change 3124915 on 2016/09/14 by Michael.Dupuis #jira UE-19511 Add support for Add to source control on DefaultEditorPerProjectUserSettings file Remove CheckoutNotice when not editing a DefaultXXXX.ini file Edit proper config file either we're modifying settings from a Default file or Local user file #codereview Matt.Kuhlenschmidt Max.Preussner #rb Alexis.Matte Change 3125266 on 2016/09/14 by Jamie.Dale Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong #rb none Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt Fix crash when using SaveAs to save over top of an existing level #rb none https://jira.ol.epicgames.net/browse/UE-35919 https://jira.ol.epicgames.net/browse/UE-35921 Change 3125487 on 2016/09/14 by Alexis.Matte Fix cook content, regression induce by the material workflow refactor #rb matt.kuhlenschmidt Change 3126217 on 2016/09/15 by Gareth.Martin Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances #rb Allan.Bentham Change 3126311 on 2016/09/15 by Jamie.Dale Placement mode fixes - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const. - Ensured that the ID used by FPlaceableItem could never overflow. - Fixed some types being missing from the "All Classes" list. - Fixed the escape key not cancelling the search. #jira UE-35972 #rb James.Hopkin Change 3126325 on 2016/09/15 by Jamie.Dale Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added. #rb Andrew.Rodham Change 3126403 on 2016/09/15 by Gareth.Martin Added Find and Contains functions to TBitArray #rb Steve.Robb Change 3126405 on 2016/09/15 by Gareth.Martin Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor - Just like regular instanced mesh components! Also fixed not being able to move instances of an instanced mesh component when it is the root component Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished) #jira UE-29357 #rb Allan.Bentham Change 3126444 on 2016/09/15 by Jamie.Dale Fixed the loc dashboard configs not working with SCC This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul. #rb none Change 3126446 on 2016/09/15 by Jamie.Dale Fixed loc dashboard game and engine targets sharing the same expansion settting #rb none Change 3126555 on 2016/09/15 by Chris.Wood Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path. [UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows #rb Steve.Robb Change 3126586 on 2016/09/15 by Gareth.Martin Fixed missing landscape components when using a LODBias (cloned from 4.13.1) #jira UE-35873 #rb Jack.Porter Change 3126610 on 2016/09/15 by Jamie.Dale Stopped PS4 from always staging all ICU data files #rb Marcus.Wassmer Change 3126779 on 2016/09/15 by Michael.Dupuis #jira UE-32914 Improve the help text to provide usage examples and params #rb Alexis.Matte Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt Fix font material and outline font material not being animatable in sequencer #rb frank.fella Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt File not saved #rb none Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt Fixed reset to default state still not appearing in all cases after changing a property. #rb none Change 3127038 on 2016/09/15 by Nick.Darnell UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable. #rb none Change 3127061 on 2016/09/15 by Nick.Darnell Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children. #jira UE-35726 #rb Matt.Kuchlenschmidt Change 3127205 on 2016/09/15 by Alex.Delesky #jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency. #rb Nick.Darnell Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt Fix crash in scene outliner if actors become invalid #rb none https://jira.ol.epicgames.net/browse/UE-35932 Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt Added guards for crashes accessing slate resources for deleted uobjects #rb nick.darnell Change 3128067 on 2016/09/16 by Michael.Dupuis #jira UE-34158 Add an option to auto expand advanced details #rb Alexis.Matte Change 3128073 on 2016/09/16 by Michael.Dupuis #jira UE-1145 Set Save As to Ctrl + Alt + S Set Save All to Ctrl + Shift + S Set Save Current to Ctrl + S #rb Alexis.Matte Change 3128117 on 2016/09/16 by Jamie.Dale Updated the pin-type filter combo to filter on both the localized and source type descriptions #jira UE-36081 #rb none Change 3128177 on 2016/09/16 by Alexis.Matte #jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value. #rb michael.dupuis #codereview matt.kuhlenschmidt Change 3128387 on 2016/09/16 by Gareth.Martin Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes #jira UE-36093 #rb none Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt Guard against scene outliner crash. Print out tree when items appear twice. https://jira.ol.epicgames.net/browse/UE-35935 #rb none Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget #rb none Change 3128482 on 2016/09/16 by Michael.Dupuis Added new key binding for generic Save, Save As Added new key binding for Save All for the content browser #rb Alexis.Matte (approved by MattK) Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt Fix build warning #codereview nick.darnell #rb none Change 3128642 on 2016/09/16 by Alexis.Matte #jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear #rb none #codereview matt.kuhlenschmidt Change 3128733 on 2016/09/16 by Nick.Darnell UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly. #jira UE-36105 #rb none Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor #rb none Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt Fix offset characters on some small fonts #rb none Change 3130057 on 2016/09/19 by Jamie.Dale Fixing volatility and invalidation issues for text widgets #jira UE-33988 #rb Nick.Darnell Change 3130064 on 2016/09/19 by Jamie.Dale Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly #rb James.Hopkin Change 3130233 on 2016/09/19 by Michael.Dupuis #jira UE-32914 Added missing args that the UI supported #rb Alexis.Matte Change 3130265 on 2016/09/19 by Nick.Darnell Automation - Cleaning up some API items. #rb none Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt Fix reentrancy saving assets while a prompt for checkout dialog is open #rb none Change 3130398 on 2016/09/19 by Jamie.Dale Fixing UHT error when building #rb none Change 3132101 on 2016/09/20 by Nick.Darnell UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals. #rb none Change 3132110 on 2016/09/20 by Nick.Darnell PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist) #jira UE-13770 #rb Nick.Darnell Change 3132111 on 2016/09/20 by Nick.Darnell UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly. #rb none Change 3132138 on 2016/09/20 by Michael.Dupuis #jira UE-30945 Added missing PostEditComponentMove after drag is finished #rb Alexis.Matte Change 3132147 on 2016/09/20 by Michael.Dupuis #jira UE-30866 Fixed the filter to work properly #rb Alexis.Matte Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt Fix static analysis warnings in this file #rb none Change 3132231 on 2016/09/20 by Nick.Darnell Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected. #jira UE-33285 #rb none Change 3132255 on 2016/09/20 by Alex.Delesky #jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container. #rb Matt.Kuhlenschmidt Change 3132587 on 2016/09/20 by Mike.Fricker MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604) #rb none #lockdown matt.kuhlenschmidt Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt Fix crash opening the cooker settings https://jira.it.epicgames.net/browse/UE-36197 #rb none #lockdown nick.darnell Change 3133144 on 2016/09/20 by Nick.Darnell Build configuration for automation tests. #rb none #lockdown matt.kuhlenschmidt Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt Fix default material on odin text #rb none #lockdown nick.darnell Change 3133913 on 2016/09/21 by Nick.Darnell Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp #rb none #jira UE-36231 #lockdown matt.kuhlenschmidt [CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
if(GetDefault<ULevelEditorViewportSettings>()->bSaveEngineStats)
{
const TArray<FString>* EnabledStats = NULL;
// If the selected viewport is currently hosting a PIE session, we need to make sure we copy to stats from the active viewport
// Note: This happens if you close the editor while it's running because SwapStatCommands gets called after the config save when shutting down.
if(IsPlayInEditorViewportActive())
{
EnabledStats = ActiveViewport->GetClient()->GetEnabledStats();
}
else
{
EnabledStats = LevelViewportClient->GetEnabledStats();
}
check(EnabledStats);
ViewportInstanceSettings.EnabledStats = *EnabledStats;
}
GetMutableDefault<ULevelEditorViewportSettings>()->SetViewportInstanceSettings(ConfigName, ViewportInstanceSettings);
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3077573 on 2016/08/04 by Nick.Darnell Removing some unused code, adding additional needed modules to editor tests. #rb none Change 3077580 on 2016/08/04 by Nick.Darnell Removing the test plugins, going to be recreating them in EngineTest. Change 3082659 on 2016/08/09 by Nick.Darnell Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them. #rb none Change 3082766 on 2016/08/09 by Jamie.Dale Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32. #jira UE-33971 #rb James.Hopkin Change 3083067 on 2016/08/09 by Nick.Darnell Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is. #rb none Change 3084475 on 2016/08/10 by Richard.TalbotWatkin Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server #codereview Matt.Kuhlenschmidt #rb none Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt Added grayscale texture importing support #rb none Change 3084774 on 2016/08/10 by Cody.Albert Adding controller support for ComboBox widget #jira UE-33826 #rb nick.darnell Change 3085716 on 2016/08/11 by Nick.Darnell UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with. #rb none Change 3085733 on 2016/08/11 by Nick.Darnell UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable. #rb none Change 3085734 on 2016/08/11 by Nick.Darnell Texture - Making GetDefaultMipMapBias a bit more efficent in the common case. #rb none Change 3085736 on 2016/08/11 by Nick.Darnell Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings. #rb none Change 3085737 on 2016/08/11 by Nick.Darnell Editor - code organization. #rb none Change 3085875 on 2016/08/11 by Nick.Darnell UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer. #rb none Change 3086209 on 2016/08/11 by Ben.Salem Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format. #rb adric.worley, william.ewen Change 3086515 on 2016/08/11 by Nick.Darnell Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case. #rb Matt.Kuhlenschmidt Change 3087216 on 2016/08/12 by Jamie.Dale Fixed an issue where re-scanning a package file may leave old assets in the asset registry We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package. This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work). #rb Andrew.Rodham Change 3087219 on 2016/08/12 by Jamie.Dale Updated TextRenderComponent to support multiple font pages It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page). #rb Matt.Kuhlenschmidt Change 3087308 on 2016/08/12 by Alex.Delesky #jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added. #rb Matt.Kuhlenschmidt Change 3089140 on 2016/08/15 by Jamie.Dale We now abort a directory watch if we lose access to the directory in question This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted. #jira UE-30172 #rb Andrew.Rodham Change 3089148 on 2016/08/15 by Alexis.Matte Allow fbx export of any actor type. #rb none #codereview dmitriy.dyomin Change 3089211 on 2016/08/15 by Jamie.Dale Unified access to the parent window for external dialogs A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible. You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window. #rb Andrew.Rodham Change 3089640 on 2016/08/15 by Jamie.Dale Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc #rb none Change 3089661 on 2016/08/15 by Nick.Darnell Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see. #rb none Change 3089667 on 2016/08/15 by Cody.Albert Updating RoutePointerUpEvent to call OnDrop for touch events when dragging #jira UE-34709 #rb nick.darnell Change 3089694 on 2016/08/15 by Jamie.Dale Applied a fix to the ExcludeClasses setting in the loc gather #rb none Change 3089889 on 2016/08/15 by Nick.Darnell Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities. #rb none Change 3090256 on 2016/08/16 by Nick.Darnell Automation - working on screenshots. #rb none Change 3090322 on 2016/08/16 by Nick.Darnell Automation - Adding modified screenshot function. #rb none Change 3090335 on 2016/08/16 by Nick.Darnell Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins. #rb none Change 3090881 on 2016/08/16 by Nick.Darnell Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected. #rb none Change 3090884 on 2016/08/16 by Nick.Darnell Plugins - There's now support for generating a Content Only plugin from the new plugin wizard. #rb none Change 3090911 on 2016/08/16 by Nick.Darnell Feature Packs - If there's an error loading a manifest, it's now an error, not a warning. #rb none Change 3090913 on 2016/08/16 by Jamie.Dale Optimization and usability improvements of the MemoryProfiler2 tool - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views. - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds. - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds. - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds. - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks). #jira UETOOL-948 #jira UETOOL-949 #rb James.Hopkin Change 3090962 on 2016/08/16 by Jamie.Dale Fixed double assignment of filter functions #rb none Change 3090989 on 2016/08/16 by Nick.Darnell Editor - Attempting to fix the build, non-unity issue I suspect. #rb none Change 3091754 on 2016/08/17 by Nick.Darnell FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc. #rb none #codereview Alexis.Matte Change 3091758 on 2016/08/17 by Nick.Darnell Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens. #rb none #codereview Nick.Atamas,Matt.Kuhlenschmidt Change 3091829 on 2016/08/17 by Nick.Darnell Build - Attempting to repair the build. #rb none Change 3091920 on 2016/08/17 by Nick.Darnell Build - Another attempt at fixing the mac build. #rb none Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying #rb none Change 3094474 on 2016/08/19 by Jamie.Dale Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled #jira UETOOL-951 #rb James.Hopkin Change 3094581 on 2016/08/19 by Jamie.Dale Added missing allocator filter needed by PS4 profiles #rb none Change 3094681 on 2016/08/19 by Richard.TalbotWatkin Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer. #jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation #rb none Change 3095163 on 2016/08/19 by Trung.Le #jira UE-20849: Added tooltips to the inputs of the Material final result node #rb matt.kuhlenschmidt Change 3095285 on 2016/08/19 by Trung.Le #jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member #rb none Change 3095344 on 2016/08/19 by Alexis.Matte #jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine. Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter). #rb none #codereview matt.kuhlenschmidt Change 3096162 on 2016/08/22 by Alexis.Matte #jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu. #rb none #codereview matt.kuhlenschmidt Change 3096261 on 2016/08/22 by Alexis.Matte #jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process. #rb lina.halper #codereview lina.halper Change 3096344 on 2016/08/22 by Jamie.Dale NSString conversion fix for UTF-32 strings containing characters outside of the BMP #jira UE-33971 #rb Peter.Sauerbrei, James.Hopkin Change 3096605 on 2016/08/22 by Alex.Delesky #jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any. #rb Matt.Kuhlenschmidt Change 3096615 on 2016/08/22 by Alex.Delesky #jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin. #rb Matt.Kuhlenschmidt Change 3096619 on 2016/08/22 by Alex.Delesky #jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel. #rb Matt.Kuhlenschmidt Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt PR #2729: Fix a typo in the comment (Contributed by adcentury) #rb none Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt PR #2726: Undef unused macros (Contributed by shrimpy56) #rb none Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt Guard against crash when details panels rebuild when their customizations have been torn down https://jira.ol.epicgames.net/browse/UE-35048 #rb none Change 3097757 on 2016/08/23 by Alex.Delesky #jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap #rb Matt.Kuhlenschmidt Change 3098164 on 2016/08/23 by Alexis.Matte #jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation. #rb none #codereview matt.kuhlenschmidt Change 3098502 on 2016/08/23 by Alexis.Matte #jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true #rb none #codereview matt.kuhlenschmidt Change 3099986 on 2016/08/24 by Jamie.Dale Fixing non-editor builds #rb none Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc) #rb none Change 3101280 on 2016/08/25 by Jamie.Dale Fixed crash when counting memory over internationalization meta-data - The serialization code only used to handle loading or saving, now it handles loading or not loading. - The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override. #rb James.Hopkin Change 3101283 on 2016/08/25 by Jamie.Dale MProf2 platform and symbol parsing improvements - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks). - Added a PS4 symbol parser which handles performing full file/line resolution for symbols. - Removed all the V3 file format support and legacy platform handling. - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup. #rb James.Hopkin Change 3101586 on 2016/08/25 by Jamie.Dale Small code cleanup and path normalization #rb James.Hopkin Change 3101837 on 2016/08/25 by Alexis.Matte #jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations #rb none #codereview matt.kuhlenschmidt Change 3102537 on 2016/08/26 by Jamie.Dale Fix for potential crash in FICUCamelCaseBreakIterator In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is. #rb James.Hopkin Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt Log the freetype version when it starts up (for debugging purposes) #rb none Change 3102657 on 2016/08/26 by Alexis.Matte #jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader. #review-3101585 @uriel.doyon #rb matt.kuhlenschmidt Change 3102704 on 2016/08/26 by Jamie.Dale Added symbol meta-data support to MProf2 You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file. PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user. #rb James.Hopkin Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt Added support for outline fonts - An outline size (in slate units), optional material and optional fill color can be specified with each font info. - Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines - Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas #rb jamie.dale Change 3102879 on 2016/08/26 by Jamie.Dale Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files #rb none Change 3102960 on 2016/08/26 by Alexis.Matte build fix #rb none Change 3103032 on 2016/08/26 by Jamie.Dale Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting #jira UE-34936 #rb Matt.Kuhlenschmidt Change 3103278 on 2016/08/26 by Jamie.Dale Fixing Clang warnings #rb none Change 3104211 on 2016/08/29 by Ben.Marsh Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them. #rb none Change 3104290 on 2016/08/29 by Alex.Delesky Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with. #rb Matt.Kuhlenschmidt Change 3104292 on 2016/08/29 by Alex.Delesky #jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac. #rb Matt.Kuhlenschmidt Change 3104294 on 2016/08/29 by Alex.Delesky #jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget #rb Matt.Kuhlenschmidt Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx) #rb none Change 3104296 on 2016/08/29 by Alex.Delesky #jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero. #rb Matt.Kuhlenschmidt Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out. #rb none Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it. #rb none #jira UE-31865 Change 3104396 on 2016/08/29 by Ben.Marsh Fix incrorrect agent names for running automated tests Change 3104610 on 2016/08/29 by Alex.Delesky Fix for AutomationTool compile editor from changes introduced today. #rb None Change 3104611 on 2016/08/29 by Michael.Dupuis #jira UETOOL-253 #rb Alexis.Matte Change 3105826 on 2016/08/30 by Gareth.Martin Added console variables to discard grass and/or scalable foliage data on load #jira UE-35086 #rb Benn Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt Eliminated bad code duplication between retainer widgets and element batcher #rb none #codereview nick.darnell Change 3106449 on 2016/08/30 by Michael.Dupuis #jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu) #rb Alexis.Matte Change 3106966 on 2016/08/30 by Jamie.Dale Fixed FApp::IsAuthorizedUser not considering the SessionOwner override #rb Max.Preussner Change 3107687 on 2016/08/31 by Michael.Dupuis Checkout/Make Writable on proper config file #rb Matt Kuhlenschmidt Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt Fixed mode typos in the lerp instruction #rb none Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt Logging and guard against UEditorEngine::TeardownPlaySession crash. #rb none https://jira.ol.epicgames.net/browse/UE-35325 Change 3107912 on 2016/08/31 by Alex.Delesky #jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations. #rb Matt.Kuhlenschmidt Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file. #rb none Change 3108027 on 2016/08/31 by Chris.Wood Re-added lost doc comment for analytics event "Engine.AbnormalShutdown". #rb none - just a comment in a cpp file #codereview wes.hunt Change 3108580 on 2016/08/31 by Mike.Fricker Deleted the "Live Editor" plugins from UE4 - These were undocumented, buggy and never finished, and we have no plans to complete them - Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files #codereview matt.kuhlenschmidt #rb matt.kuhlenschmidt Change 3108604 on 2016/08/31 by Mike.Fricker Added new "MIDI Device" plugin (disabled by default) - This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer - Currently only input is supported. In the future we might allow for output, as well. - In Blueprints, here's how to use it: - Look for "MIDI Device Manager" in the Blueprint RMB menu - Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available. - Then call "Create MIDI Device Controller" for the device you want. Store that in a variable. - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive. - Process the data passed into the Event to make your project do stuff! - This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin) #codereview matt.kuhlenschmidt #rb none Change 3108760 on 2016/08/31 by Alexis.Matte #jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false. #rb none #codereview matt.kuhlenschmidt Change 3109006 on 2016/08/31 by Alex.Delesky #ignore Source Control rename test - initial commit Change 3109044 on 2016/08/31 by Alex.Delesky #ignore Testing asset rename from P4 to observe correct behavior. #rb none Change 3109048 on 2016/08/31 by Alex.Delesky #ignore Testing P4 rename to identify correct behavior #rb none Change 3110044 on 2016/09/01 by Gareth.Martin Fixed painting foliage on blocking "query" actors not working #jira UE-33852 #rb Allan.Bentham Change 3110133 on 2016/09/01 by Alexis.Matte Fix crash in function GetForceRecompileTextureIdsHash #rb none #codereview jamie.dale Change 3111848 on 2016/09/02 by Mike.Fricker MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux) - Fixed bad enum cast #rb none Change 3111995 on 2016/09/02 by Michael.Dupuis #jira UE-35263 Do not try selecting the actor if the actor is in the blueprint Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process #rb Alexis Matte Change 3112280 on 2016/09/02 by Michael.Dupuis Call MakeWritable if source control fail #rb Alexis Matte Change 3112335 on 2016/09/02 by Cody.Albert Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode #jira UE-35306 #rb none Change 3112478 on 2016/09/02 by Alexis.Matte #jira UE-20059 Use a base material to import fbx material. #rb uriel.doyon #codereview matt.kuhlenschmidt #1468 Github pull request number Change 3113912 on 2016/09/06 by Michael.Dupuis #jira UE-32288 Fixed Console params display #rb Alexis Matte Change 3114026 on 2016/09/06 by Alex.Delesky #jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again. #rb Matt.Kuhlenschmidt Change 3114032 on 2016/09/06 by Alex.Delesky PR #2733: Improved the project launcher progress page (Contributed by projectgheist) #jira UE-34027 #rb Matt.Kuhlenschmidt Change 3114034 on 2016/09/06 by Alex.Delesky #jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable #rb Matt.Kuhlenschmidt Change 3114071 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114109 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114562 on 2016/09/06 by Nick.Darnell Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue. #rb none Change 3114701 on 2016/09/06 by Michael.Dupuis #jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView #rb Alexis Matte Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt Prevent non-thread safe slate code from running on the slate loading thread #rb none Change 3115698 on 2016/09/07 by Nick.Darnell Make sure the commands are available - during functional testing that was found to not always be the case. #rb none Change 3115719 on 2016/09/07 by Nick.Darnell Adding an IsRegistered command to commands. #rb none Change 3115721 on 2016/09/07 by Nick.Darnell Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly. #rb none Change 3115722 on 2016/09/07 by Nick.Darnell IsBindWidgetProperty now returns false if the property passed in is null. #rb none Change 3115734 on 2016/09/07 by Alexis.Matte #jira UE-30166 Support fbx sdk 2017 #rb none Change 3115737 on 2016/09/07 by Nick.Darnell Adding an image comparer for screenshots. Removing some content from EngineTest. #rb none Change 3115743 on 2016/09/07 by Nick.Darnell Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing! #rb none Change 3115748 on 2016/09/07 by Nick.Darnell Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds. #rb none Change 3115789 on 2016/09/07 by Jamie.Dale We now favor Traditional Chinese for Hong Kong and Macau #rb James.Hopkin Change 3115799 on 2016/09/07 by Jamie.Dale Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped #rb James.Hopkin Change 3115826 on 2016/09/07 by Nick.Darnell Adding missing files. #rb none Change 3115838 on 2016/09/07 by Nick.Darnell Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h #rb none Change 3116007 on 2016/09/07 by Alexis.Matte build fix #rb none Change 3116057 on 2016/09/07 by Jamie.Dale Fixed widget snapshot messages so they appear in the message debugger #rb none Change 3116112 on 2016/09/07 by Nick.Darnell Removing the FbxAutomationBuilder file that go recreated on a merge from main. #rb none Change 3116365 on 2016/09/07 by Michael.Dupuis #jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work. #codereview Matt.Kuhlenschmidt #rb Alexis.Matte Change 3116622 on 2016/09/07 by Alexis.Matte #jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name. #rb matt.kuhlenschmidt Change 3116638 on 2016/09/07 by Jamie.Dale Ensured that manifests and archives don't try and load data that they can't parse #rb none Change 3117397 on 2016/09/08 by Gareth.Martin Added rotate and blend support to the landscape mirror tool #jira UE-34829 #rb Jack.Porter Change 3117459 on 2016/09/08 by Gareth.Martin Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1) #jira UE-35301 #rb Jack.Porter Change 3117462 on 2016/09/08 by Gareth.Martin Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1) #jira UE-35494 #rb Benn.Gallagher Change 3117583 on 2016/09/08 by Nick.Darnell Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots. #rb none Change 3117595 on 2016/09/08 by Nick.Darnell Updating the build script for AutomatedTests, going to see if this works! #rb none Change 3117808 on 2016/09/08 by Nick.Darnell Adding header includes for async. #rb none Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt Partially taken from Pr 2381 Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem. #rb none Change 3117851 on 2016/09/08 by Jamie.Dale Silenced some redundant P4 errors that could be generated when running a stat update on a file Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command. #rb Ben.Marsh #codereview Thomas.Sarkanen Change 3117853 on 2016/09/08 by Gareth.Martin Clean up landscape includes and PCH #rb steve.robb Change 3117859 on 2016/09/08 by Alex.Delesky #jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse. #rb Nick.Darnell Change 3117997 on 2016/09/08 by Nick.Darnell Updating the automation tests build script to use Editor-Cmd #rb none Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt Properly reference graph node on material expressions so they are not GC'd while an expression still uses them #jira UE-35362 #rb none Change 3118043 on 2016/09/08 by Alex.Delesky #jira UE-30649 - Removed unnecessary returns from UWidget API. PR #2377: fix widget bug. (Contributed by dorgonman) #rb none Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt Guard against crash saving config during level editor shutdown #rb none #jira UE-35605 Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist) #rb none Change 3118078 on 2016/09/08 by Michael.Dupuis #jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified #rb Alexis.Matte Change 3118080 on 2016/09/08 by Michael.Dupuis #jira UE-31131 Do not show a contextual menu if the menu is empty #rb Alexis.Matte Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt Constify this method #rb none Change 3118166 on 2016/09/08 by Nick.Darnell Trying additional command options for the build machine for automation. #rb none Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt Fix actor delete during mesh paint not working during undo #rb none #jira UE-35684 Change 3118298 on 2016/09/08 by Alexis.Matte #jira UE-35302 Export all LODs for static mesh when there is no force LOD #rb uriel.doyon Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt Fixed reset to default not appearing for slate brushes #rb none #jira UE-34958 Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt Guard against crash with an invalid world trying to be opened from the content browser #rb none https://jira.ol.epicgames.net/browse/UE-35712 Change 3119433 on 2016/09/09 by Nick.Darnell Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around. #rb Matt.Kuklenschmidt #jira UE-35789 Change 3119448 on 2016/09/09 by Alex.Delesky When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface. #rb Nick.Darnell Change 3119522 on 2016/09/09 by Jamie.Dale Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true #rb Matt.Kuhlenschmidt Change 3119528 on 2016/09/09 by Jamie.Dale Some UI re-work to the localization dashboard This makes a better use of the available space, and will make it easier to make some other planned changes in the future. #rb James.Hopkin Change 3119861 on 2016/09/09 by Michael.Dupuis #jira UE-9284 Added the Play/Stop button on the thumbnail #rb Alexis.Matte Change 3120027 on 2016/09/09 by Alexis.Matte incorporate some fixes from licensee for LOD group re-import workflow #jira UE-32268 #rb uriel.doyon #codereview matt.kuhlenschmidt Change 3120845 on 2016/09/12 by Gareth.Martin Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1) #jira UE-35850 #rb Allan.Bentham Change 3120980 on 2016/09/12 by Nick.Darnell Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager. #rb none Change 3120992 on 2016/09/12 by Alex.Delesky #jira UE-35575 - TScriptInterface UProperties now have asset picker support. #rb Matt.Kuhlenschmidt Change 3121074 on 2016/09/12 by Michael.Dupuis #jira UE-30092 Added path length in error message when typing Added display of current filepath lenght for cooking #rb Alexis.Matte Change 3121113 on 2016/09/12 by Nick.Darnell Adding some placeholder examples to show people how to author tests in EngineTest. #rb none Change 3121152 on 2016/09/12 by Gareth.Martin Added TElementType, TIsContiguousContainer traits Added GetData(), GetNum() generic functions #rb Steve.Robb Change 3121702 on 2016/09/12 by Jamie.Dale Optimized a loop over a sorted list to instead use a binary search This speeds up the short-lived allocation view generation. We also now dump the exception information to the Trace log when in a non-debug build. #rb James.Hopkin Change 3121721 on 2016/09/12 by Jamie.Dale We now set the window mode first when resizing the game viewport to ensure that the work area is correct Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode. #jira UE-32842 #rb Matt.Kuhlenschmidt Change 3122578 on 2016/09/13 by Jamie.Dale Small code clean up Removed a use of the placement new style array addition. #rb none Change 3122634 on 2016/09/13 by Jamie.Dale We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick #jira UE-34865 #rb James.Hopkin Change 3122656 on 2016/09/13 by Jamie.Dale Fixed array combo button not focusing its contents, which prevented the menu closing correctly #jira UE-33667 #rb none Change 3122661 on 2016/09/13 by Nick.Darnell Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs. #rb none Change 3122678 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before USTRUCT can be used. #rb none Change 3122686 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before UCLASS can be used. #rb none Change 3122728 on 2016/09/13 by Nick.Darnell UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. #jira UE-35167 #rb none Change 3122775 on 2016/09/13 by Nick.Darnell Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH. #rb none Change 3122779 on 2016/09/13 by Nick.Darnell Widgetnimation - Exposing more of the class to C++. #rb none Change 3122793 on 2016/09/13 by Nick.Darnell Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance. #jira UE-35796 #rb none Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt Fixed crash undoing moves after bsp creation https://jira.ol.epicgames.net/browse/UE-35880 #rb none Change 3122835 on 2016/09/13 by Nick.Darnell Reverting changes to WIdgetAnimation #rb none Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt Fixed non-editor compile error #rb none Change 3122988 on 2016/09/13 by Alexis.Matte Material workflow refactor #jira UETOOL-774 #rb matt.kuhlenschmidt Change 3123006 on 2016/09/13 by Jamie.Dale Fixed dynamic collections not returning anything #jira UE-35869 #rb James.Hopkin Change 3123145 on 2016/09/13 by Alexis.Matte Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build. #jira UE-32268 #rb none #codereview matt.kuhlenschmidt Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt Fix fortnite compile error #rb alexis.matte Change 3123208 on 2016/09/13 by Jamie.Dale The 'find culprit' dialog now honors the user choice #rb RichTW Change 3123545 on 2016/09/13 by Nick.Darnell Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows. #rb none Change 3124494 on 2016/09/14 by Jamie.Dale Added ~ to the list of invalid characters for object/package names #jira UE-12908 #rb Matt.Kuhlenschmidt Change 3124513 on 2016/09/14 by Gareth.Martin Implemented filter to allow painting foliage on other foliage - Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes #rb Allan.Bentham #2472 Change 3124523 on 2016/09/14 by Jamie.Dale PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster) #jira UE-34811 #jira UE-32082 #rb none Change 3124607 on 2016/09/14 by Nick.Darnell UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function. #jira UE-35667 #rb none Change 3124785 on 2016/09/14 by Gareth.Martin Made some foliage functions editor-only to fix non-editor build #rb none Change 3124795 on 2016/09/14 by Gareth.Martin Saved/loaded the new foliage filter #rb Allan.Bentham #2472 Change 3124915 on 2016/09/14 by Michael.Dupuis #jira UE-19511 Add support for Add to source control on DefaultEditorPerProjectUserSettings file Remove CheckoutNotice when not editing a DefaultXXXX.ini file Edit proper config file either we're modifying settings from a Default file or Local user file #codereview Matt.Kuhlenschmidt Max.Preussner #rb Alexis.Matte Change 3125266 on 2016/09/14 by Jamie.Dale Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong #rb none Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt Fix crash when using SaveAs to save over top of an existing level #rb none https://jira.ol.epicgames.net/browse/UE-35919 https://jira.ol.epicgames.net/browse/UE-35921 Change 3125487 on 2016/09/14 by Alexis.Matte Fix cook content, regression induce by the material workflow refactor #rb matt.kuhlenschmidt Change 3126217 on 2016/09/15 by Gareth.Martin Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances #rb Allan.Bentham Change 3126311 on 2016/09/15 by Jamie.Dale Placement mode fixes - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const. - Ensured that the ID used by FPlaceableItem could never overflow. - Fixed some types being missing from the "All Classes" list. - Fixed the escape key not cancelling the search. #jira UE-35972 #rb James.Hopkin Change 3126325 on 2016/09/15 by Jamie.Dale Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added. #rb Andrew.Rodham Change 3126403 on 2016/09/15 by Gareth.Martin Added Find and Contains functions to TBitArray #rb Steve.Robb Change 3126405 on 2016/09/15 by Gareth.Martin Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor - Just like regular instanced mesh components! Also fixed not being able to move instances of an instanced mesh component when it is the root component Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished) #jira UE-29357 #rb Allan.Bentham Change 3126444 on 2016/09/15 by Jamie.Dale Fixed the loc dashboard configs not working with SCC This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul. #rb none Change 3126446 on 2016/09/15 by Jamie.Dale Fixed loc dashboard game and engine targets sharing the same expansion settting #rb none Change 3126555 on 2016/09/15 by Chris.Wood Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path. [UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows #rb Steve.Robb Change 3126586 on 2016/09/15 by Gareth.Martin Fixed missing landscape components when using a LODBias (cloned from 4.13.1) #jira UE-35873 #rb Jack.Porter Change 3126610 on 2016/09/15 by Jamie.Dale Stopped PS4 from always staging all ICU data files #rb Marcus.Wassmer Change 3126779 on 2016/09/15 by Michael.Dupuis #jira UE-32914 Improve the help text to provide usage examples and params #rb Alexis.Matte Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt Fix font material and outline font material not being animatable in sequencer #rb frank.fella Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt File not saved #rb none Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt Fixed reset to default state still not appearing in all cases after changing a property. #rb none Change 3127038 on 2016/09/15 by Nick.Darnell UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable. #rb none Change 3127061 on 2016/09/15 by Nick.Darnell Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children. #jira UE-35726 #rb Matt.Kuchlenschmidt Change 3127205 on 2016/09/15 by Alex.Delesky #jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency. #rb Nick.Darnell Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt Fix crash in scene outliner if actors become invalid #rb none https://jira.ol.epicgames.net/browse/UE-35932 Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt Added guards for crashes accessing slate resources for deleted uobjects #rb nick.darnell Change 3128067 on 2016/09/16 by Michael.Dupuis #jira UE-34158 Add an option to auto expand advanced details #rb Alexis.Matte Change 3128073 on 2016/09/16 by Michael.Dupuis #jira UE-1145 Set Save As to Ctrl + Alt + S Set Save All to Ctrl + Shift + S Set Save Current to Ctrl + S #rb Alexis.Matte Change 3128117 on 2016/09/16 by Jamie.Dale Updated the pin-type filter combo to filter on both the localized and source type descriptions #jira UE-36081 #rb none Change 3128177 on 2016/09/16 by Alexis.Matte #jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value. #rb michael.dupuis #codereview matt.kuhlenschmidt Change 3128387 on 2016/09/16 by Gareth.Martin Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes #jira UE-36093 #rb none Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt Guard against scene outliner crash. Print out tree when items appear twice. https://jira.ol.epicgames.net/browse/UE-35935 #rb none Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget #rb none Change 3128482 on 2016/09/16 by Michael.Dupuis Added new key binding for generic Save, Save As Added new key binding for Save All for the content browser #rb Alexis.Matte (approved by MattK) Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt Fix build warning #codereview nick.darnell #rb none Change 3128642 on 2016/09/16 by Alexis.Matte #jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear #rb none #codereview matt.kuhlenschmidt Change 3128733 on 2016/09/16 by Nick.Darnell UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly. #jira UE-36105 #rb none Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor #rb none Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt Fix offset characters on some small fonts #rb none Change 3130057 on 2016/09/19 by Jamie.Dale Fixing volatility and invalidation issues for text widgets #jira UE-33988 #rb Nick.Darnell Change 3130064 on 2016/09/19 by Jamie.Dale Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly #rb James.Hopkin Change 3130233 on 2016/09/19 by Michael.Dupuis #jira UE-32914 Added missing args that the UI supported #rb Alexis.Matte Change 3130265 on 2016/09/19 by Nick.Darnell Automation - Cleaning up some API items. #rb none Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt Fix reentrancy saving assets while a prompt for checkout dialog is open #rb none Change 3130398 on 2016/09/19 by Jamie.Dale Fixing UHT error when building #rb none Change 3132101 on 2016/09/20 by Nick.Darnell UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals. #rb none Change 3132110 on 2016/09/20 by Nick.Darnell PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist) #jira UE-13770 #rb Nick.Darnell Change 3132111 on 2016/09/20 by Nick.Darnell UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly. #rb none Change 3132138 on 2016/09/20 by Michael.Dupuis #jira UE-30945 Added missing PostEditComponentMove after drag is finished #rb Alexis.Matte Change 3132147 on 2016/09/20 by Michael.Dupuis #jira UE-30866 Fixed the filter to work properly #rb Alexis.Matte Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt Fix static analysis warnings in this file #rb none Change 3132231 on 2016/09/20 by Nick.Darnell Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected. #jira UE-33285 #rb none Change 3132255 on 2016/09/20 by Alex.Delesky #jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container. #rb Matt.Kuhlenschmidt Change 3132587 on 2016/09/20 by Mike.Fricker MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604) #rb none #lockdown matt.kuhlenschmidt Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt Fix crash opening the cooker settings https://jira.it.epicgames.net/browse/UE-36197 #rb none #lockdown nick.darnell Change 3133144 on 2016/09/20 by Nick.Darnell Build configuration for automation tests. #rb none #lockdown matt.kuhlenschmidt Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt Fix default material on odin text #rb none #lockdown nick.darnell Change 3133913 on 2016/09/21 by Nick.Darnell Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp #rb none #jira UE-36231 #lockdown matt.kuhlenschmidt [CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
}
FLevelEditorViewportInstanceSettings SLevelViewport::LoadLegacyConfigFromIni(const FString& InConfigKey, const FLevelEditorViewportInstanceSettings& InDefaultSettings)
{
FLevelEditorViewportInstanceSettings ViewportInstanceSettings = InDefaultSettings;
const FString& IniSection = FLayoutSaveRestore::GetAdditionalLayoutConfigIni();
{
int32 ViewportTypeAsInt = ViewportInstanceSettings.ViewportType;
GConfig->GetInt(*IniSection, *(InConfigKey + TEXT(".Type")), ViewportTypeAsInt, GEditorPerProjectIni);
ViewportInstanceSettings.ViewportType = (ViewportTypeAsInt == -1 || ViewportTypeAsInt == 255) ? LVT_None : static_cast<ELevelViewportType>(ViewportTypeAsInt); // LVT_None used to be -1 or 255
if(ViewportInstanceSettings.ViewportType == LVT_None)
{
ViewportInstanceSettings.ViewportType = LVT_Perspective;
}
}
GConfig->GetString(*IniSection, *(InConfigKey + TEXT(".EditorShowFlags")), ViewportInstanceSettings.EditorShowFlagsString, GEditorPerProjectIni);
GConfig->GetString(*IniSection, *(InConfigKey + TEXT(".GameShowFlags")), ViewportInstanceSettings.GameShowFlagsString, GEditorPerProjectIni);
// A single view mode index has been deprecated in favor of separate perspective and orthographic settings
EViewModeIndex LegacyViewModeIndex = VMI_Unknown;
{
int32 LegacyVMIAsInt = VMI_Unknown;
GConfig->GetInt(*IniSection, *(InConfigKey+TEXT(".ViewModeIndex")), LegacyVMIAsInt, GEditorPerProjectIni);
LegacyViewModeIndex = (LegacyVMIAsInt == -1) ? VMI_Unknown : static_cast<EViewModeIndex>(LegacyVMIAsInt); // VMI_Unknown used to be -1
}
if(!GConfig->GetInt(*IniSection, *(InConfigKey+TEXT(".PerspViewModeIndex")), (int32&)ViewportInstanceSettings.PerspViewModeIndex, GEditorPerProjectIni))
{
if(ViewportInstanceSettings.ViewportType == LVT_Perspective)
{
// This viewport may pre-date the ViewModeIndex setting (VMI_Unknown), if so, try to be backward compatible
ViewportInstanceSettings.PerspViewModeIndex = (LegacyViewModeIndex == VMI_Unknown) ? FindViewMode(LevelViewportClient->EngineShowFlags) : LegacyViewModeIndex;
}
else
{
// Default to Lit for a perspective viewport
ViewportInstanceSettings.PerspViewModeIndex = VMI_Lit;
}
}
if(!GConfig->GetInt(*IniSection, *(InConfigKey+TEXT(".OrthoViewModeIndex")), (int32&)ViewportInstanceSettings.OrthoViewModeIndex, GEditorPerProjectIni))
{
// Default to Brush Wireframe for an orthographic viewport
ViewportInstanceSettings.OrthoViewModeIndex = (ViewportInstanceSettings.ViewportType != LVT_Perspective && LegacyViewModeIndex != VMI_Unknown) ? LegacyViewModeIndex : VMI_BrushWireframe;
}
{
FString BufferVisualizationModeString;
if(GConfig->GetString(*IniSection, *(InConfigKey+TEXT(".BufferVisualizationMode")), BufferVisualizationModeString, GEditorPerProjectIni))
{
ViewportInstanceSettings.BufferVisualizationMode = *BufferVisualizationModeString;
}
}
{
FString ExposureSettingsString;
if(GConfig->GetString(*IniSection, *(InConfigKey + TEXT(".ExposureSettings")), ExposureSettingsString, GEditorPerProjectIni))
{
ViewportInstanceSettings.ExposureSettings.SetFromString(*ExposureSettingsString);
}
}
GConfig->GetBool(*IniSection, *(InConfigKey + TEXT(".bIsRealtime")), ViewportInstanceSettings.bIsRealtime, GEditorPerProjectIni);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3185985) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3170391 on 2016/10/21 by Ben.Woodhouse Remove the wait on end of frame ensure, because we can't rely on all the the underlying codepaths to never miss a call to flush RHI resources. The consequences of missing a flush on a given frame are not serious now, since we enforce the synchronisation with a fence, preventing the rendering thread from getting too far ahead. We will simply accumulate resources for an additional frame when this happens. #jira UE-37437 #fyi rolando.caloca, marcus.wassmer Change 3170659 on 2016/10/21 by Rolando.Caloca DR - vk - Prep work for state key changes Change 3170676 on 2016/10/21 by Rolando.Caloca DR - vk - Reworked blend state keys - Added depth/stencil to pipeline key Change 3170848 on 2016/10/21 by Daniel.Wright Level viewport 'show stats' option is now enabled by default, which avoids confusion with artists thinking lighting is built, when really the message is hidden. Change 3170849 on 2016/10/21 by Daniel.Wright Split FProjectedShadowInfo::RenderProjection into smaller functions which make the algorithm structure clear Change 3170995 on 2016/10/21 by Rolando.Caloca DR - vk - Show object on vulkan validation msgs Change 3171085 on 2016/10/21 by Rolando.Caloca DR - vk - Fix pipelines being used with incompatible renderpasses Change 3171159 on 2016/10/21 by Rolando.Caloca DR - vk - Fix layout when reading textures on CPU Change 3171167 on 2016/10/21 by Rolando.Caloca DR - vk - compile fix Change 3172462 on 2016/10/24 by Daniel.Wright Added a warning about shader compile times to the material tooltip Change 3172463 on 2016/10/24 by Daniel.Wright Reduced MinUnoccludedFraction to avoid artitfacts when a stationary light touches only a tiny part of a mesh Change 3172716 on 2016/10/24 by Brian.Karis Fix for crash UE-37369 when reimporting over a generated LOD. Change 3172967 on 2016/10/24 by Rolando.Caloca DR - vk - Fix writing buffers while GPU was using them Change 3174187 on 2016/10/25 by Olaf.Piesche UE-37020 Change 3174718 on 2016/10/26 by Rolando.Caloca DR - vk - Remove old timestamp queries, increase occlusion queries per pool to 4k Change 3175960 on 2016/10/26 by Rolando.Caloca DR - Added support for hlslcc header to have custom parsing Change 3176611 on 2016/10/27 by David.Hill DrawWireCone confusion: In response to a UDN, I'm updating confusing parameter names and comments for DrawWireCone() and DrawWireSphereCappedCone() Change 3177111 on 2016/10/27 by Rolando.Caloca DR - vk - Fix timestamps for frame Change 3177192 on 2016/10/27 by Arne.Schober DR - DitherLOD refactor - moved computation of the DepthStencil state out of SetMeshRenderState into GetDitheredLODTransitionState this is a prerequisite of further PSO work where we want to move up State setting in a similar war and reuse FMeshDrawingRenderState Change 3177278 on 2016/10/27 by Olaf.Piesche UE-37484 Change 3177297 on 2016/10/27 by Rolando.Caloca DR - vk - Enable GRHISupportsBaseVertexIndex Change 3177607 on 2016/10/27 by Rolando.Caloca DR - vk - SM4 UB prep Change 3178052 on 2016/10/28 by Arne.Schober DR - fix WebGL - the WebGL compiler is very picky on double underscores and does want the presission to be defined before any function definition. Change 3178156 on 2016/10/28 by Rolando.Caloca DR - vk - Added query timer - Fixed inline issues Change 3178158 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for out of stencil bits Change 3178462 on 2016/10/28 by Rolando.Caloca DR - vk - Fixes for Elemental Change 3179131 on 2016/10/28 by Rolando.Caloca DR - vk - Fix for r.Vulkan.UseRealUBs Change 3179139 on 2016/10/28 by Rolando.Caloca DR - vk - Move UB ring buffer to context Change 3179145 on 2016/10/28 by Rolando.Caloca DR - vk - Fix buffer barriers Change 3179888 on 2016/10/31 by Rolando.Caloca DR - vk - Align buffers to 16 bytes as we sometimes write to them with SIMD Change 3179923 on 2016/10/31 by Rolando.Caloca DR - vk - Wait for swapchain counter Change 3180430 on 2016/10/31 by Rolando.Caloca DR - vk - Properly wait for occlusion queries/cmd buffer - Actual log error if trying to use occlusion queries out of order Change 3180746 on 2016/10/31 by Rolando.Caloca DR - vk - Undo some waiting as it was on the wrong thread Change 3182115 on 2016/11/01 by Rolando.Caloca DR - hlslcc Linux path fix Change 3182118 on 2016/11/01 by Daniel.Wright Fixed global distance field seam artifacts from landscapes with no subsections Change 3182368 on 2016/11/01 by Daniel.Wright Dynamic Indirect Shadows for static meshes using distance fields * These Distance Field indirect shadows use the same tile culled and downsampled framework that capsule shadows use, with similar GPU cost * Individual StaticMesh assets can enable bGenerateMeshDistanceField to compute a distance field, without the memory cost of enabling for the whole project * New StaticMeshComponent properties bCastDynamicIndirectShadow and DynamicIndirectShadowMinVisibility * New WorldSettings property DynamicIndirectShadowsSelfShadowingIntensity which replaces the cvar * The GBuffer now stores HasDynamicIndirectShadowCasterRepresentation instead of HasHeightfieldRepresentation * DFAO from landscape is now done through the global distance field entirely. Landscape contribution to the global distance field is deferred to attempt to workaround texture streaming issues. Change 3182408 on 2016/11/01 by Rolando.Caloca DR - vk - Reworked occlusion queries, fixes flickering on AMD Change 3182585 on 2016/11/01 by Daniel.Wright PS4 compile fix Change 3183151 on 2016/11/02 by Rolando.Caloca DR - vk - Fix issue when processing super quick cmd buffers Change 3183160 on 2016/11/02 by Rolando.Caloca Dr - vk - Call reset queries outside render pass Change 3183182 on 2016/11/02 by Rolando.Caloca DR - Switch clear Change 3183194 on 2016/11/02 by Rolando.Caloca DR - Try to catch crash ahead of time Change 3183268 on 2016/11/02 by Rolando.Caloca DR - vk - Rename RenderPassState to TransitionState Change 3183440 on 2016/11/02 by Daniel.Wright Renamed 'Dynamic Indirect Shadow' to 'Distance Field Indirect Shadow' Change 3183793 on 2016/11/02 by Daniel.Wright Added ShadowResolutionScale to lightcomponent Change 3183796 on 2016/11/02 by Daniel.Wright Improved bSimulatePhysics comment, with info on why it might be greyed out Change 3183797 on 2016/11/02 by Daniel.Wright Precomputed shadowmaps no longer enable Force2To1Aspect, which is only needed for lightmaps. Improves shadowmap utilization. Change 3183915 on 2016/11/02 by Rolando.Caloca DR - vk - Remove redundant renderpasses Change 3183991 on 2016/11/02 by Daniel.Wright Added r.ReflectionEnvironmentLightmapMixLargestWeight, useful for restricting lightmap mixing to darkening only Change 3184001 on 2016/11/02 by Daniel.Wright Better draw event for IndirectCapsuleShadows in stereo Change 3184096 on 2016/11/02 by Chris.Bunner HDR for D3D11 - NVAPI toggle and encoding, UI compositing. Removed some outdated tonemamping cvars and modes. Change 3184399 on 2016/11/02 by Daniel.Wright Static analysis workaround Change 3184455 on 2016/11/02 by Mark.Satterthwaite Fix missing log10 from FCompositePS on hlslcc shader platforms so that QA can continue their integration. #jira UE-38164 Change 3184953 on 2016/11/03 by Chris.Bunner Fixing CIS warnings. [CL 3186011 by Marcus Wassmer in Main branch]
2016-11-03 16:55:27 -04:00
GConfig->GetBool(*IniSection, *(InConfigKey + TEXT(".bWantStats")), ViewportInstanceSettings.bShowOnScreenStats, GEditorPerProjectIni);
GConfig->GetBool(*IniSection, *(InConfigKey + TEXT(".bWantFPS")), ViewportInstanceSettings.bShowFPS_DEPRECATED, GEditorPerProjectIni);
GConfig->GetFloat(*IniSection, *(InConfigKey + TEXT(".FOVAngle")), ViewportInstanceSettings.FOVAngle, GEditorPerProjectIni);
return ViewportInstanceSettings;
}
void SLevelViewport::OnSetBookmark( int32 BookmarkIndex )
{
GLevelEditorModeTools().SetBookmark( BookmarkIndex, LevelViewportClient.Get() );
}
void SLevelViewport::OnJumpToBookmark( int32 BookmarkIndex )
{
const bool bShouldRestoreLevelVisibility = true;
GLevelEditorModeTools().JumpToBookmark( BookmarkIndex, bShouldRestoreLevelVisibility, LevelViewportClient.Get() );
}
void SLevelViewport::OnClearBookMark( int32 BookmarkIndex )
{
GLevelEditorModeTools().ClearBookmark( BookmarkIndex, LevelViewportClient.Get() );
}
void SLevelViewport::OnClearAllBookMarks()
{
GLevelEditorModeTools().ClearAllBookmarks( LevelViewportClient.Get() );
}
void SLevelViewport::OnToggleAllowCinematicPreview()
{
// Reset the FOV of Viewport for cases where we have been previewing the matinee with a changing FOV
LevelViewportClient->ViewFOV = LevelViewportClient->AllowsCinematicPreview() ? LevelViewportClient->ViewFOV : LevelViewportClient->FOVAngle;
LevelViewportClient->SetAllowCinematicPreview( !LevelViewportClient->AllowsCinematicPreview() );
LevelViewportClient->Invalidate( false );
}
bool SLevelViewport::AllowsCinematicPreview() const
{
return LevelViewportClient->AllowsCinematicPreview();
}
void SLevelViewport::OnIncrementPositionGridSize()
{
GEditor->GridSizeIncrement();
GEditor->RedrawLevelEditingViewports();
}
void SLevelViewport::OnDecrementPositionGridSize()
{
GEditor->GridSizeDecrement();
GEditor->RedrawLevelEditingViewports();
}
void SLevelViewport::OnIncrementRotationGridSize()
{
GEditor->RotGridSizeIncrement();
GEditor->RedrawLevelEditingViewports();
}
void SLevelViewport::OnDecrementRotationGridSize()
{
GEditor->RotGridSizeDecrement();
GEditor->RedrawLevelEditingViewports();
}
void SLevelViewport::OnActorLockToggleFromMenu(AActor* Actor)
{
if (Actor != NULL)
{
const bool bLockNewActor = Actor != LevelViewportClient->GetActiveActorLock().Get();
// Lock the new actor if it wasn't the same actor that we just unlocked
if (bLockNewActor)
{
// Unlock the previous actor
OnActorUnlock();
LockActorInternal(Actor);
}
}
}
bool SLevelViewport::IsActorLocked(const TWeakObjectPtr<AActor> Actor) const
{
return LevelViewportClient->IsActorLocked(Actor);
}
bool SLevelViewport::IsAnyActorLocked() const
{
return LevelViewportClient->IsAnyActorLocked();
}
void SLevelViewport::ToggleActorPilotCameraView()
{
LevelViewportClient->bLockedCameraView = !LevelViewportClient->bLockedCameraView;
}
bool SLevelViewport::IsLockedCameraViewEnabled() const
{
return LevelViewportClient->bLockedCameraView;
}
void SLevelViewport::FindSelectedInLevelScript()
{
GUnrealEd->FindSelectedActorsInLevelScript();
}
bool SLevelViewport::CanFindSelectedInLevelScript() const
{
AActor* Actor = GEditor->GetSelectedActors()->GetTop<AActor>();
return (Actor != NULL);
}
void SLevelViewport::OnActorUnlock()
{
if (AActor* LockedActor = LevelViewportClient->GetActiveActorLock().Get())
{
// Check to see if the locked actor was previously overriding the camera settings
if (CanGetCameraInformationFromActor(LockedActor))
{
// Reset the settings
LevelViewportClient->ViewFOV = LevelViewportClient->FOVAngle;
}
LevelViewportClient->SetActorLock(nullptr);
// remove roll and pitch from camera when unbinding from actors
GEditor->RemovePerspectiveViewRotation(true, true, false);
// If we had a camera actor locked, and it was selected, then we should re-show the inset preview
OnPreviewSelectedCamerasChange();
}
}
bool SLevelViewport::CanExecuteActorUnlock() const
{
return IsAnyActorLocked();
}
void SLevelViewport::OnActorLockSelected()
{
USelection* ActorSelection = GEditor->GetSelectedActors();
if (1 == ActorSelection->Num())
{
AActor* Actor = CastChecked<AActor>(ActorSelection->GetSelectedObject(0));
LockActorInternal(Actor);
}
}
bool SLevelViewport::CanExecuteActorLockSelected() const
{
USelection* ActorSelection = GEditor->GetSelectedActors();
if (1 == ActorSelection->Num())
{
return true;
}
return false;
}
bool SLevelViewport::IsSelectedActorLocked() const
{
USelection* ActorSelection = GEditor->GetSelectedActors();
if (1 == ActorSelection->Num() && IsAnyActorLocked())
{
AActor* Actor = CastChecked<AActor>(ActorSelection->GetSelectedObject(0));
if (LevelViewportClient->GetActiveActorLock().Get() == Actor)
{
return true;
}
}
return false;
}
float SLevelViewport::GetActorLockSceneOutlinerColumnWidth()
{
return 18.0f; // 16.0f for the icons and 2.0f padding
}
TSharedRef< ISceneOutlinerColumn > SLevelViewport::CreateActorLockSceneOutlinerColumn( ISceneOutliner& SceneOutliner ) const
{
/**
* A custom column for the SceneOutliner which shows whether an actor is locked to a viewport
*/
class FCustomColumn : public ISceneOutlinerColumn
{
public:
/**
* Constructor
*/
FCustomColumn( const SLevelViewport* const InViewport )
: Viewport(InViewport)
{
}
virtual ~FCustomColumn()
{
}
//////////////////////////////////////////////////////////////////////////
// Begin ISceneOutlinerColumn Implementation
virtual FName GetColumnID() override
{
return FName( "LockedToViewport" );
}
virtual SHeaderRow::FColumn::FArguments ConstructHeaderRowColumn() override
{
return SHeaderRow::Column( GetColumnID() )
.FixedWidth(SLevelViewport::GetActorLockSceneOutlinerColumnWidth())
[
SNew( SSpacer )
];
}
virtual const TSharedRef< SWidget > ConstructRowWidget( SceneOutliner::FTreeItemRef TreeItem, const STableRow<SceneOutliner::FTreeItemPtr>& InRow ) override
{
struct FConstructWidget : SceneOutliner::FColumnGenerator
{
const SLevelViewport* Viewport;
FConstructWidget(const SLevelViewport* InViewport) : Viewport(InViewport) {}
virtual TSharedRef<SWidget> GenerateWidget(SceneOutliner::FActorTreeItem& ActorItem) const override
{
AActor* Actor = ActorItem.Actor.Get();
if (!Actor)
{
return SNullWidget::NullWidget;
}
const bool bLocked = Viewport->IsActorLocked(Actor);
return SNew(SBox)
.WidthOverride(SLevelViewport::GetActorLockSceneOutlinerColumnWidth())
.Padding(FMargin(2.0f, 0.0f, 0.0f, 0.0f))
[
SNew(SImage)
.Image(FEditorStyle::GetBrush(bLocked ? "PropertyWindow.Locked" : "PropertyWindow.Unlocked"))
.ColorAndOpacity(bLocked ? FLinearColor::White : FLinearColor(1.0f, 1.0f, 1.0f, 0.5f))
];
}
};
FConstructWidget Visitor(Viewport);
TreeItem->Visit(Visitor);
if (Visitor.Widget.IsValid())
{
return Visitor.Widget.ToSharedRef();
}
else
{
return SNullWidget::NullWidget;
}
}
// End ISceneOutlinerColumn Implementation
//////////////////////////////////////////////////////////////////////////
private:
const SLevelViewport* Viewport;
};
return MakeShareable( new FCustomColumn( this ) );
}
void SLevelViewport::RedrawViewport( bool bInvalidateHitProxies )
{
if ( bInvalidateHitProxies )
{
// Invalidate hit proxies and display pixels.
LevelViewportClient->Viewport->Invalidate();
// Also update preview viewports
for( auto ActorPreviewIt = ActorPreviews.CreateConstIterator(); ActorPreviewIt; ++ActorPreviewIt )
{
auto& CurActorPreview = *ActorPreviewIt;
CurActorPreview.LevelViewportClient->Viewport->Invalidate();
}
}
else
{
// Invalidate only display pixels.
LevelViewportClient->Viewport->InvalidateDisplay();
// Also update preview viewports
for( auto ActorPreviewIt = ActorPreviews.CreateConstIterator(); ActorPreviewIt; ++ActorPreviewIt )
{
auto& CurActorPreview = *ActorPreviewIt;
CurActorPreview.LevelViewportClient->Viewport->InvalidateDisplay();
}
}
}
bool SLevelViewport::CanToggleMaximizeMode() const
{
TSharedPtr<FLevelViewportLayout> ParentLayoutPinned = ParentLayout.Pin();
return (ParentLayoutPinned.IsValid() && ParentLayoutPinned->IsMaximizeSupported() && !ParentLayoutPinned->IsTransitioning());
}
void SLevelViewport::OnToggleMaximizeMode()
{
OnToggleMaximize();
}
FReply SLevelViewport::OnToggleMaximize()
{
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
TSharedPtr<FLevelViewportLayout> ParentLayoutPinned = ParentLayout.Pin();
if (ParentLayoutPinned.IsValid() && ParentLayoutPinned->IsMaximizeSupported())
{
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
OnFloatingButtonClicked();
bool bWantImmersive = IsImmersive();
bool bWantMaximize = IsMaximized();
//When in Immersive mode we always want to toggle back to normal editing mode while retaining the previous maximized state
if( bWantImmersive )
{
bWantImmersive = false;
}
else
{
bWantMaximize = !bWantMaximize;
}
// We always want to animate in response to user-interactive toggling of maximized state
const bool bAllowAnimation = true;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
FName ViewportName = *ConfigKey;
if (!ViewportName.IsNone())
{
ParentLayout.Pin()->RequestMaximizeViewport( ViewportName, bWantMaximize, bWantImmersive, bAllowAnimation );
}
}
return FReply::Handled();
}
void SLevelViewport::MakeImmersive( const bool bWantImmersive, const bool bAllowAnimation )
{
if( ensure( ParentLayout.IsValid() ) )
{
const bool bWantMaximize = IsMaximized();
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
FName ViewportName = *ConfigKey;
if (!ViewportName.IsNone())
{
ParentLayout.Pin()->RequestMaximizeViewport( ViewportName, bWantMaximize, bWantImmersive, bAllowAnimation );
}
}
}
/**
* Registers a game viewport with the Slate application so that specific messages can be routed directly to this level viewport if it is an active PIE viewport
*/
void SLevelViewport::RegisterGameViewportIfPIE()
{
if(ActiveViewport->IsPlayInEditorViewport())
{
FSlateApplication::Get().RegisterGameViewport(ViewportWidget.ToSharedRef());
}
}
bool SLevelViewport::HasPlayInEditorViewport() const
{
return ActiveViewport->IsPlayInEditorViewport() || ( InactiveViewport.IsValid() && InactiveViewport->IsPlayInEditorViewport() );
}
bool SLevelViewport::IsPlayInEditorViewportActive() const
{
return ActiveViewport->IsPlayInEditorViewport();
}
void SLevelViewport::OnActorSelectionChanged(const TArray<UObject*>& NewSelection, bool bForceRefresh)
{
// On the first actor selection after entering Game View, enable the selection show flag
if (IsVisible() && IsInGameView() && NewSelection.Num() != 0)
{
if( LevelViewportClient->bAlwaysShowModeWidgetAfterSelectionChanges )
{
LevelViewportClient->EngineShowFlags.SetModeWidgets(true);
}
LevelViewportClient->EngineShowFlags.SetSelection(true);
LevelViewportClient->EngineShowFlags.SetSelectionOutline(GetDefault<ULevelEditorViewportSettings>()->bUseSelectionOutline);
}
// Check to see if we have any actors that we should preview. Only do this if we're the active level viewport client.
// NOTE: We don't actively monitor which viewport is "current" and remove views, etc. This ends up OK though because
// the camera PIP views will feel "sticky" in the viewport that was active when you last selected objects
// to preview!
if (GetDefault<ULevelEditorViewportSettings>()->bPreviewSelectedCameras && GCurrentLevelEditingViewportClient == LevelViewportClient.Get())
{
PreviewSelectedCameraActors();
}
else
{
// We're no longer the active viewport client, so remove any existing previewed actors
PreviewActors(TArray<AActor*>());
}
}
void SLevelViewport::PreviewSelectedCameraActors()
{
TArray<AActor*> ActorsToPreview;
for (FSelectionIterator SelectionIt( *GEditor->GetSelectedActors()); SelectionIt; ++SelectionIt)
{
AActor* SelectedActor = CastChecked<AActor>( *SelectionIt );
if (LevelViewportClient->IsLockedToActor(SelectedActor))
{
// If this viewport is already locked to the specified camera, then we don't need to do anything
}
else if (CanGetCameraInformationFromActor(SelectedActor))
{
ActorsToPreview.Add(SelectedActor);
}
}
PreviewActors( ActorsToPreview );
}
class SActorPreview : public SCompoundWidget
{
public:
~SActorPreview();
SLATE_BEGIN_ARGS( SActorPreview )
: _ViewportWidth( 240 ),
_ViewportHeight( 180 ) {}
/** Width of the viewport */
SLATE_ARGUMENT( int32, ViewportWidth )
/** Height of the viewport */
SLATE_ARGUMENT( int32, ViewportHeight )
/** Actor being previewed.*/
SLATE_ARGUMENT( TWeakObjectPtr< AActor >, PreviewActor )
/** Parent Viewport this preview is part of.*/
SLATE_ARGUMENT( TWeakPtr<SLevelViewport>, ParentViewport )
SLATE_END_ARGS()
/** Called by Slate to construct this widget */
void Construct( const FArguments& InArgs );
/** @return Returns this actor preview's viewport widget */
const TSharedRef< SViewport > GetViewportWidget() const
{
return ViewportWidget.ToSharedRef();
}
/** SWidget overrides */
virtual void OnMouseEnter( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent ) override;
virtual void OnMouseLeave( const FPointerEvent& MouseEvent ) override;
/** Highlight this preview window by flashing the border. Will replay the curve sequence if it is already in the middle of a highlight. */
void Highlight();
private:
/** Called when an actor in the world is selected */
void OnActorSelected(UObject* InActor);
/** @return Returns the color and opacity to use for this widget */
FLinearColor GetColorAndOpacity() const;
/** @return Returns the border color and opacity to use for this widget (FSlateColor version) */
FSlateColor GetBorderColorAndOpacity() const;
/** @return Gets the name of the preview actor.*/
FText OnReadText() const;
/** @return Gets the Width of the preview viewport.*/
FOptionalSize OnReadWidth() const;
/** @return Gets the Height of the preview viewport.*/
FOptionalSize OnReadHeight() const;
/** @return Get the Width to wrap the preview actor name at.*/
float OnReadTextWidth() const;
/** Called when the pin preview button is clicked */
FReply OnTogglePinnedButtonClicked();
/** Swap between the pinned and unpinned icons */
const FSlateBrush* GetPinButtonIconBrush() const;
/** @return the tooltip to display when hovering over the pin button */
FText GetPinButtonToolTipText() const;
/** Viewport widget for this actor preview */
TSharedPtr< SViewport > ViewportWidget;
/** Actor being previewed.*/
TWeakObjectPtr< AActor > PreviewActorPtr;
/** Parent Viewport this preview is part of.*/
TWeakPtr<SLevelViewport> ParentViewport;
/** Curve sequence for fading in and out */
FCurveSequence FadeSequence;
/** Curve sequence for flashing the border (highlighting) when a pinned preview is re-selected */
FCurveSequence HighlightSequence;
/** Padding around the preview actor name */
static const float PreviewTextPadding;
};
const float SActorPreview::PreviewTextPadding = 3.0f;
SActorPreview::~SActorPreview()
{
USelection::SelectObjectEvent.RemoveAll(this);
}
void SActorPreview::Construct( const FArguments& InArgs )
{
const int32 HorizSpacingBetweenViewports = 18;
const int32 PaddingBeforeBorder = 6;
USelection::SelectObjectEvent.AddRaw(this, &SActorPreview::OnActorSelected);
// We don't want the border to be hit testable, since it would just get in the way of other
// widgets that are added to the viewport overlay.
this->SetVisibility(EVisibility::SelfHitTestInvisible);
this->ChildSlot
[
SNew(SBorder)
.Padding(0)
.Visibility(EVisibility::SelfHitTestInvisible)
.BorderImage(FEditorStyle::GetBrush("NoBorder"))
.HAlign(HAlign_Right)
.VAlign(VAlign_Bottom)
.Padding(FMargin(0, 0, PaddingBeforeBorder, PaddingBeforeBorder))
[
SNew( SOverlay )
+SOverlay::Slot()
[
SNew( SBorder )
// We never want the user to be able to interact with this viewport. Clicks should go right though it!
.Visibility( EVisibility::HitTestInvisible )
.Padding( 16.0f )
.BorderImage( FEditorStyle::GetBrush( "UniformShadow_Tint" ) )
.BorderBackgroundColor( this, &SActorPreview::GetBorderColorAndOpacity )
.ColorAndOpacity( this, &SActorPreview::GetColorAndOpacity )
[
SNew( SBox )
.WidthOverride( this, &SActorPreview::OnReadWidth )
.HeightOverride(this, &SActorPreview::OnReadHeight )
[
SNew( SOverlay )
+SOverlay::Slot()
[
SAssignNew( ViewportWidget, SViewport )
.RenderDirectlyToWindow( false )
.IsEnabled( FSlateApplication::Get().GetNormalExecutionAttribute() )
.EnableGammaCorrection( false ) // Scene rendering handles gamma correction
.EnableBlending( true )
]
+SOverlay::Slot()
.Padding(PreviewTextPadding)
.HAlign(HAlign_Center)
[
SNew( STextBlock )
.Text( this, &SActorPreview::OnReadText )
.Font( FSlateFontInfo( FPaths::EngineContentDir() / TEXT("Slate/Fonts/Roboto-Bold.ttf"), 10 ) )
.ShadowOffset( FVector2D::UnitVector )
.WrapTextAt( this, &SActorPreview::OnReadTextWidth )
]
]
]
]
+SOverlay::Slot()
.HAlign(HAlign_Left)
.VAlign(VAlign_Bottom)
.Padding( 24.0f )
[
// Create a button to pin/unpin this viewport
SNew( SButton )
.ContentPadding(0)
.ForegroundColor( FSlateColor::UseForeground() )
.ButtonStyle( FEditorStyle::Get(), "ToggleButton" )
.IsFocusable(false)
[
SNew( SImage )
.Visibility( EVisibility::Visible )
.Image( this, &SActorPreview::GetPinButtonIconBrush )
]
// Bind the button's "on clicked" event to our object's method for this
.OnClicked( this, &SActorPreview::OnTogglePinnedButtonClicked )
.Visibility( EVisibility::Visible )
// Pass along the block's tool-tip string
.ToolTipText( this, &SActorPreview::GetPinButtonToolTipText )
]
]
];
// Setup animation curve for fading in and out. Note that we add a bit of lead-in time on the fade-in
// to avoid hysteresis as the user moves the mouse over the view
{
/** The amount of time to wait before fading in after the mouse leaves */
const float TimeBeforeFadingIn = 0.5f;
/** The amount of time spent actually fading in or out */
const float FadeTime = 0.25f;
FadeSequence = FCurveSequence( TimeBeforeFadingIn, FadeTime );
// Start fading in!
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
FadeSequence.Play(this->AsShared(), false, TimeBeforeFadingIn); // Skip the initial time delay and just fade straight in
}
HighlightSequence = FCurveSequence(0.f, 0.5f, ECurveEaseFunction::Linear);
PreviewActorPtr = InArgs._PreviewActor;
ParentViewport = InArgs._ParentViewport;
}
FReply SActorPreview::OnTogglePinnedButtonClicked()
{
TSharedPtr<SLevelViewport> ParentViewportPtr = ParentViewport.Pin();
if (ParentViewportPtr.IsValid())
{
ParentViewportPtr->ToggleActorPreviewIsPinned(PreviewActorPtr);
}
return FReply::Handled();
}
const FSlateBrush* SActorPreview::GetPinButtonIconBrush() const
{
const FSlateBrush* IconBrush = NULL;
TSharedPtr<SLevelViewport> ParentViewportPtr = ParentViewport.Pin();
if (ParentViewportPtr.IsValid())
{
if ( ParentViewportPtr->IsActorPreviewPinned(PreviewActorPtr) )
{
IconBrush = FEditorStyle::GetBrush( "ViewportActorPreview.Pinned" );
}
else
{
IconBrush = FEditorStyle::GetBrush( "ViewportActorPreview.Unpinned" );
}
}
return IconBrush;
}
FText SActorPreview::GetPinButtonToolTipText() const
{
FText CurrentToolTipText = LOCTEXT("PinPreviewActorTooltip", "Pin Preview");
TSharedPtr<SLevelViewport> ParentViewportPtr = ParentViewport.Pin();
if (ParentViewportPtr.IsValid())
{
if ( ParentViewportPtr->IsActorPreviewPinned(PreviewActorPtr) )
{
CurrentToolTipText = LOCTEXT("UnpinPreviewActorTooltip", "Unpin Preview");
}
}
return CurrentToolTipText;
}
void SActorPreview::OnMouseEnter( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent )
{
SCompoundWidget::OnMouseEnter( MyGeometry, MouseEvent );
// The viewport could potentially be moved around inside the toolbar when the mouse is captured
// If that is the case we do not play the fade transition
if( !FSlateApplication::Get().IsUsingHighPrecisionMouseMovment() )
{
if( FadeSequence.IsPlaying() )
{
if( FadeSequence.IsForward() )
{
// Fade in is already playing so just force the fade out curve to the end so we don't have a "pop"
// effect from quickly resetting the alpha
FadeSequence.JumpToStart();
}
}
else
{
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
FadeSequence.PlayReverse(this->AsShared());
}
}
}
void SActorPreview::OnMouseLeave( const FPointerEvent& MouseEvent )
{
SCompoundWidget::OnMouseLeave( MouseEvent );
// The viewport could potentially be moved around inside the toolbar when the mouse is captured
// If that is the case we do not play the fade transition
if( !FSlateApplication::Get().IsUsingHighPrecisionMouseMovment() )
{
if( FadeSequence.IsPlaying() )
{
if( FadeSequence.IsInReverse() )
{
FadeSequence.Reverse();
}
}
else
{
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
FadeSequence.Play(this->AsShared());
}
}
// Now is a good time to check if we need to remove any PreviewActors that might have been un-pinned
TSharedPtr<SLevelViewport> ParentViewportPtr = ParentViewport.Pin();
if (ParentViewportPtr.IsValid())
{
ParentViewportPtr->OnPreviewSelectedCamerasChange();
}
}
FLinearColor SActorPreview::GetColorAndOpacity() const
{
FLinearColor Color = FLinearColor::White;
const float HoveredOpacity = 0.4f;
const float NonHoveredOpacity = 1.0f;
Color.A = FMath::Lerp( HoveredOpacity, NonHoveredOpacity, FadeSequence.GetLerp() );
return Color;
}
void SActorPreview::OnActorSelected(UObject* InActor)
{
if (InActor && InActor == PreviewActorPtr && InActor->IsSelected())
{
TSharedPtr<SLevelViewport> ParentViewportPtr = ParentViewport.Pin();
const bool bIsPreviewPinned = ParentViewportPtr.IsValid() && ParentViewportPtr->IsActorPreviewPinned(PreviewActorPtr);
if (bIsPreviewPinned)
{
Highlight();
}
}
}
void SActorPreview::Highlight()
{
HighlightSequence.JumpToStart();
---- Merging with SlateDev branch ---- Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI. While asleep, Slate will skip the Tick & Paint pass for that frame entirely. - There are TWO ways to "wake" Slate and cause a Tick/Paint pass: 1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active. - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick. 2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked. - The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action. - Examples include animation, async operations that update periodically, progress updates, loading bars, etc. - An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before. - An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick() - There are THREE ways to unregister an active tick: 1. Return EActiveTickReturnType::StopTicking from the active tick function 2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick() 3. Destroy the widget responsible for the active tick - Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar - There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed. - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f) - The FCurveSequence API has been updated to work with the active tick system - Playing a curve sequence now requires that you pass the widget being animated by the sequence - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end. [CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
HighlightSequence.Play(this->AsShared());
}
FSlateColor SActorPreview::GetBorderColorAndOpacity() const
{
FLinearColor Color(0.f, 0.f, 0.f, 0.5f);
if (HighlightSequence.IsPlaying())
{
static const FName SelectionColorName("SelectionColor");
const FLinearColor SelectionColor = FEditorStyle::Get().GetSlateColor(SelectionColorName).GetSpecifiedColor().CopyWithNewOpacity(0.5f);
const float Interp = FMath::Sin(HighlightSequence.GetLerp()*6*PI) / 2 + 1;
Color = FMath::Lerp(SelectionColor, Color, Interp);
}
return Color;
}
FText SActorPreview::OnReadText() const
{
if( PreviewActorPtr.IsValid() )
{
return FText::FromString(PreviewActorPtr.Get()->GetActorLabel());
}
else
{
return FText::GetEmpty();
}
}
FOptionalSize SActorPreview::OnReadWidth() const
{
const float PreviewHeight = OnReadHeight().Get();
// See if the preview actor wants to constrain the aspect ratio first
if (AActor* PreviewActor = PreviewActorPtr.Get())
{
FMinimalViewInfo CameraInfo;
if (SLevelViewport::GetCameraInformationFromActor(PreviewActor, /*out*/ CameraInfo))
{
if (CameraInfo.bConstrainAspectRatio && (CameraInfo.AspectRatio > 0.0f))
{
return PreviewHeight * CameraInfo.AspectRatio;
}
}
}
// Otherwise try to match the parent viewport's aspect ratio
if ( ParentViewport.IsValid() )
{
return PreviewHeight * ParentViewport.Pin()->GetActiveViewport()->GetDesiredAspectRatio();
}
return PreviewHeight * 1.7777f;
}
FOptionalSize SActorPreview::OnReadHeight() const
{
const float MinimumHeight = 32;
// Also used as parent height in case valid parent viewport is not set
const float MaximumHeight = 428;
// Used to make sure default viewport scale * parent viewport height = roughly same size as original windows
const float PreviewScalingFactor = 0.06308f;
float ParentHeight = MaximumHeight;
if ( ParentViewport.IsValid() )
{
ParentHeight = ParentViewport.Pin()->GetActiveViewport()->GetSizeXY().Y;
}
return FMath::Clamp( GetDefault<ULevelEditorViewportSettings>()->CameraPreviewSize * ParentHeight * PreviewScalingFactor, MinimumHeight, MaximumHeight );
}
float SActorPreview::OnReadTextWidth() const
{
return OnReadWidth().Get() - (PreviewTextPadding*2.0f);
}
void SLevelViewport::PreviewActors( const TArray< AActor* >& ActorsToPreview )
{
TArray< AActor* > NewActorsToPreview;
TArray< AActor* > ActorsToStopPreviewing;
// Look for actors that we no longer want to preview
for( auto ActorPreviewIt = ActorPreviews.CreateConstIterator(); ActorPreviewIt; ++ActorPreviewIt )
{
auto ExistingActor = ActorPreviewIt->Actor.Get();
if( ExistingActor != NULL )
{
auto bShouldKeepActor = false;
for( auto ActorIt = ActorsToPreview.CreateConstIterator(); ActorIt; ++ActorIt )
{
auto CurActor = *ActorIt;
if( CurActor != NULL && CurActor == ExistingActor )
{
bShouldKeepActor = true;
break;
}
}
if( !bShouldKeepActor )
{
// We were asked to stop previewing this actor
ActorsToStopPreviewing.AddUnique( ExistingActor );
}
}
}
// Look for any new actors that we aren't previewing already
for( auto ActorIt = ActorsToPreview.CreateConstIterator(); ActorIt; ++ActorIt )
{
auto CurActor = *ActorIt;
// Check to see if we're already previewing this actor. If we are, we'll just skip it
auto bIsAlreadyPreviewed = false;
for( auto ExistingPreviewIt = ActorPreviews.CreateConstIterator(); ExistingPreviewIt; ++ExistingPreviewIt )
{
// There could be null actors in this list as we haven't actually removed them yet.
auto ExistingActor = ExistingPreviewIt->Actor.Get();
if( ExistingActor != NULL && CurActor == ExistingActor )
{
// Already previewing this actor. Ignore it.
bIsAlreadyPreviewed = true;
break;
}
}
if( !bIsAlreadyPreviewed )
{
// This is a new actor that we want to preview. Let's set that up.
NewActorsToPreview.Add( CurActor );
}
}
// Kill any existing actor previews that we don't want or have expired
for( int32 PreviewIndex = 0; PreviewIndex < ActorPreviews.Num(); ++PreviewIndex )
{
AActor* ExistingActor = ActorPreviews[PreviewIndex].Actor.Get();
if ( ExistingActor == NULL )
{
// decrement index so we don't miss next preview after deleting
RemoveActorPreview( PreviewIndex-- );
}
else
{
if ( !ActorPreviews[PreviewIndex].bIsPinned )
{
for( auto ActorIt = ActorsToStopPreviewing.CreateConstIterator(); ActorIt; ++ActorIt )
{
auto CurActor = *ActorIt;
if( ExistingActor == CurActor )
{
// Remove this preview!
// decrement index so we don't miss next preview after deleting
RemoveActorPreview( PreviewIndex-- );
break;
}
}
}
}
}
// Create previews for any actors that we need to
if( NewActorsToPreview.Num() > 0 )
{
for( auto ActorIt = NewActorsToPreview.CreateConstIterator(); ActorIt; ++ActorIt )
{
auto CurActor = *ActorIt;
TSharedPtr< FLevelEditorViewportClient > ActorPreviewLevelViewportClient = MakeShareable( new FLevelEditorViewportClient(SharedThis(this)) );
{
// NOTE: We don't bother setting ViewLocation, ViewRotation, etc, here. This is because we'll call
// PushControllingActorDataToViewportClient() below which will do this!
// ParentLevelEditor is used for summoning context menus, which should never happen for these preview
// viewports, but we'll keep the relationship intact anyway.
ActorPreviewLevelViewportClient->ParentLevelEditor = ParentLevelEditor.Pin();
ActorPreviewLevelViewportClient->ViewportType = LVT_Perspective;
ActorPreviewLevelViewportClient->bSetListenerPosition = false; // Preview viewports never be a listener
// Never draw the axes indicator in these small viewports
ActorPreviewLevelViewportClient->bDrawAxes = false;
// Default to "game" show flags for camera previews
// Still draw selection highlight though
ActorPreviewLevelViewportClient->EngineShowFlags = FEngineShowFlags(ESFIM_Game);
ActorPreviewLevelViewportClient->EngineShowFlags.SetSelection(true);
ActorPreviewLevelViewportClient->LastEngineShowFlags = FEngineShowFlags(ESFIM_Editor);
// We don't use view modes for preview viewports
ActorPreviewLevelViewportClient->SetViewMode( VMI_Unknown );
// User should never be able to interact with this viewport
ActorPreviewLevelViewportClient->bDisableInput = true;
// Never allow Matinee to possess these views
ActorPreviewLevelViewportClient->SetAllowCinematicPreview( false );
// Our preview viewport is always visible if our owning SLevelViewport is visible, so we hook up
// to the same IsVisible method
ActorPreviewLevelViewportClient->VisibilityDelegate.BindSP( this, &SLevelViewport::IsVisible );
// Push actor transform to view. From here on out, this will happen automatically in FLevelEditorViewportClient::Tick.
// The reason we allow the viewport client to update this is to avoid off-by-one-frame issues when dragging actors around.
ActorPreviewLevelViewportClient->SetActorLock( CurActor );
ActorPreviewLevelViewportClient->UpdateViewForLockedActor();
}
TSharedPtr< SActorPreview > ActorPreviewWidget = SNew(SActorPreview)
.PreviewActor(CurActor)
.ParentViewport(SharedThis(this));
auto ActorPreviewViewportWidget = ActorPreviewWidget->GetViewportWidget();
TSharedPtr< FSceneViewport > ActorPreviewSceneViewport = MakeShareable( new FSceneViewport( ActorPreviewLevelViewportClient.Get(), ViewportWidget ) );
{
ActorPreviewLevelViewportClient->Viewport = ActorPreviewSceneViewport.Get();
ActorPreviewViewportWidget->SetViewportInterface( ActorPreviewSceneViewport.ToSharedRef() );
}
FViewportActorPreview& NewActorPreview = *new( ActorPreviews ) FViewportActorPreview;
NewActorPreview.Actor = CurActor;
NewActorPreview.LevelViewportClient = ActorPreviewLevelViewportClient;
NewActorPreview.SceneViewport = ActorPreviewSceneViewport;
NewActorPreview.PreviewWidget = ActorPreviewWidget;
NewActorPreview.bIsPinned = false;
// Add our new widget to our viewport's overlay
// @todo camerapip: Consider using a canvas instead of an overlay widget -- our viewports get SQUASHED when the view shrinks!
ActorPreviewHorizontalBox->AddSlot()
.AutoWidth()
[
ActorPreviewWidget.ToSharedRef()
];
}
// OK, at least one new preview viewport was added, so update settings for all views immediately.
// This will also be repeated every time the SLevelViewport is ticked, just to make sure that
// feature such as "real-time" mode stay in sync.
UpdateActorPreviewViewports();
}
}
void SLevelViewport::ToggleActorPreviewIsPinned(TWeakObjectPtr<AActor> ActorToTogglePinned)
{
if (ActorToTogglePinned.IsValid())
{
AActor* ActorToTogglePinnedPtr = ActorToTogglePinned.Get();
for (FViewportActorPreview& ActorPreview : ActorPreviews)
{
if ( ActorPreview.Actor.IsValid() )
{
if ( ActorToTogglePinnedPtr == ActorPreview.Actor.Get() )
{
ActorPreview.ToggleIsPinned();
}
}
}
}
}
bool SLevelViewport::IsActorPreviewPinned( TWeakObjectPtr<AActor> PreviewActor )
{
if (PreviewActor.IsValid())
{
AActor* PreviewActorPtr = PreviewActor.Get();
for (FViewportActorPreview& ActorPreview : ActorPreviews)
{
if ( ActorPreview.Actor.IsValid() )
{
if ( PreviewActorPtr == ActorPreview.Actor.Get() )
{
return ActorPreview.bIsPinned;
}
}
}
}
return false;
}
void SLevelViewport::UpdateActorPreviewViewports()
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
// Remove any previews that are locked to the same actor as the level viewport client's actor lock
for( int32 PreviewIndex = 0; PreviewIndex < ActorPreviews.Num(); ++PreviewIndex )
{
AActor* ExistingActor = ActorPreviews[PreviewIndex].Actor.Get();
if (ExistingActor && LevelViewportClient->IsActorLocked(ExistingActor))
{
RemoveActorPreview( PreviewIndex-- );
}
}
// Look for actors that we no longer want to preview
for( auto ActorPreviewIt = ActorPreviews.CreateConstIterator(); ActorPreviewIt; ++ActorPreviewIt )
{
auto& CurActorPreview = *ActorPreviewIt;
CurActorPreview.LevelViewportClient->SetRealtime( LevelViewportClient->IsRealtime() );
CurActorPreview.LevelViewportClient->bDrawBaseInfo = LevelViewportClient->bDrawBaseInfo;
CurActorPreview.LevelViewportClient->bDrawVertices = LevelViewportClient->bDrawVertices;
CurActorPreview.LevelViewportClient->EngineShowFlags.SetSelectionOutline(LevelViewportClient->EngineShowFlags.SelectionOutline);
CurActorPreview.LevelViewportClient->EngineShowFlags.SetCompositeEditorPrimitives(LevelViewportClient->EngineShowFlags.CompositeEditorPrimitives);
}
}
void SLevelViewport::OnPreviewSelectedCamerasChange()
{
// Check to see if previewing selected cameras is enabled and if we're the active level viewport client.
if (GetDefault<ULevelEditorViewportSettings>()->bPreviewSelectedCameras && GCurrentLevelEditingViewportClient == LevelViewportClient.Get())
{
PreviewSelectedCameraActors();
}
else
{
// We're either not the active viewport client or preview selected cameras option is disabled, so remove any existing previewed actors
PreviewActors(TArray<AActor*>());
}
}
void SLevelViewport::SetDeviceProfileString( const FString& ProfileName )
{
DeviceProfile = ProfileName;
}
bool SLevelViewport::IsDeviceProfileStringSet( FString ProfileName ) const
{
return DeviceProfile == ProfileName;
}
FString SLevelViewport::GetDeviceProfileString( ) const
{
return DeviceProfile;
}
FText SLevelViewport::GetCurrentFeatureLevelPreviewText( bool bDrawOnlyLabel ) const
{
FText LabelName;
FText FeatureLevelText;
if (bDrawOnlyLabel)
{
LabelName = LOCTEXT("FeatureLevelLabel", "Feature Level:");
}
else
{
auto* World = GetWorld();
if (World != nullptr)
{
const auto FeatureLevel = World->FeatureLevel;
if (FeatureLevel != GMaxRHIFeatureLevel)
{
FName FeatureLevelName;
GetFeatureLevelName(FeatureLevel, FeatureLevelName);
FeatureLevelText = FText::Format(LOCTEXT("FeatureLevel", "{0}"), FText::FromName(FeatureLevelName));
}
}
}
if (bDrawOnlyLabel)
{
return LabelName;
}
return FeatureLevelText;
}
FText SLevelViewport::GetCurrentLevelText( bool bDrawOnlyLabel ) const
{
// Display the current level and current level grid volume in the status bar
FText LabelName;
FText CurrentLevelName;
if( ActiveViewport.IsValid() && (&GetLevelViewportClient() == GCurrentLevelEditingViewportClient) && GetWorld() && GetWorld()->GetCurrentLevel() != nullptr )
{
if( ActiveViewport->GetPlayInEditorIsSimulate() || !ActiveViewport->GetClient()->GetWorld()->IsGameWorld() )
{
if(bDrawOnlyLabel)
{
LabelName = LOCTEXT("CurrentLevelLabel", "Level:");
}
else
{
// Get the level name (without the number at the end)
FText ActualLevelName = FText::FromString(FPackageName::GetShortFName(GetWorld()->GetCurrentLevel()->GetOutermost()->GetFName()).GetPlainNameString());
if(GetWorld()->GetCurrentLevel() == GetWorld()->PersistentLevel)
{
FFormatNamedArguments Args;
Args.Add(TEXT("ActualLevelName"), ActualLevelName);
CurrentLevelName = FText::Format(LOCTEXT("LevelName", "{0} (Persistent)"), ActualLevelName);
}
else
{
CurrentLevelName = ActualLevelName;
}
}
if(bDrawOnlyLabel)
{
return LabelName;
}
}
}
return CurrentLevelName;
}
EVisibility SLevelViewport::GetCurrentLevelTextVisibility() const
{
EVisibility ContentVisibility = OnGetViewportContentVisibility();
if (ContentVisibility == EVisibility::Visible)
{
ContentVisibility = EVisibility::SelfHitTestInvisible;
}
return (&GetLevelViewportClient() == GCurrentLevelEditingViewportClient) ? ContentVisibility : EVisibility::Collapsed;
}
EVisibility SLevelViewport::GetCurrentFeatureLevelPreviewTextVisibility() const
{
if (GetWorld())
{
return (GetWorld()->FeatureLevel != GMaxRHIFeatureLevel) ? EVisibility::SelfHitTestInvisible : EVisibility::Collapsed;
}
else
{
return EVisibility::Collapsed;
}
}
EVisibility SLevelViewport::GetViewportControlsVisibility() const
{
// Do not show the controls if this viewport has a play in editor session
// or is not the current viewport
return (&GetLevelViewportClient() == GCurrentLevelEditingViewportClient && !IsPlayInEditorViewportActive()) ? OnGetViewportContentVisibility() : EVisibility::Collapsed;
}
void SLevelViewport::OnSetViewportConfiguration(FName ConfigurationName)
{
TSharedPtr<FLevelViewportLayout> LayoutPinned = ParentLayout.Pin();
if (LayoutPinned.IsValid())
{
TSharedPtr<FLevelViewportTabContent> ViewportTabPinned = LayoutPinned->GetParentTabContent().Pin();
if (ViewportTabPinned.IsValid())
{
// Viewport clients are going away. Any current one is invalid.
GCurrentLevelEditingViewportClient = nullptr;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
ViewportTabPinned->SetViewportConfiguration(ConfigurationName);
FSlateApplication::Get().DismissAllMenus();
}
}
}
bool SLevelViewport::IsViewportConfigurationSet(FName ConfigurationName) const
{
TSharedPtr<FLevelViewportLayout> LayoutPinned = ParentLayout.Pin();
if (LayoutPinned.IsValid())
{
TSharedPtr<FLevelViewportTabContent> ViewportTabPinned = LayoutPinned->GetParentTabContent().Pin();
if (ViewportTabPinned.IsValid())
{
return ViewportTabPinned->IsViewportConfigurationSet(ConfigurationName);
}
}
return false;
}
FName SLevelViewport::GetViewportTypeWithinLayout() const
{
TSharedPtr<FLevelViewportLayout> LayoutPinned = ParentLayout.Pin();
if (LayoutPinned.IsValid() && !ConfigKey.IsEmpty())
{
TSharedPtr<IViewportLayoutEntity> Entity = LayoutPinned->GetViewports().FindRef(*ConfigKey);
if (Entity.IsValid())
{
return Entity->GetType();
}
}
return "Default";
}
void SLevelViewport::SetViewportTypeWithinLayout(FName InLayoutType)
{
TSharedPtr<FLevelViewportLayout> LayoutPinned = ParentLayout.Pin();
if (LayoutPinned.IsValid() && !ConfigKey.IsEmpty())
{
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2962397) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2962397 on 2016/05/02 by Dmitriy.Dyomin Fixed: Crash generating LOD for a Landscape #jira UE-30144 Change 2962367 on 2016/05/01 by Zachary.Wilson Building lighting on QA-Effects #jira UE-29618 Change 2962363 on 2016/05/01 by Zachary.Wilson Updating Reflection Capture Test Content #jira UE-29618 Change 2962362 on 2016/05/01 by Benjamin.Hyder Built Lighting in QA-PostProcessing level #jira UE-29618 Change 2962361 on 2016/05/01 by Zachary.Wilson Adding testing content for Custom Resolutions and Cubemaps for Sky Cubemaps and Reflection Probes. #jira UE-29618 Change 2962357 on 2016/05/01 by Benjamin.Hyder Built Lighting for Tm_SceneTexture #jira UE-29618 Change 2962356 on 2016/05/01 by Benjamin.Hyder Adding PlayerStart to TM-TranslucencyLghtingMode map #jira UE-29618 Change 2962351 on 2016/05/01 by Benjamin.Hyder Adding high Precision GBuffer Normal Encoding example to TM-Shadermodels #jira UE-29618 Change 2962349 on 2016/05/01 by Benjamin.Hyder Correcting Planar Reflection in TM-Shadermodels #Jira UE-29618 Change 2962348 on 2016/05/01 by Benjamin.Hyder Adding Planar Reflection Test Case content to TM-Shadermodels #jira UE-29618 Change 2962347 on 2016/05/01 by Zachary.Wilson Adding testing content for Dual Normal Clfar Coat Material Expression #jira UE-29618 Change 2962340 on 2016/05/01 by Zachary.Wilson Adding testing content for engine scalability (WIP) #jira UE-29618 Change 2962173 on 2016/04/30 by Ben.Marsh Fix typo. Change 2962172 on 2016/04/30 by Ben.Marsh Disable Vulkan in installed UE4 buids. Build machines don't have the Vulkan SDK installed so they can't generate static libraries for VulkanRHI, so if we try to link against it on user's machines they'll fail due to the missing LIB. #jira UE-30156 Change 2961782 on 2016/04/29 by Mike.Beach Guarding against an invalid (null) target for the Blueprint debugger (watch viewer) panel. #jira UE-30110 Change 2961780 on 2016/04/29 by Mike.Beach Guarding against interface arrays with null entries (null checking in property editor processing code). #jira UE-30015 Change 2961580 on 2016/04/29 by Owen.Stupka #jira UE-29796 Rollback //UE4/Release-4.12/Samples/NotForLicensees/ProtoStar/Content/Blueprints/NickD/StarCoreSliceNick.uasset to revision 2 Change 2961531 on 2016/04/29 by Ryan.Gerleve Fix for an assert that could occur in monolithic builds when seamless traveling while recording a replay. #jira UE-22047 Change 2961499 on 2016/04/29 by Marc.Audy Use accessor instead of variable directly. #jira UE-00000 Change 2961492 on 2016/04/29 by Chris.Babcock Android Vulkan dynamic loader with fallback to ES2 - works with either NDK r11c+ or VulkanSDK (does not require .so) #jira UEPLAT-1249 #jira UEMOB-103 #ue4 #android Change 2961462 on 2016/04/29 by Chris.Babcock Fix issue with stripping symbols for non-armv7 architectures #jira UE-30138 #android #ue4 Change 2961442 on 2016/04/29 by Marc.Audy Fix undo/redo of attachment between an IWCE and blueprint constructed component not working #jira UE-28948 Change 2961400 on 2016/04/29 by Samuel.Proctor Test assets for FiB test cases. #jira UE-29618 Change 2961382 on 2016/04/29 by Daniel.Lamb Fix for shadowed variables. #jira UE-29470 Change 2961319 on 2016/04/29 by mitchell.wilson #jira UE-29618 - Adding TM-LandscapeFoliage map Change 2961278 on 2016/04/29 by Chris.Babcock Fix 64-bit cast #jira UE-30132 #ue4 #android Change 2961263 on 2016/04/29 by Daniel.Lamb Fixed issue with iterative cooking missing dependent sublevels when checking for dependent timestamps. #jira UE-29470 Change 2961227 on 2016/04/29 by Taizyd.Korambayil #jira UE-30068 Resaved Some assets and Updated TexturePool in DefaultEninge.ini Change 2961208 on 2016/04/29 by Nick.Darnell UMG - Unable to reproduce the issue of the designer crashing because it popping more messages than it has, but adding a check to make sure the array isn't already empty before popping. #jira UE-29919 Change 2961190 on 2016/04/29 by Nick.Darnell UMG - Unable to reproduce the issue of the designer crashing because it popping more messages than it has, but adding a check to make sure the array isn't already empty before popping. #jira UE-29919 Change 2961161 on 2016/04/29 by Gareth.Martin Added warnings when trying to use the Landscape Visibility Tool without the landscape material having a "Landscape Visibility Mask" node. #jira UE-30032 Change 2961109 on 2016/04/29 by Keith.Judge Xbox One - Enable USE_NEW_LOCK_FREE_LISTS, and refactor code to allow VS2015 to compile it (was using a non-standard GCC/Clang behaviour). Lots of duplicated code, but there already was... #jira UEPLAT-1288 Change 2961055 on 2016/04/29 by Mike.Beach Mirroring CL 2961019: Temporarily disabling InitProperties() spawning optimization, as it was causing GC issues. #jira UE-29940 Change 2961018 on 2016/04/29 by Rolando.Caloca UE4.12 - Compile fix for shipping #jira UE-30096 Change 2960921 on 2016/04/29 by Matthew.Griffin Updated AutoSDK used by Android so that arm64 will build Change 2960920 on 2016/04/29 by Martin.Wilson Missing files from 2960847 #jira ue-25715 Change 2960906 on 2016/04/29 by Peter.Sauerbrei added more explicit message when the deployment fails due to device not on provision #jira UE-19875 Change 2960869 on 2016/04/29 by Chris.Bunner Allow custom material nodes to be used with tessellation outputs. #jira UE-29586 Change 2960847 on 2016/04/29 by Martin.Wilson Fix setting incorrect animation assets on anim player nodes. #jira ue-25715 Change 2960842 on 2016/04/29 by Keith.Judge Xbox One - Remove SetGpuMemoryPriority() call as it turns out most actual game titles are CPU bound, and this is just hurting them. #jira UEPLAT-1288 Change 2960841 on 2016/04/29 by Keith.Judge Xbox One - Make temporary buffers last for three frames. #jira UEPLAT-1288 Change 2960838 on 2016/04/29 by Keith.Judge Xbox One - Change the MemoryBarrier function to be FORCENOINLINE so that the compiler doesn't reorder writes around it. #jira UEPLAT-1288 Change 2960834 on 2016/04/29 by Keith.Judge Xbox One - Change GPUMalloc memory type to write combined, as cached non-coherent caused major UMG flickering issues, and would appear to be unsafe, according to the latest XDK docs. #jira UEPLAT-1288 Change 2960829 on 2016/04/29 by Keith.Judge Xbox One - Fix RHIUpdateTexture2D not actually updating the texture. It was silently failing because the GPU_READONLY flag was set on the memory. Grrrrrr! #jira UEPLAT-1288 Change 2960826 on 2016/04/29 by Keith.Judge Xbox One - Turn on GSupportsEfficientAsyncCompute and GSupportsParallelOcclusionQueries. Duplcated from Dev-Platform. #jira UEPLAT-1288 Change 2960820 on 2016/04/29 by Keith.Judge Xbox One - Replicate Windows critical section changes. Duplicated from Dev-Platform. #jira UEPLAT-1288 Change 2960819 on 2016/04/29 by Marc.Audy Owned components are once again referenced by their Owning actor for GC purposes #jira UE-29131 Change 2960817 on 2016/04/29 by Keith.Judge Xbox One - Further fix for flickering HUD. Also seems to fix weird bloom when Fast Semantics are enabled. Duplicated from Dev-Platform. #jira UEPLAT-1288 Change 2960814 on 2016/04/29 by Keith.Judge Xbox One - Fix crash when creating odd sized textures with initial data. Duplicated from Dev-Platform. #jira UEPLAT-1288 Change 2960805 on 2016/04/29 by Keith.Judge Fix .ini.ini filename issue (duplicated fix from Dev-Platform). #jira UES-2270 Change 2960797 on 2016/04/29 by Mason.Seay Deleting asset associated with crashing map, just to be safe (neither are needed anymore) #jira UE-25215 Change 2960793 on 2016/04/29 by Mason.Seay Deleting map that's causing a crash #jira UE-25215 Change 2960774 on 2016/04/29 by Robert.Manuszewski (temp) Fix for missing packages after cooking. #jira UE-29876 Change 2960747 on 2016/04/29 by Jurre.deBaare Mac build fixes #jira abc-123 Change 2960739 on 2016/04/29 by Benn.Gallagher Use mesh update mode to update cloth rather than whether or not it was rendered. #jira UE-25934 Change 2960707 on 2016/04/29 by Jurre.deBaare HLOD cluster dirtying from changes in static mesh component and spline mesh component, required making the HierarchicalLODUtilities Module to have an abstract interface (for dynamic loading in the Engine module) #jira UE-24378 Change 2960704 on 2016/04/29 by Matthew.Griffin Added Architectures and GPUArchitectures to UEBuildConfiguration that can be passed through on the UBT command line Changed Android Tool Chain so that it checks the command line architectures as an additional way to setup which ones to build Added option to pass architectures on command line when precompiling monolithic targets via UAT (with armv7, arm64 & es2 set for Android for now) Added code to read precompiled architectures in Rocket build and write out additional Installed Platform Info entries for each one #jira UEB-560 Change 2960694 on 2016/04/29 by Robert.Manuszewski Log free disk space when DirectoryWatcher's File Cache fails to move a file. #jira UE-24660 Change 2960687 on 2016/04/29 by Benn.Gallagher Demoted eINTERNAL_ERROR (PhysX error code) to warning as we were flagging things too zealously (degenerate poly failing a cook) #jira UE-30053 Change 2960381 on 2016/04/28 by Chris.Babcock Handle movie playback not covering full surface #jira UE-28705 #ue4 #android Change 2960162 on 2016/04/28 by Ryan.Vance #jira UE-30099 Re-enabling the occlusion area mask for the Rift. Any Rift HMD's newer than the CB prototype will use the CV1 masks. We'll need to revist this in the future. We need to ensure we always set the InstancedEyeIndex uniform if it's bound. Otherwise passes that aren't using instanced stereo will resolve their views using an uninitialized variable (translucency). Change 2960100 on 2016/04/28 by Andrew.Porter Removing old sub sequences. #jira UE-29618 Change 2959962 on 2016/04/28 by Peter.Sauerbrei fix for enabling InApp purchasing not enabling Online Subsystem IOS #jira UE-25512 Change 2959937 on 2016/04/28 by Patrick.Donovan Screen aligned UVs test material for QAGame for testing if they work in VR. #jira UE-29618 Change 2959914 on 2016/04/28 by Dan.Oconnor Fix for copy paste error, likely of no consequence because nothing calls IsExporting(), found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959859 on 2016/04/28 by Ryan.Gerleve Fix for fatal error crash when loading the default map fails. Now we load a dummy world and request graceful exit in standalone, or shutdown the current play session in PIE. #jira UE-26634 Change 2959856 on 2016/04/28 by Chris.Babcock Fix scaling on low-resolution devices in Match3 #jira UE-28706 #ue4 #match3 Change 2959839 on 2016/04/28 by Dan.Oconnor Fix IsControlCharacter result for 'pop directional isolate' character (u2069), found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959836 on 2016/04/28 by Dan.Oconnor Remove unused local variable, found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959829 on 2016/04/28 by Dan.Oconnor Using OverridePredrawBatchTime and OverridePredrawBatchTime correctly, found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959817 on 2016/04/28 by Peter.Sauerbrei fix for parsing the IOS Device ID addition of iPhone SE (courtesy davidrpozesky, PR2307) addition of iPadPro 9.7 #jira UE-21921 Change 2959808 on 2016/04/28 by Nick.Darnell UBT - Restoring GetModuleFilename to the RulesCompiler but only to deprecate it, and point users at the method they should now be using. #jira ue-none Change 2959805 on 2016/04/28 by Chad.Taylor Merging //UE4/Dev-VR/Engine/... to //UE4/Release-4.12/Engine/... #jira UEBP-188 Change 2959798 on 2016/04/28 by Dan.Oconnor Manually integrate 2947850, also found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959796 on 2016/04/28 by Aaron.McLeran Duplicating CL 2959785 from //UE4/Dev-Framework #jira UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances #tests created new sound cue with concat node with child nodes that don't play sound-instances, concat node continues playing Change 2959793 on 2016/04/28 by Dan.Oconnor Fixed setter that did nothing, found with PVS-Studio by Robert Troughton. This code will be removed soon. #jira UE-30058 Change 2959739 on 2016/04/28 by Ori.Cohen Remove box2d ensure as it's confusing for legit crashes since it shows up in the end of the log. #JIRA UE-29932 Change 2959709 on 2016/04/28 by Nick.Darnell Slate - Menu Stack no longer crashes when forcefully dismissing multiple menus in the stack at once. #jira UE-30087 Change 2959701 on 2016/04/28 by Nick.Darnell Slate - The MoviePlayer now has an OnPrepareLoadingScreen callback that modules can hook instead of relying on the PreLoadMap, which depending on when you hook it, you may be before or after the movie player. Therefore to aleviate that ordering problem - if the movie player goes to play a loading screen and one has not yet been configured this callback will be triggered so that hopefully one is supplied. #jira UE-30085 Change 2959691 on 2016/04/28 by Nick.Darnell UMG - Fixed Aspect ratios now correctly size the right side of the screen, allowing right anchored content to be fit properly inside the black frame borders. #jira UE-30084 Change 2959678 on 2016/04/28 by mason.seay Updated test sound cue asset, as it appeared to be partially filled out. Moved it out of developer folder. Also rebuilt lighting on associated test map. #jira UE-29618 Change 2959514 on 2016/04/28 by Aaron.McLeran Duplicating CL 2959506 from //UE4/Dev-Framework #jira UE-30000 PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel) #tests Playing another looping sound on an audio component will stop the previous looping sound. Change 2959486 on 2016/04/28 by Bob.Tellez Duplicating CL#2948431 from //Orion/Dev-General CL#s 2919775 and 2942793 integrated to prevent annotation map performance problems on shutdown and asserts in PIE. #JIRA UE-29625 #tests Ran editor Change 2959414 on 2016/04/28 by Chad.Taylor IStereoLayers API and Oculus Rift implementation #jira UEBP-185 Change 2959395 on 2016/04/28 by Taizyd.Korambayil #jira UE-29710 Resaved Kite Demo Maps and Audio files to Fix Build Warnings Change 2959386 on 2016/04/28 by Richard.TalbotWatkin Replicated from CL 2959360 in //UE4/Dev-Editor/ Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered. #jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127] Change 2959377 on 2016/04/28 by Matthew.Griffin Added 2015 versions of OpenSSL dlls to list of RuntimeDependencies, so that they will be included in the binary build #jira UE-30024 Change 2959367 on 2016/04/28 by Alexis.Matte #jira OR-20622 make sure LOD import Materials get map with LOD 0 material index Change 2959302 on 2016/04/28 by Jamie.Dale Removed invalid assert #jira UE-30042 Change 2959263 on 2016/04/28 by Peter.Sauerbrei fix for virtual joysticks showing up on tvOS removed usage of ES2 define for tvOS #jira UE-26122 Change 2959235 on 2016/04/28 by Taizyd.Korambayil #jira UE-29744 Resaved Vehicle Game maps to Fix Build Warnings Change 2959177 on 2016/04/28 by Thomas.Sarkanen Fixed curve names getting incorrectly duplicated when DuplicateObject was called Fixes crash when trying to convert curves to metadata after newly importing a sequence. #jira UE-29988 - Crash when converting custom curve to metadata in persona Change 2959170 on 2016/04/28 by Taizyd.Korambayil #jira UE-29683 Resaved Maps to Fix Build Warnings #jira UE-29685 #jira UE-29679 #jira UE-29684 Change 2959154 on 2016/04/28 by Dan.Bullard Added Media Player assets and added example to TM-ShaderModels. #jira UE-29618 Change 2959112 on 2016/04/28 by Jamie.Dale Fixed a long time IME crash that could happen under certain circumtances #jira OPP-5607 Change 2959086 on 2016/04/28 by Jamie.Dale Refreshing the editable text layout now makes sure the layout is up-to-date This addresses some update issues when the widget is being ticked, but not running a layout pass. #jira UE-30054 Change 2958927 on 2016/04/28 by Phillip.Kavan [UE-30040] Fix broken editor UI display of values for int32 properties tagged as bitmask fields when the high bit is set. #jira UE-30040 Change 2958730 on 2016/04/28 by Phillip.Kavan [UE-23087] Don't apply near-zero delta values while drag-scaling inside the Blueprint editor's preview viewport. #jira UE-23087 Change 2958566 on 2016/04/27 by Marcus.Wassmer Fix material preview and PostProcessAmbient #jira UE-29994 Change 2958459 on 2016/04/27 by mason.seay Test assets for Sound Class Override #jira UE-29618 Change 2958399 on 2016/04/27 by Owen.Stupka #jira UE-29924 Back out CL 2958355, change was in wrong position. Change 2958395 on 2016/04/27 by Aaron.McLeran Duplicating CL#2950482 from //UE4/Dev-Framework #jira FORT-22973 SoundMix Fade Time not fading audio properly - Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes. #tests Apply a sound mix using a child sound class with apply-to-children enabled. Sound mix properly interpolates. Change 2958387 on 2016/04/27 by Aaron.McLeran Duplicating CL#2954865 from //UE4/Dev-Framework #jira UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types. #tests run editor in PIE with HMD connected, audio only plays on PC, then run in VR-Preview with HMD connected, audio plays on HMD audio device Change 2958381 on 2016/04/27 by Josh.Adams - Fixed compile error in IOSDeviceHelperMac.cpp #lockdown nick.penwarden #jira UE-30037 Change 2958355 on 2016/04/27 by Owen.Stupka #jira UE-29924 Fix for UAT issues on Mac. Change 2958351 on 2016/04/27 by Aaron.McLeran Duplicating CL#2957953 from //UE4/Dev-Framework #jira UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing. #tests run audio component with auto-activate, call play, setup notification callback in BP, note that only triggered once Change 2958344 on 2016/04/27 by Taizyd.Korambayil #jira UE-29720 Resaved Audio Files to fix NodeGUID Warnings Change 2958342 on 2016/04/27 by mitchell.wilson #jira UE-29618 updating shot_002 to fix an issue with snapping. Change 2958315 on 2016/04/27 by Marc.Audy No longer use component pooling, but instead spawn Actors for thumbnail display #jira UE-17453 Change 2958289 on 2016/04/27 by Marc.Audy Don't crash rerunning construction script on a child actor that belongs to a ownerless child actor component #jira UE-30033 Change 2958280 on 2016/04/27 by Taizyd.Korambayil #jira UE-29723 Resaved Maps and Audio Files Change 2958237 on 2016/04/27 by Taizyd.Korambayil #jira UE-29687 Resaved Some Assets to Fix Build Warnings Change 2958176 on 2016/04/27 by Taizyd.Korambayil #jira UE-29701 Resaved Some Assets to Fix Build Warnings Change 2958172 on 2016/04/27 by Ori.Cohen Back out changelist 2955134 #JIRA UE-30030 Change 2958121 on 2016/04/27 by Taizyd.Korambayil #jira UE-29706 Resaved Some Assets to Fix Build Warnings Change 2958070 on 2016/04/27 by Peter.Sauerbrei fix for launch on to tvOS from PC properly filter out tvOS devices when launching to IOS and vice versa #jira UE-29928 Change 2958029 on 2016/04/27 by Andrew.Rodham Fixed SMenuAnchor::bIsCollapsedByParent not being respected #jira UE-30016 Change 2957962 on 2016/04/27 by Alexis.Matte #jira UE-29984 Pixel inspector crash Fix the viewport id Change 2957908 on 2016/04/27 by Andrew.Rodham Sequencer: Fixed being unable to render out 4K image sequences using matinee or sequencer #jira UE-29171 Change 2957880 on 2016/04/27 by Peter.Sauerbrei fix for metal not being enabled in iOS 8 added some checks for bSupportsResourceOptions in Lock/Unlock #jira UE-29268 Change 2957860 on 2016/04/27 by Gareth.Martin Fixed landscape grass not updating when using a material instance as the landscape material and changing parameters #jira UE-29471 Change 2957833 on 2016/04/27 by Taizyd.Korambayil #jira UE-29707 Replaced Deprecated Nodes and Resaved Audio Files to Fix Build Warnings Change 2957805 on 2016/04/27 by Max.Chen Sequencer: Fix crash in UMG when a property changes and there's no movie scene. #jira UE-30008 Change 2957803 on 2016/04/27 by Taizyd.Korambayil #jira UE-29718 Resaved Audio Files and Maps to Fix NodeGuid Warnings Change 2957799 on 2016/04/27 by Max.Chen Sequencer: Fix visibility track name so that it says "Visibility" #jira UE-29996 Change 2957777 on 2016/04/27 by Allan.Bentham Workaround ES31 HQ DoF producing no effect with vulkan rhi. #jira UE-30006 Change 2957763 on 2016/04/27 by Taizyd.Korambayil #jira UE-29678 Resaved Maps to Fix Build Errors Change 2957740 on 2016/04/27 by Taizyd.Korambayil #jira UE-29628 Resaved Maps to fix Build Warnings Change 2957713 on 2016/04/27 by Taizyd.Korambayil #jira UE-29715 Resaved Maps to Fix Build Warnings Change 2957678 on 2016/04/27 by Taizyd.Korambayil #jira UE-29677 Fixed up AnimBP and resaved some assets to fix Build Warnings Change 2957627 on 2016/04/27 by Frank.Fella UMG - Sequencer - Fix material animation for materials on struct properties e.g. style materials, and fix the naming so that it's [Original Name]_Animated #Jira UE-29319 #Jira UE-29321 Change 2957625 on 2016/04/27 by Taizyd.Korambayil #jira UE-29689 Replaced deprecated Nodes and Resaved some assets to Fix Warnings Change 2957603 on 2016/04/27 by mitchell.wilson #jira UE-29618 updating Test-Animation for UMG test. Adding M_SequenceUMG material for UMG testing Change 2957577 on 2016/04/27 by Ben.Marsh EC: Increase the number of changes queried to display the EC dashboard. Some changes are getting filtered out. Change 2957569 on 2016/04/27 by Maciej.Mroz #jira UE-27735 Enumerators are not set correctly in packaged games if Nativize Blueprint Assets is set to true merged from Dev-Blueprints 2957564 Change 2957565 on 2016/04/27 by Taizyd.Korambayil #jira UE-29721 Resaved Some Content to Fix Empty Engine Version Error Change 2957558 on 2016/04/27 by Matthew.Griffin Updated Installed Engine Filters now that Linux has dropped the architecture from its .target files #jira UE-29899 Change 2957504 on 2016/04/27 by Marc.Audy Persist component instance data cache through blueprint construction that results in "disaster recovery mode" #jira UE-20385 Change 2957162 on 2016/04/26 by Dmitriy.Dyomin Fixed: Some Unicode letters are not properly displayed with FCanvasTextItem in Android device #jira UE-25861 Change 2957117 on 2016/04/26 by Dan.Oconnor PR #2289: Exposing "IsValidIndex" Array function to Blueprints (Contributed by eXifreXi) Modifications: typo fix in Array.h, made blueprint description consistent with native function, removed redundant nullptr check, added P_NATIVE timer macros, added custom thunk implementation for cpp backend #jira UE-29563 Change 2957057 on 2016/04/26 by Dan.Oconnor Tweak logic used to make variable nodes more accessible Motivation was PR#2202 by Lucyberad #jira UE-28802 Change 2956884 on 2016/04/26 by Jamie.Dale Removed an assert that can be triggered by certain IMEs #jira UE-19744 Change 2956876 on 2016/04/26 by Dan.Oconnor PR #2288: Adjustment of RInterpTo and RInterpTo_Constant descriptions to match function. (Contributed by CelPlays) #jira UE-29495 Change 2956860 on 2016/04/26 by Max.Preussner Sockets: Fixed incorrect socket timeout when value < 1 ms (UE-29973) #jira: UE-29973 Change 2956801 on 2016/04/26 by Rolando.Caloca UE4.12 - vk - Added r.Vulkan.SubmitOnCopyToResolve to help track down submit issues #jira UE-28140 Change 2956679 on 2016/04/26 by Andrew.Rodham Editor: Fixed not being able to switch between cinematic/default viewport types #jira UE-29942 Change 2956674 on 2016/04/26 by James.Fox Updated Blueprint Bitmask test asset to include Bitwise OR. #jira UE-29618 Change 2956573 on 2016/04/26 by Rolando.Caloca UE4.12 - vk - Added TRANSFER_BIT to swapchain images since it's required for clearing #jira UE-28140 Change 2956572 on 2016/04/26 by Rolando.Caloca UE4.12 - vk - Added alignment to buffer offsets depending on usage #jira UE-28140 Change 2956502 on 2016/04/26 by Peter.Sauerbrei fix for missing particles on iPhone 5 when compiling for size re-enable compile for size for Match 3 #jira UE-28721 Change 2956445 on 2016/04/26 by Taizyd.Korambayil #jira UE-29691 Resaved some Animation Assets to Fix Build Warnings Change 2956382 on 2016/04/26 by Taizyd.Korambayil #jira UE-29688 Resaved Maps in Infiltrator Demo t oFix Some Build Warnings Change 2956332 on 2016/04/26 by Patrick.Donovan Adding physics asset set up for Capsule shadows for easy testing of capsule shadows in VR and with instanced stereo enabled. #jira UE-29618 Change 2956301 on 2016/04/26 by Ben.Marsh Disable notification emails for warnings in Rocket sample builds. Change 2956264 on 2016/04/26 by Peter.Sauerbrei fix for binary release generation of bp-only project files for IOS on Mac #jira UE-29934 Change 2956247 on 2016/04/26 by Jurre.deBaare Fix for Mac compile #jira UE-123ABC Change 2956192 on 2016/04/26 by Jurre.deBaare - Changed signatures for merging static mesh (LOD index now incorporated in merge data structure) - Proxy mesh and Mesh merging now just merges one specific LOD index per input mesh (instead of looping over all LOD levels) - Moved SourceStaticMesh and addex ExportLODIndex to FMeshMergeData structure - LightMap Index for merged static meshes is now set correctly - Added enum to MaterialProxySettings for distinction between (non-)Simplygon uses of the struct - Move MergeActor tab spawner out of experimental (removed option from config) and moved into Developer Tools/Misc #jira UE-28319 Change 2956183 on 2016/04/26 by mitchell.wilson #jira UE-29618 Adding new sequence for assign actor testing. Updating sequencer levels for assign actor testing Change 2956152 on 2016/04/26 by Lina.Halper - removed invalid ensure because it doesn't check recursive, it does have different value with validation #jira : UE-29945 Change 2956034 on 2016/04/26 by Andrew.Rodham Sequencer: Skeletal animation tracks now evaluate the nearest section where no animation section is present - This is more consistent with how other tracks evaluate, and guarantees a deterministic animated state #jira UE-28073 Change 2956002 on 2016/04/26 by Taizyd.Korambayil #jira UE-29729 Resaved Blueprints to Fix Build Warnings Change 2955999 on 2016/04/26 by Max.Chen Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording. #jira UE-29841 Change 2955983 on 2016/04/26 by Andrew.Rodham Removing Saved, Intermediate, and DerivedDataCache folders from SubwaySequencer sample project. #jira UE-29938 Change 2955979 on 2016/04/26 by Taizyd.Korambayil #jira UE-29728 Resaved Some assets to Fix Build Warnings Change 2955941 on 2016/04/26 by Taizyd.Korambayil #jira UE-29730 Resaved Maps to Fix Build Warnings Change 2955937 on 2016/04/26 by Andrew.Rodham Sequencer: When recording actors as spawnables, we no longer duplicate the object, rather create a new instance of the same class - This fixes issues caused by undersiable state being saved into the spawnable defaults Merged from //UE4/Dev-Sequencer/...@2952610 #jira UE-29774 Change 2955888 on 2016/04/26 by mitchell.wilson #jira UE-29618 Updating shots for sequencer testing Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 [CL 2969385 by Matthew Griffin in Main branch]
2016-05-06 15:20:28 -04:00
// Important - RefreshViewportConfiguration does not save config values. We save its state first, to ensure that .TypeWithinLayout (below) doesn't get overwritten
TSharedPtr<FLevelViewportTabContent> ViewportTabPinned = LayoutPinned->GetParentTabContent().Pin();
if (ViewportTabPinned.IsValid())
{
ViewportTabPinned->SaveConfig();
}
const FString& IniSection = FLayoutSaveRestore::GetAdditionalLayoutConfigIni();
GConfig->SetString( *IniSection, *( ConfigKey + TEXT(".TypeWithinLayout") ), *InLayoutType.ToString(), GEditorPerProjectIni );
// Force a refresh of the tab content
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2962397) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2962397 on 2016/05/02 by Dmitriy.Dyomin Fixed: Crash generating LOD for a Landscape #jira UE-30144 Change 2962367 on 2016/05/01 by Zachary.Wilson Building lighting on QA-Effects #jira UE-29618 Change 2962363 on 2016/05/01 by Zachary.Wilson Updating Reflection Capture Test Content #jira UE-29618 Change 2962362 on 2016/05/01 by Benjamin.Hyder Built Lighting in QA-PostProcessing level #jira UE-29618 Change 2962361 on 2016/05/01 by Zachary.Wilson Adding testing content for Custom Resolutions and Cubemaps for Sky Cubemaps and Reflection Probes. #jira UE-29618 Change 2962357 on 2016/05/01 by Benjamin.Hyder Built Lighting for Tm_SceneTexture #jira UE-29618 Change 2962356 on 2016/05/01 by Benjamin.Hyder Adding PlayerStart to TM-TranslucencyLghtingMode map #jira UE-29618 Change 2962351 on 2016/05/01 by Benjamin.Hyder Adding high Precision GBuffer Normal Encoding example to TM-Shadermodels #jira UE-29618 Change 2962349 on 2016/05/01 by Benjamin.Hyder Correcting Planar Reflection in TM-Shadermodels #Jira UE-29618 Change 2962348 on 2016/05/01 by Benjamin.Hyder Adding Planar Reflection Test Case content to TM-Shadermodels #jira UE-29618 Change 2962347 on 2016/05/01 by Zachary.Wilson Adding testing content for Dual Normal Clfar Coat Material Expression #jira UE-29618 Change 2962340 on 2016/05/01 by Zachary.Wilson Adding testing content for engine scalability (WIP) #jira UE-29618 Change 2962173 on 2016/04/30 by Ben.Marsh Fix typo. Change 2962172 on 2016/04/30 by Ben.Marsh Disable Vulkan in installed UE4 buids. Build machines don't have the Vulkan SDK installed so they can't generate static libraries for VulkanRHI, so if we try to link against it on user's machines they'll fail due to the missing LIB. #jira UE-30156 Change 2961782 on 2016/04/29 by Mike.Beach Guarding against an invalid (null) target for the Blueprint debugger (watch viewer) panel. #jira UE-30110 Change 2961780 on 2016/04/29 by Mike.Beach Guarding against interface arrays with null entries (null checking in property editor processing code). #jira UE-30015 Change 2961580 on 2016/04/29 by Owen.Stupka #jira UE-29796 Rollback //UE4/Release-4.12/Samples/NotForLicensees/ProtoStar/Content/Blueprints/NickD/StarCoreSliceNick.uasset to revision 2 Change 2961531 on 2016/04/29 by Ryan.Gerleve Fix for an assert that could occur in monolithic builds when seamless traveling while recording a replay. #jira UE-22047 Change 2961499 on 2016/04/29 by Marc.Audy Use accessor instead of variable directly. #jira UE-00000 Change 2961492 on 2016/04/29 by Chris.Babcock Android Vulkan dynamic loader with fallback to ES2 - works with either NDK r11c+ or VulkanSDK (does not require .so) #jira UEPLAT-1249 #jira UEMOB-103 #ue4 #android Change 2961462 on 2016/04/29 by Chris.Babcock Fix issue with stripping symbols for non-armv7 architectures #jira UE-30138 #android #ue4 Change 2961442 on 2016/04/29 by Marc.Audy Fix undo/redo of attachment between an IWCE and blueprint constructed component not working #jira UE-28948 Change 2961400 on 2016/04/29 by Samuel.Proctor Test assets for FiB test cases. #jira UE-29618 Change 2961382 on 2016/04/29 by Daniel.Lamb Fix for shadowed variables. #jira UE-29470 Change 2961319 on 2016/04/29 by mitchell.wilson #jira UE-29618 - Adding TM-LandscapeFoliage map Change 2961278 on 2016/04/29 by Chris.Babcock Fix 64-bit cast #jira UE-30132 #ue4 #android Change 2961263 on 2016/04/29 by Daniel.Lamb Fixed issue with iterative cooking missing dependent sublevels when checking for dependent timestamps. #jira UE-29470 Change 2961227 on 2016/04/29 by Taizyd.Korambayil #jira UE-30068 Resaved Some assets and Updated TexturePool in DefaultEninge.ini Change 2961208 on 2016/04/29 by Nick.Darnell UMG - Unable to reproduce the issue of the designer crashing because it popping more messages than it has, but adding a check to make sure the array isn't already empty before popping. #jira UE-29919 Change 2961190 on 2016/04/29 by Nick.Darnell UMG - Unable to reproduce the issue of the designer crashing because it popping more messages than it has, but adding a check to make sure the array isn't already empty before popping. #jira UE-29919 Change 2961161 on 2016/04/29 by Gareth.Martin Added warnings when trying to use the Landscape Visibility Tool without the landscape material having a "Landscape Visibility Mask" node. #jira UE-30032 Change 2961109 on 2016/04/29 by Keith.Judge Xbox One - Enable USE_NEW_LOCK_FREE_LISTS, and refactor code to allow VS2015 to compile it (was using a non-standard GCC/Clang behaviour). Lots of duplicated code, but there already was... #jira UEPLAT-1288 Change 2961055 on 2016/04/29 by Mike.Beach Mirroring CL 2961019: Temporarily disabling InitProperties() spawning optimization, as it was causing GC issues. #jira UE-29940 Change 2961018 on 2016/04/29 by Rolando.Caloca UE4.12 - Compile fix for shipping #jira UE-30096 Change 2960921 on 2016/04/29 by Matthew.Griffin Updated AutoSDK used by Android so that arm64 will build Change 2960920 on 2016/04/29 by Martin.Wilson Missing files from 2960847 #jira ue-25715 Change 2960906 on 2016/04/29 by Peter.Sauerbrei added more explicit message when the deployment fails due to device not on provision #jira UE-19875 Change 2960869 on 2016/04/29 by Chris.Bunner Allow custom material nodes to be used with tessellation outputs. #jira UE-29586 Change 2960847 on 2016/04/29 by Martin.Wilson Fix setting incorrect animation assets on anim player nodes. #jira ue-25715 Change 2960842 on 2016/04/29 by Keith.Judge Xbox One - Remove SetGpuMemoryPriority() call as it turns out most actual game titles are CPU bound, and this is just hurting them. #jira UEPLAT-1288 Change 2960841 on 2016/04/29 by Keith.Judge Xbox One - Make temporary buffers last for three frames. #jira UEPLAT-1288 Change 2960838 on 2016/04/29 by Keith.Judge Xbox One - Change the MemoryBarrier function to be FORCENOINLINE so that the compiler doesn't reorder writes around it. #jira UEPLAT-1288 Change 2960834 on 2016/04/29 by Keith.Judge Xbox One - Change GPUMalloc memory type to write combined, as cached non-coherent caused major UMG flickering issues, and would appear to be unsafe, according to the latest XDK docs. #jira UEPLAT-1288 Change 2960829 on 2016/04/29 by Keith.Judge Xbox One - Fix RHIUpdateTexture2D not actually updating the texture. It was silently failing because the GPU_READONLY flag was set on the memory. Grrrrrr! #jira UEPLAT-1288 Change 2960826 on 2016/04/29 by Keith.Judge Xbox One - Turn on GSupportsEfficientAsyncCompute and GSupportsParallelOcclusionQueries. Duplcated from Dev-Platform. #jira UEPLAT-1288 Change 2960820 on 2016/04/29 by Keith.Judge Xbox One - Replicate Windows critical section changes. Duplicated from Dev-Platform. #jira UEPLAT-1288 Change 2960819 on 2016/04/29 by Marc.Audy Owned components are once again referenced by their Owning actor for GC purposes #jira UE-29131 Change 2960817 on 2016/04/29 by Keith.Judge Xbox One - Further fix for flickering HUD. Also seems to fix weird bloom when Fast Semantics are enabled. Duplicated from Dev-Platform. #jira UEPLAT-1288 Change 2960814 on 2016/04/29 by Keith.Judge Xbox One - Fix crash when creating odd sized textures with initial data. Duplicated from Dev-Platform. #jira UEPLAT-1288 Change 2960805 on 2016/04/29 by Keith.Judge Fix .ini.ini filename issue (duplicated fix from Dev-Platform). #jira UES-2270 Change 2960797 on 2016/04/29 by Mason.Seay Deleting asset associated with crashing map, just to be safe (neither are needed anymore) #jira UE-25215 Change 2960793 on 2016/04/29 by Mason.Seay Deleting map that's causing a crash #jira UE-25215 Change 2960774 on 2016/04/29 by Robert.Manuszewski (temp) Fix for missing packages after cooking. #jira UE-29876 Change 2960747 on 2016/04/29 by Jurre.deBaare Mac build fixes #jira abc-123 Change 2960739 on 2016/04/29 by Benn.Gallagher Use mesh update mode to update cloth rather than whether or not it was rendered. #jira UE-25934 Change 2960707 on 2016/04/29 by Jurre.deBaare HLOD cluster dirtying from changes in static mesh component and spline mesh component, required making the HierarchicalLODUtilities Module to have an abstract interface (for dynamic loading in the Engine module) #jira UE-24378 Change 2960704 on 2016/04/29 by Matthew.Griffin Added Architectures and GPUArchitectures to UEBuildConfiguration that can be passed through on the UBT command line Changed Android Tool Chain so that it checks the command line architectures as an additional way to setup which ones to build Added option to pass architectures on command line when precompiling monolithic targets via UAT (with armv7, arm64 & es2 set for Android for now) Added code to read precompiled architectures in Rocket build and write out additional Installed Platform Info entries for each one #jira UEB-560 Change 2960694 on 2016/04/29 by Robert.Manuszewski Log free disk space when DirectoryWatcher's File Cache fails to move a file. #jira UE-24660 Change 2960687 on 2016/04/29 by Benn.Gallagher Demoted eINTERNAL_ERROR (PhysX error code) to warning as we were flagging things too zealously (degenerate poly failing a cook) #jira UE-30053 Change 2960381 on 2016/04/28 by Chris.Babcock Handle movie playback not covering full surface #jira UE-28705 #ue4 #android Change 2960162 on 2016/04/28 by Ryan.Vance #jira UE-30099 Re-enabling the occlusion area mask for the Rift. Any Rift HMD's newer than the CB prototype will use the CV1 masks. We'll need to revist this in the future. We need to ensure we always set the InstancedEyeIndex uniform if it's bound. Otherwise passes that aren't using instanced stereo will resolve their views using an uninitialized variable (translucency). Change 2960100 on 2016/04/28 by Andrew.Porter Removing old sub sequences. #jira UE-29618 Change 2959962 on 2016/04/28 by Peter.Sauerbrei fix for enabling InApp purchasing not enabling Online Subsystem IOS #jira UE-25512 Change 2959937 on 2016/04/28 by Patrick.Donovan Screen aligned UVs test material for QAGame for testing if they work in VR. #jira UE-29618 Change 2959914 on 2016/04/28 by Dan.Oconnor Fix for copy paste error, likely of no consequence because nothing calls IsExporting(), found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959859 on 2016/04/28 by Ryan.Gerleve Fix for fatal error crash when loading the default map fails. Now we load a dummy world and request graceful exit in standalone, or shutdown the current play session in PIE. #jira UE-26634 Change 2959856 on 2016/04/28 by Chris.Babcock Fix scaling on low-resolution devices in Match3 #jira UE-28706 #ue4 #match3 Change 2959839 on 2016/04/28 by Dan.Oconnor Fix IsControlCharacter result for 'pop directional isolate' character (u2069), found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959836 on 2016/04/28 by Dan.Oconnor Remove unused local variable, found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959829 on 2016/04/28 by Dan.Oconnor Using OverridePredrawBatchTime and OverridePredrawBatchTime correctly, found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959817 on 2016/04/28 by Peter.Sauerbrei fix for parsing the IOS Device ID addition of iPhone SE (courtesy davidrpozesky, PR2307) addition of iPadPro 9.7 #jira UE-21921 Change 2959808 on 2016/04/28 by Nick.Darnell UBT - Restoring GetModuleFilename to the RulesCompiler but only to deprecate it, and point users at the method they should now be using. #jira ue-none Change 2959805 on 2016/04/28 by Chad.Taylor Merging //UE4/Dev-VR/Engine/... to //UE4/Release-4.12/Engine/... #jira UEBP-188 Change 2959798 on 2016/04/28 by Dan.Oconnor Manually integrate 2947850, also found with PVS-Studio by Robert Troughton #jira UE-30058 Change 2959796 on 2016/04/28 by Aaron.McLeran Duplicating CL 2959785 from //UE4/Dev-Framework #jira UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances #tests created new sound cue with concat node with child nodes that don't play sound-instances, concat node continues playing Change 2959793 on 2016/04/28 by Dan.Oconnor Fixed setter that did nothing, found with PVS-Studio by Robert Troughton. This code will be removed soon. #jira UE-30058 Change 2959739 on 2016/04/28 by Ori.Cohen Remove box2d ensure as it's confusing for legit crashes since it shows up in the end of the log. #JIRA UE-29932 Change 2959709 on 2016/04/28 by Nick.Darnell Slate - Menu Stack no longer crashes when forcefully dismissing multiple menus in the stack at once. #jira UE-30087 Change 2959701 on 2016/04/28 by Nick.Darnell Slate - The MoviePlayer now has an OnPrepareLoadingScreen callback that modules can hook instead of relying on the PreLoadMap, which depending on when you hook it, you may be before or after the movie player. Therefore to aleviate that ordering problem - if the movie player goes to play a loading screen and one has not yet been configured this callback will be triggered so that hopefully one is supplied. #jira UE-30085 Change 2959691 on 2016/04/28 by Nick.Darnell UMG - Fixed Aspect ratios now correctly size the right side of the screen, allowing right anchored content to be fit properly inside the black frame borders. #jira UE-30084 Change 2959678 on 2016/04/28 by mason.seay Updated test sound cue asset, as it appeared to be partially filled out. Moved it out of developer folder. Also rebuilt lighting on associated test map. #jira UE-29618 Change 2959514 on 2016/04/28 by Aaron.McLeran Duplicating CL 2959506 from //UE4/Dev-Framework #jira UE-30000 PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel) #tests Playing another looping sound on an audio component will stop the previous looping sound. Change 2959486 on 2016/04/28 by Bob.Tellez Duplicating CL#2948431 from //Orion/Dev-General CL#s 2919775 and 2942793 integrated to prevent annotation map performance problems on shutdown and asserts in PIE. #JIRA UE-29625 #tests Ran editor Change 2959414 on 2016/04/28 by Chad.Taylor IStereoLayers API and Oculus Rift implementation #jira UEBP-185 Change 2959395 on 2016/04/28 by Taizyd.Korambayil #jira UE-29710 Resaved Kite Demo Maps and Audio files to Fix Build Warnings Change 2959386 on 2016/04/28 by Richard.TalbotWatkin Replicated from CL 2959360 in //UE4/Dev-Editor/ Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered. #jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127] Change 2959377 on 2016/04/28 by Matthew.Griffin Added 2015 versions of OpenSSL dlls to list of RuntimeDependencies, so that they will be included in the binary build #jira UE-30024 Change 2959367 on 2016/04/28 by Alexis.Matte #jira OR-20622 make sure LOD import Materials get map with LOD 0 material index Change 2959302 on 2016/04/28 by Jamie.Dale Removed invalid assert #jira UE-30042 Change 2959263 on 2016/04/28 by Peter.Sauerbrei fix for virtual joysticks showing up on tvOS removed usage of ES2 define for tvOS #jira UE-26122 Change 2959235 on 2016/04/28 by Taizyd.Korambayil #jira UE-29744 Resaved Vehicle Game maps to Fix Build Warnings Change 2959177 on 2016/04/28 by Thomas.Sarkanen Fixed curve names getting incorrectly duplicated when DuplicateObject was called Fixes crash when trying to convert curves to metadata after newly importing a sequence. #jira UE-29988 - Crash when converting custom curve to metadata in persona Change 2959170 on 2016/04/28 by Taizyd.Korambayil #jira UE-29683 Resaved Maps to Fix Build Warnings #jira UE-29685 #jira UE-29679 #jira UE-29684 Change 2959154 on 2016/04/28 by Dan.Bullard Added Media Player assets and added example to TM-ShaderModels. #jira UE-29618 Change 2959112 on 2016/04/28 by Jamie.Dale Fixed a long time IME crash that could happen under certain circumtances #jira OPP-5607 Change 2959086 on 2016/04/28 by Jamie.Dale Refreshing the editable text layout now makes sure the layout is up-to-date This addresses some update issues when the widget is being ticked, but not running a layout pass. #jira UE-30054 Change 2958927 on 2016/04/28 by Phillip.Kavan [UE-30040] Fix broken editor UI display of values for int32 properties tagged as bitmask fields when the high bit is set. #jira UE-30040 Change 2958730 on 2016/04/28 by Phillip.Kavan [UE-23087] Don't apply near-zero delta values while drag-scaling inside the Blueprint editor's preview viewport. #jira UE-23087 Change 2958566 on 2016/04/27 by Marcus.Wassmer Fix material preview and PostProcessAmbient #jira UE-29994 Change 2958459 on 2016/04/27 by mason.seay Test assets for Sound Class Override #jira UE-29618 Change 2958399 on 2016/04/27 by Owen.Stupka #jira UE-29924 Back out CL 2958355, change was in wrong position. Change 2958395 on 2016/04/27 by Aaron.McLeran Duplicating CL#2950482 from //UE4/Dev-Framework #jira FORT-22973 SoundMix Fade Time not fading audio properly - Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes. #tests Apply a sound mix using a child sound class with apply-to-children enabled. Sound mix properly interpolates. Change 2958387 on 2016/04/27 by Aaron.McLeran Duplicating CL#2954865 from //UE4/Dev-Framework #jira UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types. #tests run editor in PIE with HMD connected, audio only plays on PC, then run in VR-Preview with HMD connected, audio plays on HMD audio device Change 2958381 on 2016/04/27 by Josh.Adams - Fixed compile error in IOSDeviceHelperMac.cpp #lockdown nick.penwarden #jira UE-30037 Change 2958355 on 2016/04/27 by Owen.Stupka #jira UE-29924 Fix for UAT issues on Mac. Change 2958351 on 2016/04/27 by Aaron.McLeran Duplicating CL#2957953 from //UE4/Dev-Framework #jira UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing. #tests run audio component with auto-activate, call play, setup notification callback in BP, note that only triggered once Change 2958344 on 2016/04/27 by Taizyd.Korambayil #jira UE-29720 Resaved Audio Files to fix NodeGUID Warnings Change 2958342 on 2016/04/27 by mitchell.wilson #jira UE-29618 updating shot_002 to fix an issue with snapping. Change 2958315 on 2016/04/27 by Marc.Audy No longer use component pooling, but instead spawn Actors for thumbnail display #jira UE-17453 Change 2958289 on 2016/04/27 by Marc.Audy Don't crash rerunning construction script on a child actor that belongs to a ownerless child actor component #jira UE-30033 Change 2958280 on 2016/04/27 by Taizyd.Korambayil #jira UE-29723 Resaved Maps and Audio Files Change 2958237 on 2016/04/27 by Taizyd.Korambayil #jira UE-29687 Resaved Some Assets to Fix Build Warnings Change 2958176 on 2016/04/27 by Taizyd.Korambayil #jira UE-29701 Resaved Some Assets to Fix Build Warnings Change 2958172 on 2016/04/27 by Ori.Cohen Back out changelist 2955134 #JIRA UE-30030 Change 2958121 on 2016/04/27 by Taizyd.Korambayil #jira UE-29706 Resaved Some Assets to Fix Build Warnings Change 2958070 on 2016/04/27 by Peter.Sauerbrei fix for launch on to tvOS from PC properly filter out tvOS devices when launching to IOS and vice versa #jira UE-29928 Change 2958029 on 2016/04/27 by Andrew.Rodham Fixed SMenuAnchor::bIsCollapsedByParent not being respected #jira UE-30016 Change 2957962 on 2016/04/27 by Alexis.Matte #jira UE-29984 Pixel inspector crash Fix the viewport id Change 2957908 on 2016/04/27 by Andrew.Rodham Sequencer: Fixed being unable to render out 4K image sequences using matinee or sequencer #jira UE-29171 Change 2957880 on 2016/04/27 by Peter.Sauerbrei fix for metal not being enabled in iOS 8 added some checks for bSupportsResourceOptions in Lock/Unlock #jira UE-29268 Change 2957860 on 2016/04/27 by Gareth.Martin Fixed landscape grass not updating when using a material instance as the landscape material and changing parameters #jira UE-29471 Change 2957833 on 2016/04/27 by Taizyd.Korambayil #jira UE-29707 Replaced Deprecated Nodes and Resaved Audio Files to Fix Build Warnings Change 2957805 on 2016/04/27 by Max.Chen Sequencer: Fix crash in UMG when a property changes and there's no movie scene. #jira UE-30008 Change 2957803 on 2016/04/27 by Taizyd.Korambayil #jira UE-29718 Resaved Audio Files and Maps to Fix NodeGuid Warnings Change 2957799 on 2016/04/27 by Max.Chen Sequencer: Fix visibility track name so that it says "Visibility" #jira UE-29996 Change 2957777 on 2016/04/27 by Allan.Bentham Workaround ES31 HQ DoF producing no effect with vulkan rhi. #jira UE-30006 Change 2957763 on 2016/04/27 by Taizyd.Korambayil #jira UE-29678 Resaved Maps to Fix Build Errors Change 2957740 on 2016/04/27 by Taizyd.Korambayil #jira UE-29628 Resaved Maps to fix Build Warnings Change 2957713 on 2016/04/27 by Taizyd.Korambayil #jira UE-29715 Resaved Maps to Fix Build Warnings Change 2957678 on 2016/04/27 by Taizyd.Korambayil #jira UE-29677 Fixed up AnimBP and resaved some assets to fix Build Warnings Change 2957627 on 2016/04/27 by Frank.Fella UMG - Sequencer - Fix material animation for materials on struct properties e.g. style materials, and fix the naming so that it's [Original Name]_Animated #Jira UE-29319 #Jira UE-29321 Change 2957625 on 2016/04/27 by Taizyd.Korambayil #jira UE-29689 Replaced deprecated Nodes and Resaved some assets to Fix Warnings Change 2957603 on 2016/04/27 by mitchell.wilson #jira UE-29618 updating Test-Animation for UMG test. Adding M_SequenceUMG material for UMG testing Change 2957577 on 2016/04/27 by Ben.Marsh EC: Increase the number of changes queried to display the EC dashboard. Some changes are getting filtered out. Change 2957569 on 2016/04/27 by Maciej.Mroz #jira UE-27735 Enumerators are not set correctly in packaged games if Nativize Blueprint Assets is set to true merged from Dev-Blueprints 2957564 Change 2957565 on 2016/04/27 by Taizyd.Korambayil #jira UE-29721 Resaved Some Content to Fix Empty Engine Version Error Change 2957558 on 2016/04/27 by Matthew.Griffin Updated Installed Engine Filters now that Linux has dropped the architecture from its .target files #jira UE-29899 Change 2957504 on 2016/04/27 by Marc.Audy Persist component instance data cache through blueprint construction that results in "disaster recovery mode" #jira UE-20385 Change 2957162 on 2016/04/26 by Dmitriy.Dyomin Fixed: Some Unicode letters are not properly displayed with FCanvasTextItem in Android device #jira UE-25861 Change 2957117 on 2016/04/26 by Dan.Oconnor PR #2289: Exposing "IsValidIndex" Array function to Blueprints (Contributed by eXifreXi) Modifications: typo fix in Array.h, made blueprint description consistent with native function, removed redundant nullptr check, added P_NATIVE timer macros, added custom thunk implementation for cpp backend #jira UE-29563 Change 2957057 on 2016/04/26 by Dan.Oconnor Tweak logic used to make variable nodes more accessible Motivation was PR#2202 by Lucyberad #jira UE-28802 Change 2956884 on 2016/04/26 by Jamie.Dale Removed an assert that can be triggered by certain IMEs #jira UE-19744 Change 2956876 on 2016/04/26 by Dan.Oconnor PR #2288: Adjustment of RInterpTo and RInterpTo_Constant descriptions to match function. (Contributed by CelPlays) #jira UE-29495 Change 2956860 on 2016/04/26 by Max.Preussner Sockets: Fixed incorrect socket timeout when value < 1 ms (UE-29973) #jira: UE-29973 Change 2956801 on 2016/04/26 by Rolando.Caloca UE4.12 - vk - Added r.Vulkan.SubmitOnCopyToResolve to help track down submit issues #jira UE-28140 Change 2956679 on 2016/04/26 by Andrew.Rodham Editor: Fixed not being able to switch between cinematic/default viewport types #jira UE-29942 Change 2956674 on 2016/04/26 by James.Fox Updated Blueprint Bitmask test asset to include Bitwise OR. #jira UE-29618 Change 2956573 on 2016/04/26 by Rolando.Caloca UE4.12 - vk - Added TRANSFER_BIT to swapchain images since it's required for clearing #jira UE-28140 Change 2956572 on 2016/04/26 by Rolando.Caloca UE4.12 - vk - Added alignment to buffer offsets depending on usage #jira UE-28140 Change 2956502 on 2016/04/26 by Peter.Sauerbrei fix for missing particles on iPhone 5 when compiling for size re-enable compile for size for Match 3 #jira UE-28721 Change 2956445 on 2016/04/26 by Taizyd.Korambayil #jira UE-29691 Resaved some Animation Assets to Fix Build Warnings Change 2956382 on 2016/04/26 by Taizyd.Korambayil #jira UE-29688 Resaved Maps in Infiltrator Demo t oFix Some Build Warnings Change 2956332 on 2016/04/26 by Patrick.Donovan Adding physics asset set up for Capsule shadows for easy testing of capsule shadows in VR and with instanced stereo enabled. #jira UE-29618 Change 2956301 on 2016/04/26 by Ben.Marsh Disable notification emails for warnings in Rocket sample builds. Change 2956264 on 2016/04/26 by Peter.Sauerbrei fix for binary release generation of bp-only project files for IOS on Mac #jira UE-29934 Change 2956247 on 2016/04/26 by Jurre.deBaare Fix for Mac compile #jira UE-123ABC Change 2956192 on 2016/04/26 by Jurre.deBaare - Changed signatures for merging static mesh (LOD index now incorporated in merge data structure) - Proxy mesh and Mesh merging now just merges one specific LOD index per input mesh (instead of looping over all LOD levels) - Moved SourceStaticMesh and addex ExportLODIndex to FMeshMergeData structure - LightMap Index for merged static meshes is now set correctly - Added enum to MaterialProxySettings for distinction between (non-)Simplygon uses of the struct - Move MergeActor tab spawner out of experimental (removed option from config) and moved into Developer Tools/Misc #jira UE-28319 Change 2956183 on 2016/04/26 by mitchell.wilson #jira UE-29618 Adding new sequence for assign actor testing. Updating sequencer levels for assign actor testing Change 2956152 on 2016/04/26 by Lina.Halper - removed invalid ensure because it doesn't check recursive, it does have different value with validation #jira : UE-29945 Change 2956034 on 2016/04/26 by Andrew.Rodham Sequencer: Skeletal animation tracks now evaluate the nearest section where no animation section is present - This is more consistent with how other tracks evaluate, and guarantees a deterministic animated state #jira UE-28073 Change 2956002 on 2016/04/26 by Taizyd.Korambayil #jira UE-29729 Resaved Blueprints to Fix Build Warnings Change 2955999 on 2016/04/26 by Max.Chen Sequencer: Refresh instances when done recording. This fixes a bug where spawned recorded actors aren't visible when done recording. #jira UE-29841 Change 2955983 on 2016/04/26 by Andrew.Rodham Removing Saved, Intermediate, and DerivedDataCache folders from SubwaySequencer sample project. #jira UE-29938 Change 2955979 on 2016/04/26 by Taizyd.Korambayil #jira UE-29728 Resaved Some assets to Fix Build Warnings Change 2955941 on 2016/04/26 by Taizyd.Korambayil #jira UE-29730 Resaved Maps to Fix Build Warnings Change 2955937 on 2016/04/26 by Andrew.Rodham Sequencer: When recording actors as spawnables, we no longer duplicate the object, rather create a new instance of the same class - This fixes issues caused by undersiable state being saved into the spawnable defaults Merged from //UE4/Dev-Sequencer/...@2952610 #jira UE-29774 Change 2955888 on 2016/04/26 by mitchell.wilson #jira UE-29618 Updating shots for sequencer testing Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 [CL 2969385 by Matthew Griffin in Main branch]
2016-05-06 15:20:28 -04:00
// Viewport clients are going away. Any current one is invalid.
GCurrentLevelEditingViewportClient = nullptr;
ViewportTabPinned->RefreshViewportConfiguration();
FSlateApplication::Get().DismissAllMenus();
}
}
void SLevelViewport::ToggleViewportTypeActivationWithinLayout(FName InLayoutType)
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
if (GetViewportTypeWithinLayout() != InLayoutType)
{
SetViewportTypeWithinLayout(InLayoutType);
}
}
bool SLevelViewport::IsViewportTypeWithinLayoutEqual(FName InLayoutType)
{
return GetViewportTypeWithinLayout() == InLayoutType;
}
void SLevelViewport::StartPlayInEditorSession(UGameViewportClient* PlayClient, const bool bInSimulateInEditor)
{
check( !HasPlayInEditorViewport() );
check( !InactiveViewport.IsValid() );
// Ensure our active viewport is for level editing
check( ActiveViewport->GetClient() == LevelViewportClient.Get() );
// Save camera settings that may be adversely affected by PIE, so that they may be restored later
LevelViewportClient->PrepareCameraForPIE();
// Here we will swap the editor viewport client out for the client for the play in editor session
InactiveViewport = ActiveViewport;
// Store the content in the viewport widget (editor tool bar etc) so we can show the game UI content if it has any
InactiveViewportWidgetEditorContent = ViewportWidget->GetContent();
// Remove keyboard focus to send a focus lost message to the widget to clean up any saved state from the viewport interface thats about to be swapped out
// Focus will be set when the game viewport is registered
FSlateApplication::Get().ClearKeyboardFocus(EFocusCause::SetDirectly);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
// Attach global play world actions widget to view port
ActiveViewport = MakeShareable( new FSceneViewport( PlayClient, ViewportWidget) );
ActiveViewport->SetPlayInEditorViewport( true );
// Whether to start with the game taking mouse control or leaving it shown in the editor
ActiveViewport->SetPlayInEditorGetsMouseControl(GetDefault<ULevelEditorPlaySettings>()->GameGetsMouseControl);
ActiveViewport->SetPlayInEditorIsSimulate(bInSimulateInEditor);
ActiveViewport->OnPlayWorldViewportSwapped( *InactiveViewport );
TSharedPtr<SWindow> ParentWindow = FSlateApplication::Get().FindWidgetWindow(AsShared());
PlayClient->SetViewportOverlayWidget(ParentWindow, PIEViewportOverlayWidget.ToSharedRef());
PlayClient->SetGameLayerManager(GameLayerManager);
// Our viewport widget should start rendering the new viewport for the play in editor scene
ViewportWidget->SetViewportInterface( ActiveViewport.ToSharedRef() );
// Let the viewport client know what viewport it is associated with
PlayClient->Viewport = ActiveViewport.Get();
// Register the new viewport widget with Slate for viewport specific message routing.
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
FSlateApplication::Get().RegisterGameViewport(ViewportWidget.ToSharedRef() );
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
ULevelEditorPlaySettings const* EditorPlayInSettings = GetDefault<ULevelEditorPlaySettings>();
check(EditorPlayInSettings);
// Kick off a quick transition effect (border graphics)
ViewTransitionType = EViewTransition::StartingPlayInEditor;
ViewTransitionAnim = FCurveSequence( 0.0f, 1.5f, ECurveEaseFunction::CubicOut );
bViewTransitionAnimPending = true;
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
if (EditorPlayInSettings->EnablePIEEnterAndExitSounds)
{
GEditor->PlayEditorSound(TEXT("/Engine/EditorSounds/GamePreview/StartPlayInEditor_Cue.StartPlayInEditor_Cue"));
}
bPIEHasFocus = ActiveViewport->HasMouseCapture();
if(EditorPlayInSettings->ShowMouseControlLabel && !GEngine->IsStereoscopic3D( ActiveViewport.Get() ) )
{
ELabelAnchorMode AnchorMode = EditorPlayInSettings->MouseControlLabelPosition.GetValue();
ShowMouseCaptureLabel(AnchorMode);
}
GEngine->BroadcastLevelActorListChanged();
}
EVisibility SLevelViewport::GetMouseCaptureLabelVisibility() const
{
if (GEditor->PlayWorld)
{
// Show the label if the local player's PC isn't set to show the cursor
auto const TargetPlayer = GEngine->GetLocalPlayerFromControllerId(GEditor->PlayWorld, 0);
if (TargetPlayer && TargetPlayer->PlayerController && !TargetPlayer->PlayerController->bShowMouseCursor)
{
return EVisibility::HitTestInvisible;
}
}
return EVisibility::Collapsed;
}
FLinearColor SLevelViewport::GetMouseCaptureLabelColorAndOpacity() const
{
static const FName DefaultForegroundName("DefaultForeground");
FSlateColor SlateColor = FEditorStyle::GetSlateColor(DefaultForegroundName);
FLinearColor Col = SlateColor.IsColorSpecified() ? SlateColor.GetSpecifiedColor() : FLinearColor::White;
float Alpha = 0.0f;
if(ViewTransitionAnim.IsPlaying() && ViewTransitionType == EViewTransition::StartingPlayInEditor)
{
Alpha = ViewTransitionAnim.GetLerp();
}
else if(PIEOverlayAnim.IsPlaying())
{
Alpha = 1.0f - PIEOverlayAnim.GetLerp();
}
return Col.CopyWithNewOpacity(Alpha);
}
FText SLevelViewport::GetMouseCaptureLabelText() const
{
if(ActiveViewport->HasMouseCapture())
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
// Default Shift+F1 if a valid chord is not found
static FInputChord Chord(EKeys::F1, EModifierKey::Shift);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
TSharedPtr<FUICommandInfo> UICommand = FInputBindingManager::Get().FindCommandInContext(TEXT("PlayWorld"), TEXT("GetMouseControl"));
if (UICommand.IsValid())
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
TSharedRef<const FInputChord> ActiveChord = UICommand->GetActiveChord();
Chord = ActiveChord.Get();
}
FFormatNamedArguments Args;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2973846 on 2016/05/11 by Jamie.Dale Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects). The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue. This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made). Change 2973847 on 2016/05/11 by Jamie.Dale Changing the loading phase in the localization dashboard now writes to the default config #jira UE-30482 Change 2973866 on 2016/05/11 by Jamie.Dale Deprecated some functions that were taking an unused position. These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version. - FViewportFrame::ResizeFrame - FSceneViewport::ResizeFrame - FSceneViewport::ResizeViewport Change 2974505 on 2016/05/11 by Nick.Darnell PR #2309: Added Combobox styling (Contributed by Chris528) Change 2975241 on 2016/05/12 by Richard.TalbotWatkin Made sRGB Preview the default in the Color Picker. Change 2975390 on 2016/05/12 by Jamie.Dale Made sure that en-US-POSIX is in our list of available cultures Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this. Change 2975411 on 2016/05/12 by Jamie.Dale PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz) Change 2975559 on 2016/05/12 by Jamie.Dale Dialogue Wave VO direction can now be localized This is gathered as editor-only data. #jira UE-28715 Change 2975710 on 2016/05/12 by Jamie.Dale Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package Change 2975728 on 2016/05/12 by Jamie.Dale Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue #jira UETOOL-794 Change 2975763 on 2016/05/12 by Jamie.Dale We no longer warn if asked to check out a UNC path when running the GatherText commandlets #jira UE-25833 Change 2975766 on 2016/05/12 by Jamie.Dale Resolved some loc key conflicts #jira UE-25833 Change 2975774 on 2016/05/12 by Jamie.Dale PO files now only contain a single entry in the case of a native translation being exported They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used. This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file. Change 2975776 on 2016/05/12 by Jamie.Dale Downgraded a PO file import warning that isn't really an issue #jira UE-25833 Change 2976675 on 2016/05/13 by Jamie.Dale Fixed some more fallout from changes to use the window position when changing the game viewport mode - FSceneViewport::ResizeFrame: - Fixed the HMD monitor info setting the wrong variables. - Fixed SetWindowMode and ResizeViewport potentially being passed two different modes. - We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning). - FWindowsWindow::MoveWindowTo: - Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area. - FWindowsApplication: - WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected. #jira UE-30276 #jira UE-30677 Change 2976804 on 2016/05/13 by Jamie.Dale Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to Change 2976967 on 2016/05/13 by Alexis.Matte #jira UE-30687 Cannot import a skeletal mesh scale to zero Change 2977042 on 2016/05/13 by Alexis.Matte #jira UE-29952 log a warning if fbx exceed the maximum number of LOD. #2326 Github PR #code review matt.kuhlenschmidt Change 2977074 on 2016/05/13 by Jamie.Dale Follow up to CL# 2976804 to avoid a potential change in behavior Change 2977076 on 2016/05/13 by Jamie.Dale Some tidy up and optimization to SCulturePicker Change 2977327 on 2016/05/13 by Alex.Delesky Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser. #jira UE-30423 Change 2977499 on 2016/05/13 by Alexis.Matte #jira UE-29475 Enable UStruct child property to be favorite Change 2978415 on 2016/05/16 by Jamie.Dale We now pre-load all the culture data when starting the editor to avoid a UI hitch later Change 2978517 on 2016/05/16 by Alex.Delesky #jira UE-29406 Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor. Change 2978518 on 2016/05/16 by Alex.Delesky #jira UE-28210 The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session. Change 2978556 on 2016/05/16 by Alexis.Matte Fbx tests automation #jira UE-29635 Change 2978797 on 2016/05/16 by Alexis.Matte #jira UE-30774 - prevent baking the pivot if we transform the vertex with the absolute transform. - Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform. #code review matt.kuhlenschmidt Change 2978965 on 2016/05/16 by Alexis.Matte FBX importer, fix the socket rotation. #jira UE-30094 Change 2980613 on 2016/05/17 by Jamie.Dale Moved the XLOC UAT localization provider to be publicly accessible Change 2980614 on 2016/05/17 by Jamie.Dale Reference update for project move Change 2980633 on 2016/05/17 by Jamie.Dale Made the culture mapping used between XLOC and UE4 configurable on a per-project basis You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings. Change 2980836 on 2016/05/17 by Jamie.Dale Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload Change 2982700 on 2016/05/18 by Jamie.Dale Fixed the loc package gather potentially adding the same source location multiple times Change 2983906 on 2016/05/19 by Jamie.Dale Slight cleanup of the way we register localization gatherer callbacks Change 2984356 on 2016/05/19 by Chris.Wood Removed temporary analytics API change needed for earlier hot fix [UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817 Change 2986679 on 2016/05/23 by Alex.Delesky #jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad. Change 2986798 on 2016/05/23 by Alex.Delesky #jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus. Change 2987106 on 2016/05/23 by Alexis.Matte Fbx importer, fail import must not create a package in the content browser #jira UE-31154 Change 2987563 on 2016/05/23 by Alex.Delesky #jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed Change 2987564 on 2016/05/23 by Alex.Delesky #jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor. Change 2988321 on 2016/05/24 by Jamie.Dale Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded Change 2988708 on 2016/05/24 by Jamie.Dale Fix for crash when missing the fallback/last resort font Change 2988782 on 2016/05/24 by Jamie.Dale Added the ability to version each localized string individually when loaded into the localization manager The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories. Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history. Change 2988856 on 2016/05/24 by Jamie.Dale Added a way to get the package(s) of the object(s) being edited by a property panel Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case: - UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package. - Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors. Change 2988955 on 2016/05/24 by Alex.Delesky #jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules. Git Request #2376 Change 2989418 on 2016/05/25 by Jamie.Dale Added a way to count text references within a package that match the given search criteria This can be used to detect whether a localization ID is unique within its package. The following search modes are available: - MatchId: Detect a reference if it matches the given ID (ignoring the source text) - MatchSource: Detect a reference if it matches the given ID and source string - MismatchSource: Detect a reference if it matches the given ID but has a different source string Change 2989436 on 2016/05/25 by Jamie.Dale Added "root-level" meta-data (meta-data associated with the package rather than an object within it) Change 2989471 on 2016/05/25 by Alexis.Matte Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk Change 2989639 on 2016/05/25 by Jamie.Dale Added static version of FName::IsValidXName This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table) Change 2989716 on 2016/05/25 by Alex.Delesky #jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks. Change 2990100 on 2016/05/25 by Alexis.Matte Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD #jira UE-30907 Change 2991442 on 2016/05/26 by Bob.Tellez #UE4 Fix components in world not rendering when saved without a physics scene. Change 2991736 on 2016/05/26 by Bob.Tellez #UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser. Change 2991942 on 2016/05/26 by Alex.Delesky #jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup. Change 2991994 on 2016/05/26 by Alex.Delesky #jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor. Change 2994037 on 2016/05/30 by Alexis.Matte Add Fbx Automation Tests - static mesh import reimport (sections and materials) - skeletal mesh import and reimport (sections and materials also bone position) - static/skeletal mesh LODs (import, add, reimport) - rigid mesh (import, reimport) Change 2994253 on 2016/05/31 by Alexis.Matte Mikkt crash when computing the normals if there is more vertex then the number of wedge #jira UE-29143 Change 2994260 on 2016/05/31 by Alexis.Matte Make sure we cannot modify fbx test plan when json file is read only Change 2994431 on 2016/05/31 by Alex.Delesky #jira UE-21900 - The scale widget should now render all axes when using an orthographic camera. Change 2994432 on 2016/05/31 by Alex.Delesky #jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled. Change 2994537 on 2016/05/31 by Richard.TalbotWatkin Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo. #jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>() Change 2994983 on 2016/05/31 by Richard.TalbotWatkin Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information. #jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693 Change 2995022 on 2016/05/31 by Jamie.Dale PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH) Change 2995027 on 2016/05/31 by Jamie.Dale PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH) Change 2995963 on 2016/06/01 by Alex.Delesky #jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh. Change 2997002 on 2016/06/01 by Cody.Albert Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed #jira UE-31448 Change 2998013 on 2016/06/02 by Alexis.Matte Prevent static mesh materials array to grow when using the reset button in the staticmesh editor. #jira UE-12931 Change 2998370 on 2016/06/02 by Alexis.Matte Fbx Automation, add some import LOD test in case the options are not ok Change 2999709 on 2016/06/03 by Jamie.Dale Fixed some issues with gathering text from BP bytecode Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load). Change 2999755 on 2016/06/03 by Richard.TalbotWatkin Fixes to Spline Mesh collision generation. - Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry. - Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh. - Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused. #jira UE-31361 - Splines handle box collision and collision from other shapes differently Change 2999973 on 2016/06/03 by Jamie.Dale We now skip bulk data when detecting text references #jira UE-31596 Change 3000159 on 2016/06/03 by Alex.Delesky #jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level. Change 3001814 on 2016/06/06 by Alexis.Matte Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh. Add a fbx test to make sure the problem is flag by automation test #jira UE-1394 Change 3001820 on 2016/06/06 by Alex.Delesky #jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint. Change 3001915 on 2016/06/06 by Alexis.Matte Make sure we check attribute type before checking attribute unique ID in case of unique id clash. #jira UE-31214 Change 3002026 on 2016/06/06 by Alexis.Matte Importing morph target should not import textures like materials since the base mesh already import thoses. UDN Question: https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html Change 3002623 on 2016/06/06 by Jamie.Dale Fixing more loc conflicts Change 3002883 on 2016/06/06 by Jamie.Dale Adding retry when dealing with OneSky This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413 Change 3003004 on 2016/06/06 by Trung.Le #jira UE-13101 - Make "Description" field for a BluePrint Function multiline Change 3003859 on 2016/06/07 by Alexis.Matte #jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite Change 3004132 on 2016/06/07 by Jamie.Dale Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket. This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly. Change 3004286 on 2016/06/07 by Jamie.Dale Ensured that assignments that publish new names to the bucket are atomic Change 3004310 on 2016/06/07 by Jamie.Dale Ensured FName internal hashes are returned as uint16 Change 3004381 on 2016/06/07 by Jamie.Dale FAsyncPackage now creates the meta-data before processing the remaining exports This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them. Change 3004765 on 2016/06/07 by Alex.Delesky #jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material. Change 3005754 on 2016/06/08 by Trung.Le Allow whitespace for meta class names #jira UE-31668 Change 3005755 on 2016/06/08 by Stephan.Jiang UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid #jira UE-31299 Change 3006512 on 2016/06/08 by Alex.Delesky #jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first. Change 3006760 on 2016/06/08 by Jamie.Dale Added support for stable localization keys This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict. In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict. In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages. If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package. Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this: MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game. Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date. #jira UETOOL-796 Change 3007501 on 2016/06/09 by Trung.Le #jira UE-31722 Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction. Change 3007524 on 2016/06/09 by Jamie.Dale Added some additional checks to avoid re-keying text when duplicating for PIE Change 3007564 on 2016/06/09 by Jamie.Dale PR #2401: DataTable import/export improvements (Contributed by bozaro) Change 3007653 on 2016/06/09 by Jamie.Dale PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt) Change 3008019 on 2016/06/09 by Jamie.Dale Updated structs to export as JSON when displaying them in the Data Table editor This produces much cleaner results than using the text export method (which will use the internal names for user defined structs). This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it. #jira UE-29958 Change 3008052 on 2016/06/09 by Jamie.Dale Fixed bug importing an array inside a JSON Data Table This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing. Change 3008875 on 2016/06/10 by Jamie.Dale PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts) Change 3008879 on 2016/06/10 by Jamie.Dale PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts) Change 3008990 on 2016/06/10 by Alex.Delesky #jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source. Change 3008991 on 2016/06/10 by Alex.Delesky #jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window. Change 3010856 on 2016/06/13 by Alexis.Matte #jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth. Change 3011736 on 2016/06/13 by Jamie.Dale Adding missing plurals.res file This is needed to get plural form information from ICU. #jira UETOOL-875 Change 3012387 on 2016/06/14 by Richard.TalbotWatkin Disabled the Paste context menu action if the property is marked as EditConst. #jira UE-27469 - User is able to paste values into a read-only setting Change 3012971 on 2016/06/14 by Stephan.Jiang Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder. By default, visibility for engine content is off and developers is on #jira UE-31657 Change 3013111 on 2016/06/14 by Jamie.Dale Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format. Change 3015438 on 2016/06/15 by Cody.Albert Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation) #jira UE-32082 Change 3016782 on 2016/06/16 by Richard.TalbotWatkin Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array. Change 3016949 on 2016/06/16 by Jamie.Dale Added FastDecimalFormat overloads to write into an existing string This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format). Change 3016952 on 2016/06/16 by Jamie.Dale Changed an Add for an Emplace to avoid moving a temporary Change 3016954 on 2016/06/16 by Jamie.Dale Updated some FText code to avoid creating temporary objects just to move data through a hierarchy There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data. This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit). In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful. Change 3019021 on 2016/06/19 by Richard.TalbotWatkin When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear. #jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted Change 3019022 on 2016/06/19 by Richard.TalbotWatkin Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed. #jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode #jira UE-31915 - Selecting BSP face does not show Surface Properties in Details Change 3019025 on 2016/06/19 by Richard.TalbotWatkin Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops. #jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive Change 3020050 on 2016/06/20 by Cody.Albert Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor. #jira UE-32173 Change 3021145 on 2016/06/21 by Jamie.Dale Added support for text format argument modifiers These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)". We provide a few of these by default: - |plural(key=val,...) - |ordinal(key=val,...) Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string. - |gender(masculine,feminine,[neuter]) Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string. - |hpp(consonant,vowel) Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string. Major changes: - Exposed the ICU plural form handling via FCulture::GetPluralForm. - Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers). - Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat). - Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText). - Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText). Breaking changes: - The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text: - The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F". - Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug. Change 3021156 on 2016/06/21 by Jamie.Dale Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling This avoids the compile and link actions being split into different batches. Change 3021280 on 2016/06/21 by Richard.TalbotWatkin Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier). #jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug Change 3022949 on 2016/06/22 by Alex.Delesky #jira UE-31944 - Upgrading Subversion binaries to version 1.9.4. Change 3023092 on 2016/06/22 by Jamie.Dale Downgraded some checks to ensures and added an early out #jira UE-32009 Change 3023154 on 2016/06/22 by Jamie.Dale Ported over CL# 3018771 to the UE automation This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated). Change 3023579 on 2016/06/22 by Jamie.Dale Expanded the Blueprint FormatText node to support numeric and gender types These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text. Major changes: - The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text. - Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin. - FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue. - The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead. Change 3023915 on 2016/06/22 by Jamie.Dale Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals Change 3024813 on 2016/06/23 by Jamie.Dale Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code Change 3024852 on 2016/06/23 by Nick.Darnell FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections. Change 3024994 on 2016/06/23 by Nick.Darnell UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint. #jira UE-31155 Change 3025194 on 2016/06/23 by Alex.Delesky #jira UE-31155 - Compilation error fix. Change 3025255 on 2016/06/23 by Alex.Delesky #jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports. Change 3025460 on 2016/06/23 by Cody.Albert Fixed issue where widget components would misalign when aspect ratio was being constrained #jira UE-29637 Change 3025508 on 2016/06/23 by Cody.Albert Adding support for adjusting animation playback speed #jira UE-32222 Change 3026444 on 2016/06/24 by Jamie.Dale Fixed crash caused by bad access of shared this when closing an active IME context This was only needed to get the owner window, which we now cache when the IME context is created. #jira UE-32240 Change 3028358 on 2016/06/27 by Jamie.Dale Fixed IMEs not working due to no window being cached #jira UE-32240 Change 3028464 on 2016/06/27 by Alex.Delesky #jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out. Change 3028524 on 2016/06/27 by Chris.Wood Switched off uploads to legacy Crash Report Receiver. [UE-31252] - Switch off deprecated CRR upload in Crash Report Client Also added CRC version string, added to crash context from CRC config Change 3028840 on 2016/06/27 by Alexis.Matte #jira UE-32306 replace material bad name character by an underscore when doing a scen import. Change 3028924 on 2016/06/27 by Alexis.Matte #jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder Change 3029044 on 2016/06/27 by Alex.Delesky #jira UE-31944 - Updating SVN binaries for Mac to 1.9.4 Change 3029276 on 2016/06/27 by Alex.Delesky #jira UE-31531 - A user can now select the base class when creating a new physical material. PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside) Change 3029459 on 2016/06/27 by Alexis.Matte #jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options. Change 3030577 on 2016/06/28 by Nick.Darnell PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts) Change 3030587 on 2016/06/28 by Alexis.Matte #jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh Change 3030946 on 2016/06/28 by Alexis.Matte #jira UE-32515 prevent crash when re-import staticmesh userdata Change 3031115 on 2016/06/28 by Jamie.Dale The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed. Change 3031146 on 2016/06/28 by Jamie.Dale Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject Change 3031357 on 2016/06/28 by Nick.Darnell PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz) Change 3031515 on 2016/06/28 by Jamie.Dale Fixed game targets not being able to depend on other game targets Change 3031520 on 2016/06/28 by Jamie.Dale Localization compilation now specifies an ArchiveName to use Change 3031671 on 2016/06/28 by Nick.Darnell Editor - Checking to see if a weak variable is valid before using it in the editor build window. Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt Added ability to invert the Y axis in editor viewports for mouse look and orbit Change 3032495 on 2016/06/29 by Jamie.Dale Fixed some measuring issues with bi-directional text within a right-flowed document There were three main issues: 1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering). 2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights). 3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights). #jira UE-32526 Change 3032533 on 2016/06/29 by Nick.Darnell UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big. Change 3032855 on 2016/06/29 by Alexis.Matte #jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated #test please re-test also UE-32240 Change 3033145 on 2016/06/29 by Alex.Delesky #jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized. Change 3033147 on 2016/06/29 by Alex.Delesky #jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly. This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed. Change 3033162 on 2016/06/29 by Alex.Delesky #jira UE-31827 - Undo/redo now works in the Material function editor. Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt Fix post process settings blendable picker not being readable in the details panel Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt Fixed huge number of redundant calls to CanEditChange and DiffersFromDefault that were causing massive performance loss when thousands of objects are selected. CanEditChange and DiffersFromDefault are now cached each time a property value changes. Fixed redundant calls for getting visualizers for each selected object. This is now cached on selection Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt Fix Mass customization on the body instance not working with undo/redo or reset to default Change 3034357 on 2016/06/30 by Alex.Delesky #jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent. Change 3035915 on 2016/07/01 by Richard.TalbotWatkin Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox. #jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox Change 3035951 on 2016/07/01 by Richard.TalbotWatkin Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars. #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3036991 on 2016/07/04 by Alexis.Matte #jira UETOOL-901 Scene importer now support the rigid mesh animation Change 3037037 on 2016/07/04 by Jamie.Dale Fixed regression in editable text box alignment Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead. Change 3037057 on 2016/07/04 by Richard.TalbotWatkin Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received. #jira UE-29815 - In-game screenshot isn't working under certain circumstances Change 3037082 on 2016/07/04 by Chris.Wood Added detection of asserts and passing assert flag and crash type string to crash reports. [UE-30592] - Crash Reporter should determine crash type on client and pass string to server Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point. Change 3037095 on 2016/07/04 by Alexis.Matte Fix the bone name when duplicating a socket. Change 3037453 on 2016/07/05 by Stephan.Jiang Adding ability to animate the root wigdet #2 FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint the properties are then migrated back to the CDO #UE 31810 Change 3037487 on 2016/07/05 by Jamie.Dale Fixed crash caused by stale BP pointer #jira UE-32325 Change 3037488 on 2016/07/05 by Jamie.Dale Fixed a crash that could occur when a class and a folder had the same name Change 3037526 on 2016/07/05 by Jamie.Dale Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown. #jira UE-17688 Change 3037557 on 2016/07/05 by Alex.Delesky #jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location. The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns. Change 3037558 on 2016/07/05 by Alex.Delesky #jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened. Change 3037559 on 2016/07/05 by Alex.Delesky #jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level. Change 3037593 on 2016/07/05 by Stephan.Jiang GitHub #2549: Add function for setting the playback rate of UMG animations original code shelved in CL 3033449 #UE-32653 Change 3037605 on 2016/07/05 by Jamie.Dale Fixed infinite recursion that could happen when gather loc from an object with a custom callback #jira UE-32670 Change 3037649 on 2016/07/05 by Nick.Darnell PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast,  Rama (Contributed by EverNewJoy) Change 3037652 on 2016/07/05 by Nick.Darnell Clean - Removing commented out code. Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt Fix initial hitch when dragging around in a color picker opened from a material expression node. Change 3037679 on 2016/07/05 by Nick.Darnell Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures. Change 3037757 on 2016/07/05 by Nick.Darnell PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok) Change 3037840 on 2016/07/05 by Nick.Darnell UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand. Change 3037924 on 2016/07/05 by Jamie.Dale Re-ordered variable initialization to appease a warning on Mac Change 3037981 on 2016/07/05 by Jamie.Dale Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array #jira UE-32639 Change 3038075 on 2016/07/05 by Cody.Albert Removed misleading error message in HandleCECommand #jira 28007 Change 3038231 on 2016/07/05 by Alexis.Matte #jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag. Change 3038275 on 2016/07/05 by Alex.Delesky #jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself). Change 3039310 on 2016/07/06 by Trung.Le #jira UE-25005 Change PIE Key Bindings - Removed Shift+F1 and Esc from BaseInput.ini - Created new customizable key binding for + Shift+F1: same functionality. + Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session. + Shift+Esc: now will stop the play session Change 3039458 on 2016/07/06 by Trung.Le Removed unused code in StaticMeshLight.cpp Change 3039827 on 2016/07/06 by Frank.Fella FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path. #jira UE-31959 Change 3041094 on 2016/07/07 by Nick.Darnell WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault. #jira UE-32694 Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt Fix visualizers on blueprint actors not working when the internal components are trashed and replaced Change 3041302 on 2016/07/07 by Chris.Wood Increased buffer size for crash uploads. [UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack Trivial change in dev branch - no code review Change 3041969 on 2016/07/07 by Nick.Darnell UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel. Change 3041971 on 2016/07/07 by Nick.Darnell UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser. Change 3042612 on 2016/07/08 by Trung.Le #jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit Change 3042732 on 2016/07/08 by mitchell.wilson Adding test content for UMG Paper 2d Atlas test Change 3042780 on 2016/07/08 by mitchell.wilson Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing Change 3042870 on 2016/07/08 by mitchell.wilson Renaming UMG_Paper2d to UMG_Sprite Change 3044104 on 2016/07/10 by Nick.Darnell PR #2104: Improved widget input support (Contributed by projectgheist) Change 3044107 on 2016/07/10 by Nick.Darnell Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off. #jira UE-25750 Change 3044377 on 2016/07/11 by Chris.Wood Add Slack messaging module - Epic Friday Change 3044536 on 2016/07/11 by Alex.Delesky #jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features. Change 3044922 on 2016/07/11 by Nick.Darnell Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported. Change 3045157 on 2016/07/11 by Nick.Darnell Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat. Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe Change 3045358 on 2016/07/11 by Alex.Delesky #jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break. Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt Enable the widget reflector from the editor console by typing "widgetreflector" Change 3045387 on 2016/07/11 by Stephan.Jiang Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly. #UE-31874 Change 3046093 on 2016/07/12 by Nick.Darnell UMG - The Slider now exposes the IsFocusable option from Slate. #jira UE-32960 Change 3046094 on 2016/07/12 by Alexis.Matte #jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value. Change 3046104 on 2016/07/12 by Stephan.Jiang typo "Syc" causing the "Sync" button doesn't show Slateicon #UE-31409 Change 3046142 on 2016/07/12 by Nick.Darnell Orion - Upgrading more code to use the new input mode functions and not the deprecated ones. Change 3046165 on 2016/07/12 by Nick.Darnell UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data. #jira UE-32844 Change 3046255 on 2016/07/12 by Nick.Darnell UT - More build warning fixes for the new Input Mode methods. Change 3046604 on 2016/07/12 by Richard.Hinckley Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard. Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt Better way of summoning the widget reflector from the console Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only Change 3048754 on 2016/07/13 by Trung.Le #jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands Change 3048756 on 2016/07/13 by Trung.Le Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable Change 3048865 on 2016/07/13 by Trung.Le #jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly Change 3048892 on 2016/07/13 by Nick.Darnell UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance. #jira UE-33250 Change 3049096 on 2016/07/13 by Trung.Le Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game. #jira UE-33259 Change 3049177 on 2016/07/13 by Stephan.Jiang Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer. #UE-33016 Change 3049726 on 2016/07/14 by Stephan.Jiang Adding icons for terrain mirror tool #UE-20588 Change 3049957 on 2016/07/14 by Nick.Darnell Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like. Change 3049994 on 2016/07/14 by Stephan.Jiang Set viewed animtion to current animtion after switching from Graph to Designer (This is for "No Animation Selected" showing up when switching) #UE-33016 Change 3050194 on 2016/07/14 by Stephan.Jiang Added ability to replace the widget the track is currently bound to Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer #UE-31809 [CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
Args.Add(TEXT("InputText"), Chord.GetInputText());
return FText::Format( LOCTEXT("ShowMouseCursorLabel", "{InputText} for Mouse Cursor"), Args );
}
else
{
return LOCTEXT("GameMouseControlLabel", "Click for Mouse Control");
}
}
void SLevelViewport::ShowMouseCaptureLabel(ELabelAnchorMode AnchorMode)
{
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_TopLeft / 3) + 1) == EVerticalAlignment::VAlign_Top && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_TopLeft % 3) + 1) == EHorizontalAlignment::HAlign_Left, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_TopCenter / 3) + 1) == EVerticalAlignment::VAlign_Top && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_TopCenter % 3) + 1) == EHorizontalAlignment::HAlign_Center, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_TopRight / 3) + 1) == EVerticalAlignment::VAlign_Top && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_TopRight % 3) + 1) == EHorizontalAlignment::HAlign_Right, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_CenterLeft / 3) + 1) == EVerticalAlignment::VAlign_Center && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_CenterLeft % 3) + 1) == EHorizontalAlignment::HAlign_Left, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_Centered / 3) + 1) == EVerticalAlignment::VAlign_Center && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_Centered % 3) + 1) == EHorizontalAlignment::HAlign_Center, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_CenterRight / 3) + 1) == EVerticalAlignment::VAlign_Center && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_CenterRight % 3) + 1) == EHorizontalAlignment::HAlign_Right, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_BottomLeft / 3) + 1) == EVerticalAlignment::VAlign_Bottom && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_BottomLeft % 3) + 1) == EHorizontalAlignment::HAlign_Left, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_BottomCenter / 3) + 1) == EVerticalAlignment::VAlign_Bottom && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_BottomCenter % 3) + 1) == EHorizontalAlignment::HAlign_Center, "Alignment from ELabelAnchorMode error.");
static_assert((EVerticalAlignment)((ELabelAnchorMode::LabelAnchorMode_BottomRight / 3) + 1) == EVerticalAlignment::VAlign_Bottom && (EHorizontalAlignment)((ELabelAnchorMode::LabelAnchorMode_BottomRight % 3) + 1) == EHorizontalAlignment::HAlign_Right, "Alignment from ELabelAnchorMode error.");
EVerticalAlignment VAlign = (EVerticalAlignment)((AnchorMode/3)+1);
EHorizontalAlignment HAlign = (EHorizontalAlignment)((AnchorMode%3)+1);
SOverlay::FOverlaySlot& Slot = ViewportOverlay->AddSlot();
PIEOverlaySlotIndex = Slot.ZOrder;
Slot.HAlign(HAlign)
.VAlign(VAlign)
[
SNew( SBorder )
.BorderImage( FEditorStyle::GetBrush("NoBorder") )
.Visibility(this, &SLevelViewport::GetMouseCaptureLabelVisibility)
.ColorAndOpacity( this, &SLevelViewport::GetMouseCaptureLabelColorAndOpacity )
.ForegroundColor( FLinearColor::White )
.Padding(15.0f)
[
SNew( SButton )
.ButtonStyle( FEditorStyle::Get(), "EditorViewportToolBar.MenuButton" )
.IsFocusable(false)
.ButtonColorAndOpacity( FSlateColor(FLinearColor::Black) )
.ForegroundColor( FLinearColor::White )
[
SNew( SHorizontalBox )
+ SHorizontalBox::Slot()
.MaxWidth(32.f)
.VAlign(VAlign_Center)
.Padding(0.0f, 2.0f, 2.0f, 2.0f)
[
SNew( SVerticalBox )
+ SVerticalBox::Slot()
.MaxHeight(16.f)
[
SNew(SImage)
.Image(FEditorStyle::GetBrush("LevelViewport.CursorIcon"))
]
]
+ SHorizontalBox::Slot()
.AutoWidth()
.VAlign(VAlign_Center)
.HAlign(HAlign_Center)
.Padding(2.0f, 2.0f)
[
SNew(STextBlock)
.Text(this, &SLevelViewport::GetMouseCaptureLabelText)
.Font( FSlateFontInfo( FPaths::EngineContentDir() / TEXT("Slate/Fonts/Roboto-Bold.ttf"), 9 ) )
.ColorAndOpacity(FLinearColor::White)
]
]
]
];
}
void SLevelViewport::HideMouseCaptureLabel()
{
ViewportOverlay->RemoveSlot(PIEOverlaySlotIndex);
PIEOverlaySlotIndex = 0;
}
void SLevelViewport::ResetNewLevelViewFlags()
{
const bool bUseSavedDefaults = true;
OnUseDefaultShowFlags(bUseSavedDefaults);
}
void SLevelViewport::EndPlayInEditorSession()
{
check( HasPlayInEditorViewport() );
FSlateApplication::Get().UnregisterGameViewport();
check( InactiveViewport.IsValid() );
if( IsPlayInEditorViewportActive() )
{
{
TSharedPtr<FSceneViewport> GameViewport = ActiveViewport;
ActiveViewport = InactiveViewport;
ActiveViewport->OnPlayWorldViewportSwapped( *GameViewport );
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
// Play in editor viewport was active, swap back to our level editor viewport
GameViewport->SetViewportClient( nullptr );
// We should be the only thing holding on to viewports
check( GameViewport.IsUnique() );
}
// Ensure our active viewport is for level editing
check( ActiveViewport->GetClient() == LevelViewportClient.Get() );
// If we're going back to VR Editor, refresh the level viewport's render target so the HMD will present frames here
if( GEngine->IsStereoscopic3D( ActiveViewport.Get() ) )
{
ActiveViewport->UpdateViewportRHI( false, ActiveViewport->GetSizeXY().X, ActiveViewport->GetSizeXY().Y, ActiveViewport->GetWindowMode(), PF_Unknown );
}
else
{
// Restore camera settings that may be adversely affected by PIE
LevelViewportClient->RestoreCameraFromPIE();
RedrawViewport(true);
// Remove camera roll from any PIE camera applied in this viewport. A rolled camera is hard to use for editing
LevelViewportClient->RemoveCameraRoll();
}
}
else
{
InactiveViewport->SetViewportClient( nullptr );
}
// Reset the inactive viewport
InactiveViewport.Reset();
// Viewport widget should begin drawing the editor viewport
ViewportWidget->SetViewportInterface( ActiveViewport.ToSharedRef() );
ViewportWidget->SetContent( InactiveViewportWidgetEditorContent );
// No longer need to store the content
InactiveViewportWidgetEditorContent.Reset();
if(PIEOverlaySlotIndex)
{
HideMouseCaptureLabel();
}
// Kick off a quick transition effect (border graphics)
ViewTransitionType = EViewTransition::ReturningToEditor;
ViewTransitionAnim = FCurveSequence( 0.0f, 1.5f, ECurveEaseFunction::CubicOut );
bViewTransitionAnimPending = true;
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
if (GetDefault<ULevelEditorPlaySettings>()->EnablePIEEnterAndExitSounds)
{
GEditor->PlayEditorSound( TEXT( "/Engine/EditorSounds/GamePreview/EndPlayInEditor_Cue.EndPlayInEditor_Cue" ) );
}
GEngine->BroadcastLevelActorListChanged();
}
void SLevelViewport::SwapViewportsForSimulateInEditor()
{
// Ensure our active viewport was the play in editor viewport
check( IsPlayInEditorViewportActive() );
// Remove the mouse control label - not relevant for SIE
if(PIEOverlaySlotIndex)
{
HideMouseCaptureLabel();
}
// Unregister the game viewport with slate which will release mouse capture and lock
FSlateApplication::Get().UnregisterGameViewport();
// Swap between the active and inactive viewport
TSharedPtr<FSceneViewport> TempViewport = ActiveViewport;
ActiveViewport = InactiveViewport;
InactiveViewport = TempViewport;
ViewportWidget->SetContent( InactiveViewportWidgetEditorContent );
// Resize the viewport to be the same size the previously active viewport
// When starting in immersive mode its possible that the viewport has not been resized yet
ActiveViewport->OnPlayWorldViewportSwapped( *InactiveViewport );
ViewportWidget->SetViewportInterface( ActiveViewport.ToSharedRef() );
// Kick off a quick transition effect (border graphics)
ViewTransitionType = EViewTransition::StartingSimulate;
ViewTransitionAnim = FCurveSequence( 0.0f, 1.5f, ECurveEaseFunction::CubicOut );
bViewTransitionAnimPending = true;
GEditor->PlayEditorSound( TEXT( "/Engine/EditorSounds/GamePreview/PossessPlayer_Cue.PossessPlayer_Cue" ) );
}
void SLevelViewport::SwapViewportsForPlayInEditor()
{
// Ensure our inactive viewport was the play in editor viewport
check( !IsPlayInEditorViewportActive() && HasPlayInEditorViewport() );
// Put the mouse control label up again.
ULevelEditorPlaySettings const* EditorPlayInSettings = GetDefault<ULevelEditorPlaySettings>();
check(EditorPlayInSettings);
if(EditorPlayInSettings->ShowMouseControlLabel && !GEngine->IsStereoscopic3D( ActiveViewport.Get() ) )
{
ELabelAnchorMode AnchorMode = EditorPlayInSettings->MouseControlLabelPosition.GetValue();
ShowMouseCaptureLabel(AnchorMode);
}
// Swap between the active and inactive viewport
TSharedPtr<FSceneViewport> TempViewport = ActiveViewport;
ActiveViewport = InactiveViewport;
InactiveViewport = TempViewport;
// Resize the viewport to be the same size the previously active viewport
// When starting in immersive mode its possible that the viewport has not been resized yet
ActiveViewport->OnPlayWorldViewportSwapped( *InactiveViewport );
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
InactiveViewportWidgetEditorContent = ViewportWidget->GetContent();
ViewportWidget->SetViewportInterface( ActiveViewport.ToSharedRef() );
// Register the game viewport with slate which will capture the mouse and lock it to the viewport
FSlateApplication::Get().RegisterGameViewport( ViewportWidget.ToSharedRef() );
// Kick off a quick transition effect (border graphics)
ViewTransitionType = EViewTransition::StartingPlayInEditor;
ViewTransitionAnim = FCurveSequence( 0.0f, 1.5f, ECurveEaseFunction::CubicOut );
bViewTransitionAnimPending = true;
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
if (EditorPlayInSettings->EnablePIEEnterAndExitSounds)
{
GEditor->PlayEditorSound( TEXT( "/Engine/EditorSounds/GamePreview/EjectFromPlayer_Cue.EjectFromPlayer_Cue" ) );
}
}
void SLevelViewport::OnSimulateSessionStarted()
{
// Kick off a quick transition effect (border graphics)
ViewTransitionType = EViewTransition::StartingSimulate;
ViewTransitionAnim = FCurveSequence( 0.0f, 1.5f, ECurveEaseFunction::CubicOut );
bViewTransitionAnimPending = true;
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
if (GetDefault<ULevelEditorPlaySettings>()->EnablePIEEnterAndExitSounds)
{
GEditor->PlayEditorSound( TEXT( "/Engine/EditorSounds/GamePreview/StartSimulate_Cue.StartSimulate_Cue" ) );
}
// Make sure the viewport's hit proxies are invalidated. If not done, clicking in the viewport could select an editor world actor
ActiveViewport->InvalidateHitProxy();
}
void SLevelViewport::OnSimulateSessionFinished()
{
// Kick off a quick transition effect (border graphics)
ViewTransitionType = EViewTransition::ReturningToEditor;
ViewTransitionAnim = FCurveSequence( 0.0f, 1.5f, ECurveEaseFunction::CubicOut );
bViewTransitionAnimPending = true;
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
if (GetDefault<ULevelEditorPlaySettings>()->EnablePIEEnterAndExitSounds)
{
GEditor->PlayEditorSound( TEXT( "/Engine/EditorSounds/GamePreview/EndSimulate_Cue.EndSimulate_Cue" ) );
}
// Make sure the viewport's hit proxies are invalidated. If not done, clicking in the viewport could select a pie world actor
ActiveViewport->InvalidateHitProxy();
}
EVisibility SLevelViewport::GetLockedIconVisibility() const
{
return IsAnyActorLocked() ? EVisibility::Visible : EVisibility::Collapsed;
}
FText SLevelViewport::GetLockedIconToolTip() const
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
FText ToolTipText;
if (IsAnyActorLocked())
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
ToolTipText = FText::Format( LOCTEXT("ActorLockedIcon_ToolTip", "Viewport Locked to {0}"), FText::FromString( LevelViewportClient->GetActiveActorLock().Get()->GetActorLabel() ) );
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2972815) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2821607 on 2016/01/08 by Mieszko.Zielinski Added a way to limit amount of information logged by vlog by discarding logs from classes from outside of class whitelist #UE4 This feature was followed by refactoring of functions taking FVisualLogEntry pointers to use references instead. Change 2828384 on 2016/01/14 by Mieszko.Zielinski Back out of visual log refactor done as part of CL#2821607 #UE4 Change 2965743 on 2016/05/04 by Tom.Looman Added check to PostActorConstruction to avoid BeginPlay call on pendingkill actor. UE-27528 #rb MarcA Change 2965744 on 2016/05/04 by Marc.Audy VS2015 Shadow Variable fixes Change 2965813 on 2016/05/04 by Tom.Looman Moved UninitializeComponents outside (bActorInitialized) to always uninit components when actors gets destroyed early. UE-27529 #rb MarcA Change 2966564 on 2016/05/04 by Marc.Audy VS2015 shadow variable fixes Change 2967244 on 2016/05/05 by Jon.Nabozny Remove UPROPERTY from members that don't require serialization and aren't user editable. #JIRA UE-30155 Change 2967377 on 2016/05/05 by Lukasz.Furman fixed processing of AIMessages when new message appears during notify loop #ue4 Change 2967437 on 2016/05/05 by Marc.Audy Add a static One to TBigInt Remove numerous local statics and TEncryptionInt specific version in KeyGenerator.cpp Part of fixing shadow variables for VS2015 Change 2967465 on 2016/05/05 by Marc.Audy Fix VS2015 shadow variables fixes Change 2967552 on 2016/05/05 by Marc.Audy Fix compile error in DocumentationCode Change 2967556 on 2016/05/05 by Marc.Audy Enable shadow variable warnings in 2015 Change 2967836 on 2016/05/05 by Marc.Audy Another DocumentationCode project fix Change 2967941 on 2016/05/05 by Marc.Audy Make bShowHUD not config Expose HUD properties to blueprints Cleanup stale entries in BaseGame.ini Deprecate unnecessary colors in AHUD in favor of using FColor statics #jira UE-30045 Change 2969008 on 2016/05/06 by Marc.Audy VS2015 Shadow Variable fixes found by CIS Change 2969315 on 2016/05/06 by John.Abercrombie Duplicating CL 2969279 from //Fortnite/Main/ Behavior tree auxilary nodes, parallel tasks, active tasks, and aborting tasks shouldn't be ticked while the behavior tree is paused -------- Integrated using branch //Fortnite/Main/_to_//UE4/Dev-Framework of change#2969279 by John.Abercrombie on 2016/05/06 14:21:40. Change 2969611 on 2016/05/06 by Marc.Audy Default bShowHUD to true Change 2971041 on 2016/05/09 by Marc.Audy Add Get/Set Actor/Component TickInterval functions and expose to blueprints Change 2971072 on 2016/05/09 by Marc.Audy Fix VS2015 shadow variables warnings Change 2971629 on 2016/05/09 by Marc.Audy PR#1981 (contributed by EverNewJoy) CheatManager is blueprintable (though very basic exposure at this time) and can be set from PlayerController DebugCameraController is now visible and can be subclassed and specified via CheatManager blueprint #jira UE-25901 Change 2971632 on 2016/05/09 by Marc.Audy Missed file from CL# 2971629 [CL 2972828 by Marc Audy in Main branch]
2016-05-10 16:00:39 -04:00
return ToolTipText;
}
UWorld* SLevelViewport::GetWorld() const
{
return ParentLevelEditor.IsValid() ? ParentLevelEditor.Pin()->GetWorld() : NULL;
}
void SLevelViewport::RemoveActorPreview( int32 PreviewIndex )
{
// Remove widget from viewport overlay
ActorPreviewHorizontalBox->RemoveSlot( ActorPreviews[PreviewIndex].PreviewWidget.ToSharedRef() );
// Clean up our level viewport client
if( ActorPreviews[PreviewIndex].LevelViewportClient.IsValid() )
{
ActorPreviews[PreviewIndex].LevelViewportClient->Viewport = NULL;
}
// Remove from our list of actor previews. This will destroy our level viewport client and viewport widget.
ActorPreviews.RemoveAt( PreviewIndex );
}
void SLevelViewport::AddOverlayWidget(TSharedRef<SWidget> OverlaidWidget)
{
ViewportOverlay->AddSlot()
[
OverlaidWidget
];
}
void SLevelViewport::RemoveOverlayWidget(TSharedRef<SWidget> OverlaidWidget)
{
ViewportOverlay->RemoveSlot(OverlaidWidget);
}
bool SLevelViewport::CanProduceActionForCommand(const TSharedRef<const FUICommandInfo>& Command) const
{
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>( LevelEditorName );
TSharedPtr<ILevelViewport> ActiveLevelViewport = LevelEditorModule.GetFirstActiveViewport();
if ( ActiveLevelViewport.IsValid() )
{
return ActiveLevelViewport == SharedThis(this);
}
return false;
}
void SLevelViewport::LockActorInternal(AActor* NewActorToLock)
{
if (NewActorToLock != NULL)
{
LevelViewportClient->SetActorLock(NewActorToLock);
if (LevelViewportClient->IsPerspective() && LevelViewportClient->GetActiveActorLock().IsValid())
{
LevelViewportClient->MoveCameraToLockedActor();
}
}
// Make sure the inset preview is closed if we are locking a camera that was already part of the selection set and thus being previewed.
OnPreviewSelectedCamerasChange();
}
bool SLevelViewport::GetCameraInformationFromActor(AActor* Actor, FMinimalViewInfo& out_CameraInfo)
{
// @todo camerapip: Could support actors other than cameras too! (Character views?)
//@TODO: CAMERA: Support richer camera interactions in SIE; this may shake out naturally if everything uses camera components though
TArray<UCameraComponent*> CamComps;
Actor->GetComponents<UCameraComponent>(CamComps);
for (UCameraComponent* CamComp : CamComps)
{
if (CamComp->bIsActive)
{
// first active camera, use it and be done
CamComp->GetCameraView(0.0f, out_CameraInfo);
return true;
}
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2859626 on 2016/02/08 by Max.Preussner Editor: Added SaveAs functionality to content asset editors Change 2859666 on 2016/02/08 by Max.Chen Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind. #jira UE-25616 Change 2859685 on 2016/02/08 by Max.Chen Sequencer: Add prompt to save sub level sequences if they are dirty #jira UE-26510 Change 2859715 on 2016/02/08 by Thomas.Sarkanen Adding actor spawning recording Actors are queued for record on spawn then added to the list like manually-specifed ones. Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned. Fixed infinite loop in FSequencer::AddSpawnable. Fixed visibility track instance to work with scene components as well as actors. Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters. Added particle recorder. Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood. Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface. Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine. Added a predicate version of UMovieScene::FindPossessable. Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys. Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion. Moved all recorders over to recording Actors or Components & store UObjects instead of AActors. Allowed skeletal animation tracks on components as well as actors. Change 2862675 on 2016/02/10 by Max.Chen Sequencer: Add option to link the sequencer curve editor with the sequencer timeline. Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges. #jira UE-25933 Change 2862699 on 2016/02/11 by Max.Chen Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times. #jira UE-26447, UE-26671 Change 2862712 on 2016/02/11 by Max.Chen Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components #jira UE-26390 Change 2862719 on 2016/02/11 by Max.Preussner Editor: Refactored detail customizations for colors, rotators, vectors - broke color and rotator customizations out into their own files - added vector customizations (placeholder) - cleaned up localization namespaces, forward declarations Change 2866454 on 2016/02/14 by Max.Preussner Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI Change 2866455 on 2016/02/14 by Thomas.Sarkanen Sequence recorder can now record replays Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording. Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding. Recompiled actor blueprints post-record if we added components. Fixed a null ptr dereference in FOrionTeamUIInfo::Update. Removed tolerances when reducing tracks - they are now 'very small'. Added actor filter so actors of certain classes can be recorded. Change 2866458 on 2016/02/14 by Max.Chen Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off. #jira UE-26390, UE-26671 Change 2866459 on 2016/02/14 by Max.Chen Sequencer: Add option to toggle visibility of combined keys Change 2866466 on 2016/02/14 by Frank.Fella Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint. Change 2866470 on 2016/02/14 by Max.Chen Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key. #jira UE-26837 Change 2866481 on 2016/02/14 by Max.Preussner Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513) #Jira: UE-24513 Change 2866482 on 2016/02/14 by Max.Chen Sequencer: Allow for any actor that has a camera component to be a camera cut. #jira UE-26777 Change 2866484 on 2016/02/14 by Thomas.Sarkanen Added in/out times to sequence recording Also added the optional ability to record different actor types (heroes, projectiles, minions). Change 2866495 on 2016/02/14 by Max.Chen Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback. #jira UE-26886 [CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
// see if any actors are attached to us, directly or indirectly, that have an active camera component we might want to use
// #note: assumption here that attachment cannot be circular
TArray<AActor*> AttachedActors;
Actor->GetAttachedActors(AttachedActors);
for (AActor* AttachedActor : AttachedActors)
{
if (GetCameraInformationFromActor(AttachedActor, out_CameraInfo))
{
return true;
}
}
// no active cameras
return false;
}
bool SLevelViewport::CanGetCameraInformationFromActor(AActor* Actor)
{
FMinimalViewInfo CameraInfo;
return GetCameraInformationFromActor(Actor, /*out*/ CameraInfo);
}
void SLevelViewport::TakeHighResScreenShot()
{
if( LevelViewportClient.IsValid() )
{
LevelViewportClient->TakeHighResScreenShot();
}
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
void SLevelViewport::OnFloatingButtonClicked()
{
// if one of the viewports floating buttons has been clicked, update the global viewport ptr
LevelViewportClient->SetLastKeyViewport();
}
#undef LOCTEXT_NAMESPACE