Files
UnrealEngineUWP/Engine/Source/Editor/WorkspaceMenuStructure/Private/WorkspaceMenuStructureModule.cpp

159 lines
5.5 KiB
C++
Raw Normal View History

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "WorkspaceMenuStructureModule.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 "Textures/SlateIcon.h"
#include "Framework/Docking/WorkspaceItem.h"
#include "WorkspaceMenuStructure.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 "EditorStyleSet.h"
IMPLEMENT_MODULE( FWorkspaceMenuStructureModule, WorkspaceMenuStructure );
#define LOCTEXT_NAMESPACE "UnrealEditor"
class FWorkspaceMenuStructure : public IWorkspaceMenuStructure
{
public:
virtual TSharedRef<FWorkspaceItem> GetStructureRoot() const override
{
return MenuRoot.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetLevelEditorCategory() const override
{
return LevelEditorCategory.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetLevelEditorViewportsCategory() const override
{
return LevelEditorViewportsCategory.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetLevelEditorDetailsCategory() const override
{
return LevelEditorDetailsCategory.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetLevelEditorModesCategory() const override
{
return LevelEditorModesCategory.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetToolsCategory() const override
{
return ToolsCategory.ToSharedRef();
}
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
virtual TSharedRef<FWorkspaceItem> GetDeveloperToolsDebugCategory() const override
{
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
return DeveloperToolsDebugCategory.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetDeveloperToolsLogCategory() const override
{
return DeveloperToolsLogCategory.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetDeveloperToolsMiscCategory() const override
{
return DeveloperToolsMiscCategory.ToSharedRef();
}
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
virtual TSharedRef<FWorkspaceItem> GetAutomationToolsCategory() const override
{
return AutomationToolsCategory.ToSharedRef();
}
virtual TSharedRef<FWorkspaceItem> GetEditOptions() const override
{
return EditOptions.ToSharedRef();
}
void ResetLevelEditorCategory()
{
LevelEditorCategory->ClearItems();
LevelEditorViewportsCategory = LevelEditorCategory->AddGroup(LOCTEXT( "WorkspaceMenu_LevelEditorViewportCategory", "Viewports" ), LOCTEXT( "WorkspaceMenu_LevelEditorViewportCategoryTooltip", "Open a Viewport tab." ), FSlateIcon(FEditorStyle::GetStyleSetName(), "LevelEditor.Tabs.Viewports"), true);
LevelEditorDetailsCategory = LevelEditorCategory->AddGroup(LOCTEXT("WorkspaceMenu_LevelEditorDetailCategory", "Details" ), LOCTEXT("WorkspaceMenu_LevelEditorDetailCategoryTooltip", "Open a Details tab." ), FSlateIcon(FEditorStyle::GetStyleSetName(), "LevelEditor.Tabs.Details"), true );
LevelEditorModesCategory = LevelEditorCategory->AddGroup(LOCTEXT("WorkspaceMenu_LevelEditorToolsCategory", "Tools" ), FSlateIcon(FEditorStyle::GetStyleSetName(), "LevelEditor.Tabs.EditorModes"), true );
}
void ResetToolsCategory()
{
ToolsCategory->ClearItems();
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
// Developer tools sub menu
DeveloperToolsCategory = ToolsCategory->AddGroup(LOCTEXT("WorkspaceMenu_DeveloperToolsCategory", "Developer Tools"), FSlateIcon(FEditorStyle::GetStyleSetName(), "DeveloperTools.MenuIcon"));
// Developer tools sections
DeveloperToolsDebugCategory = DeveloperToolsCategory->AddGroup(LOCTEXT("WorkspaceMenu_DeveloperToolsDebugCategory", "Debug"), FSlateIcon(), true);
DeveloperToolsLogCategory = DeveloperToolsCategory->AddGroup(LOCTEXT("WorkspaceMenu_DeveloperToolsLogCategory", "Log"), FSlateIcon(), true);
DeveloperToolsMiscCategory = DeveloperToolsCategory->AddGroup(LOCTEXT("WorkspaceMenu_DeveloperToolsMiscCategory", "Miscellaneous"), FSlateIcon(), true);
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
// Automation tools sub menu
AutomationToolsCategory = FWorkspaceItem::NewGroup(LOCTEXT("WorkspaceMenu_AutomationToolsCategory", "Automation Tools"), FSlateIcon(), true);
}
public:
FWorkspaceMenuStructure()
: MenuRoot ( FWorkspaceItem::NewGroup(LOCTEXT( "WorkspaceMenu_Root", "Menu Root" )) )
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
, LevelEditorCategory ( MenuRoot->AddGroup(LOCTEXT( "WorkspaceMenu_LevelEditorCategory", "Level Editor" ), FSlateIcon(), true) )
, ToolsCategory ( MenuRoot->AddGroup(LOCTEXT( "WorkspaceMenu_ToolsCategory", "General" ), FSlateIcon(), true) )
, EditOptions( FWorkspaceItem::NewGroup(LOCTEXT( "WorkspaceEdit_Options", "Edit Options" )) )
{
ResetLevelEditorCategory();
ResetToolsCategory();
}
virtual ~FWorkspaceMenuStructure() {}
private:
TSharedPtr<FWorkspaceItem> MenuRoot;
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
TSharedPtr<FWorkspaceItem> LevelEditorCategory;
TSharedPtr<FWorkspaceItem> LevelEditorViewportsCategory;
TSharedPtr<FWorkspaceItem> LevelEditorDetailsCategory;
TSharedPtr<FWorkspaceItem> LevelEditorModesCategory;
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
TSharedPtr<FWorkspaceItem> ToolsCategory;
TSharedPtr<FWorkspaceItem> DeveloperToolsCategory;
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
TSharedPtr<FWorkspaceItem> DeveloperToolsDebugCategory;
TSharedPtr<FWorkspaceItem> DeveloperToolsLogCategory;
TSharedPtr<FWorkspaceItem> DeveloperToolsMiscCategory;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3082391) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3051464 on 2016/07/15 by Nick.Darnell Regression Testing - Several upgrades to the functional testing system, better tracking of failure cases, some source line failure detection, trying to make it easier to run a specific test on a map. Some UI improvements, easier access to the automation system. Lots more refactoring to come, lots of improvements are still needed in transmitting screenshots and just generally building a automation report we could dump from the build machines. Change 3051465 on 2016/07/15 by Nick.Darnell Adding the "Engine Test" project our one stop shope for running automation tests in the engine to try and reduce regressions. Change 3051847 on 2016/07/15 by Matt.Kuhlenschmidt Fixed material editor viewport messages being blocked by viewport toolbar Change 3052025 on 2016/07/15 by Nick.Darnell Moving the placement mode hooks out of functional testing module, moving them into the editor automation module. Change 3053508 on 2016/07/18 by Stephan.Jiang Copy,Cut,Paste tracks, not for mastertracks yet. #UE-31808 Change 3054723 on 2016/07/18 by Stephan.Jiang Small fixes for typo & comments Change 3055996 on 2016/07/19 by Trung.Le PIE: No longer auto resume game in PIE on focus received Change 3056106 on 2016/07/19 by Trung.Le Back out changelist 3055996. Build break. Change 3056108 on 2016/07/19 by Stephan.Jiang Updating "SoundConcurrency" asseticon Change 3056389 on 2016/07/19 by Trung.Le PIE: No longer auto resume game in PIE on focus received #jira UE-33339 Change 3056396 on 2016/07/19 by Matt.Kuhlenschmidt More perf selection improvements: - Static meshes now go through the static draw path when rendered for selection outline instead of just rendering using the dynamic path Change 3056758 on 2016/07/19 by Stephan.Jiang Update SelectedWidgets in WidgetblueprintEditor to match the selected tracks in sequencer. Change 3057519 on 2016/07/20 by Matt.Kuhlenschmidt Another fix for selecting lots of objects taking forever. This one is due to repeated Modify calls if there are groups in the selection. Each group actor selected iterates through each object selected during USelection::Modify! Change 3057635 on 2016/07/20 by Stephan.Jiang Updating visual logger icon UI Change 3057645 on 2016/07/20 by Richard.TalbotWatkin Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions. #jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server Change 3057868 on 2016/07/20 by Richard.TalbotWatkin Spline component improvements, both tools and runtime: - SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value. - The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding. - Added a custom version for SplineComponent and provded serialization fixes. - Added a details customization to SplineComponent to hide the raw FInterpCurve properties. - Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer. - Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending. - Allowed an explicit loop point to be specified for closed splines. - Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal. - Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key. - Fixed the logic which determines whether the UCS has modified the spline curves. - Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS. - Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype. - Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled. #jira UETOOL-766 - Spline tool improvements #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport #jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point #jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level) #jira UE-13082 - Users would like a snapping feature for splines #jira UE-13568 - Additional Spline Component Functionality #jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport. Change 3057895 on 2016/07/20 by Richard.TalbotWatkin Mesh paint bugfixes and improvements. Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed. This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list. #jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab #jira UE-32279 - Editor crashes when reselecting a mesh in paint mode #jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75] #jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting Change 3057966 on 2016/07/20 by Richard.TalbotWatkin Renamed IsEditingArchetype to IsVisualizingArchetype in the ComponentVisualizer API. #jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport Change 3058009 on 2016/07/20 by Richard.TalbotWatkin Fixed build failure due to changes to FComponentVisualizer API, as of CL 3057868. Change 3058047 on 2016/07/20 by Stephan.Jiang Fixing error on previous CL: 3056758 (extra qualification) Change 3058266 on 2016/07/20 by Nick.Darnell Automation - Work continues on automation integrating some ideas form a licensee. Continuing to work on the usability aspects, I've made it possible for tests to provide custom open commands, as well as have complex subclasses that do different things. The functional tests now have a custom open command they emit that makes it so clicking on a test opens not the C++ location where the functional test macro lives, but instead the map, AND focuses the functional test actor. Change 3058282 on 2016/07/20 by Matt.Kuhlenschmidt PR #2611: Fix spurious component diff when properties are in subcategories (Contributed by CA-ADuran) Change 3059214 on 2016/07/21 by Richard.TalbotWatkin Further fixes to visualizers following Component Visualizer API change. Change 3059260 on 2016/07/21 by Richard.TalbotWatkin Template specialization not allowed in class scope, but Visual Studio allows it anyway. Fixed for clang. Change 3059543 on 2016/07/21 by Stephan.Jiang Changeing level details icon Change 3059732 on 2016/07/21 by Stephan.Jiang Directional Light icon update Change 3060095 on 2016/07/21 by Stephan.Jiang Directional Light editor icon asset changed Change 3060129 on 2016/07/21 by Nick.Darnell Automation - The session browser now attempts to select the app instance if no other thing is selected when it refreshes. This is to try and make it easier to use when you first bring it up and nothing is selected when most of the time you're going to use it on your own instance. Change 3061735 on 2016/07/22 by Stephan.Jiang Improve UMG replace with in HierarchyView function #UE-33582 Change 3062059 on 2016/07/22 by Stephan.Jiang Strip off "b" in propertyname in replace with function for tracks. Change 3062146 on 2016/07/22 by Stephan.Jiang checkin with CL: 3061735 Change 3062182 on 2016/07/22 by Stephan.Jiang Change both animation bindings' widget name when renameing the widget so the slot content is still valid Change 3062257 on 2016/07/22 by Stephan.Jiang comments Change 3062381 on 2016/07/22 by Nick.Darnell Build - Adding #undef LOCTEXT_NAMESPACE to try and fix the build. Change 3062924 on 2016/07/25 by Chris.Wood Fix a crash in CrashReportClient that happens when the CrashReportReceiver is not responding to pings and there are no PendingReportDirectories. This is a change in the UE4 stream depot based on a fix in the Fortnite stream depot -> JIRA FORT-27570 Change 3063017 on 2016/07/25 by Matt.Kuhlenschmidt PR #2618: DebuggerCommand not recording PlayLocationString (Contributed by ungalyant) Change 3063021 on 2016/07/25 by Matt.Kuhlenschmidt PR #2619: added a search box to ModuleUI (Contributed by straymist) Change 3063084 on 2016/07/25 by Matt.Kuhlenschmidt Fix "YesToAll" when deleting referenced actors overriding the "YesToAll" state for other referenced messages. https://jira.ol.epicgames.net/browse/UE-33651 #jira UE-33651 Change 3063091 on 2016/07/25 by Alex.Delesky #jira UE-32949 - Truncating the hue inside the theme color block tooltip to only display whole numbers, to match how the color picker displays the hue value inside the hue scrubber. Change 3063388 on 2016/07/25 by Matt.Kuhlenschmidt Selection Perf: - Fix large FName creation time when selecting thousands of objects Change 3063568 on 2016/07/25 by Matt.Kuhlenschmidt Selection Perf: - Modified how USelection stores classes. Classes are now in a TSet and can be accessed efficiently using IsClassSelected. The old unused way of checking if a selection has a class by iterating through them is deprecated - USelection no longer directly checks if an item is already selected with a costly n^2 search. The check is done by using the already existing UObject selected annotation - Object property nodes no longer perform an n^2 check for object uniqueness when objects are added to details panels. This is now left up to the caller to avoid - Eliminated useless work on FObjectPropertyNode::GetReadAddressUncached. If a read address list is not passed in we'll not attempt to the work to populate it - Removed expensive checking for brush actors when any actor is selected Change 3063749 on 2016/07/25 by Stephan.Jiang Disallow naming the widgetanimation to the same name with a override function in uuserwidget, because it will trigger a breakpoint in Rename() #jira UE-33711 Change 3064585 on 2016/07/26 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3064612 on 2016/07/26 by Alex.Delesky #jira UE-33712 - Deleting many assets at once will now batch SourceControl commands rather than executing one for each asset. Change 3064647 on 2016/07/26 by Alexis.Matte #jira UE-33274 dont hash the same file over and over when importing multiple asset from one fbx file. Change 3064739 on 2016/07/26 by Matt.Kuhlenschmidt Fixed typo Change 3064795 on 2016/07/26 by Jamie.Dale Fixed typo in FLocalizationModule::GetLocalizationTargetByName #jira UE-32961 Change 3066461 on 2016/07/27 by Jamie.Dale Enabled stable localization keys Change 3066463 on 2016/07/27 by Jamie.Dale Set "Build Engine Localization" to upload all cultures to ensure we don't lose translation due to the archive keying changes Change 3066467 on 2016/07/27 by Jamie.Dale Updated internationalization archives to store translations per-identity This allows translators to translate each instance of a piece of text based upon their context, rather than requiring a content producer to go back and give the entry a unique namespace. It also allows us to optionally compile out-of-date translations, as they are now mapped to their source identity (namespace + key) rather than their source text. Major changes: - Added FLocTextHelper. This acts as a high-level API for uncompiled localized text, and replaces all the old ad-hoc loading/saving of manifests and archives, ensuring that everything is consistently using source control, and that older archives can be upgraded correctly to the new format. It also takes care of some of the quirks of our archives, such as native translations. All major localization commandlets have been updated to use FLocTextHelper. - Moved FTextLocalizationResourceGenerator from Core to Internationalization. This also allows IJsonInternationalizationManifestSerializer and IJsonInternationalizationArchiveSerializer to be removed, and for FJsonInternationalizationManifestSerializer and FJsonInternationalizationArchiveSerializer to have all their functions become static. - FTextLocalizationResourceGenerator being moved from Core meant that FTextLocalizationManager::LoadFromManifestAndArchives was also removed. This functionality is now handled by FTextLocalizationResourceGenerator::GenerateAndUpdateLiveEntriesFromConfig. - The RepairLocalizationData commandlet has been removed. This existed to fix a change that pre-dated 4.0 so no such data should exist in the wild, and the commandlet couldn't be updated to work with the new API (we handle format upgrades in-place now). - Removed FInternationalizationArchive::FindEntryBySource as it is no-longer safe to use. All existing code has been updated to use FInternationalizationArchive::FindEntryByKey instead. Workflow changes: - Archive conditioning now only adds new entries if they don't exist in the archive. This allows us to persist any existing translations, even if they're for old source text (caveat: native archives still update existing entries if the source is changed). - PO export now sets the msgctx for each entry to be "namespace,key", rather than only doing it when the entry had key meta-data. - PO import will now update both the source and translation stored in the archive to match the current PO data. This is the primary method by which stale source->translation pairs are updated. - LocRes compilation may now optionally compile stale translations. There's an option controlling this (defaulted to off) that can be changed via the Localization Dashboard (or added to an existing config file). Format changes: - The archive version was bumped to 2. - Archive entries now use the "Key" entry to store the key from the source text. Previously this "Key" entry was used to store the key meta-data, but that now exists within a "MetaData" sub-object. Loading handles this correctly based upon the archive version. #jira UETOOL-897 #jira UETOOL-898 #jira UE-29481 Change 3066487 on 2016/07/27 by Matt.Kuhlenschmidt Attempt to fix linux compilation Change 3066504 on 2016/07/27 by Matt.Kuhlenschmidt Fixed data tables with structs crashing due to recent editor selection optimizations Change 3066886 on 2016/07/27 by Jamie.Dale Added required data to accurately detect TZ (needed for DST) #jira UE-28511 Change 3067122 on 2016/07/27 by Jamie.Dale Added AsTime, AsDateTime, and AsDate overrides to BP to let you format a UTC time in a given timezone (default is the local timezone). Previously you could only format times using the "invariant" timezone, which assumed that the time was already specified in the correct timezone for display. Change 3067227 on 2016/07/27 by Jamie.Dale Added a test to verify that the ICU timezone is set correctly to produce local time (including DST) Change 3067313 on 2016/07/27 by Richard.TalbotWatkin Fixed SplineComponent constructor so that old assets (prior to the property changes) load correctly if they had properties at default values. #jira UE-33669 - Crash in Dev-Editor Change 3067736 on 2016/07/27 by Stephan.Jiang Border changes for experimental classes warning Change 3067769 on 2016/07/27 by Stephan.Jiang HERE BE DRAGONS for experimental class warning #UE-33780 Change 3068192 on 2016/07/28 by Alexis.Matte #jira UE-33586 make sure we remove any false warning when running fbx automation test. Change 3068264 on 2016/07/28 by Jamie.Dale Removed some code that was no longer needed and could cause a crash #jira UE-33342 Change 3068293 on 2016/07/28 by Alex.Delesky #jira UE-33620 - Comments on constant and parameter nodes in the Material Editor will now persist when converting them. Change 3068481 on 2016/07/28 by Stephan.Jiang Adding Options to show/hide soft & hard references & dependencies in References Viewer #jira UE-33746 Change 3068585 on 2016/07/28 by Richard.TalbotWatkin Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX. Change 3068701 on 2016/07/28 by Matt.Kuhlenschmidt Fixed some issues with the selected classes not updating when objects are deselected Change 3069335 on 2016/07/28 by Jamie.Dale Fixed unintended error when trying to load a manifest/archive that didn't exist Fixed a warning when trying to load a PO file that didn't exist Change 3069408 on 2016/07/28 by Alex.Delesky #jira UE-33429 - The editor should no longer hit an ensure if the user attempts to drop a tab into a tab well before the tab well has a chance to acknowledge its been dragged into a tab well. Change 3069878 on 2016/07/29 by Jamie.Dale Fixed include casing #jira UE-33910 Change 3071807 on 2016/08/01 by Matt.Kuhlenschmidt PR #2654: Fix the spell'ing of "diff'ing" and "diff'd". (Contributed by geary) Change 3071813 on 2016/08/01 by Jamie.Dale Fixed include casing #jira UE-33936 Change 3072043 on 2016/08/01 by Jamie.Dale Fixed FText formatting of pre-Gregorian dates We now convert to an ICU UDate via an ICU GregorianCalendar, as UE4 and ICU have a different time scale for pre-Gregorian dates. #jira UE-14504 Change 3072066 on 2016/08/01 by Jamie.Dale PR #2590: FEATURE: Collapse/expand folders in the outliner (Contributed by projectgheist) Change 3072149 on 2016/08/01 by Jamie.Dale We no longer use the editor culture when running with -game Change 3072169 on 2016/08/01 by Richard.TalbotWatkin A couple of changes to the BSP code: * Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode. * Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices. #jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used #jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume Change 3072221 on 2016/08/01 by Jamie.Dale Fixed "Launch On" not providing the correct cultures to StartCookByTheBookInEditor #jira UE-33001 Change 3073389 on 2016/08/02 by Matt.Kuhlenschmidt Added ability to vsync the editor. Disabled by default. Set r.VSyncEditor to 1 to enable it. Reimplemented this change from the siggraph demo stream Change 3073396 on 2016/08/02 by Matt.Kuhlenschmidt Removed unused code as suggested by a pull request Change 3073750 on 2016/08/02 by Richard.TalbotWatkin Fixed formatting (broken in CL 3057895) in anticipation of merge from Main. Change 3073789 on 2016/08/02 by Jamie.Dale Added a way to mark text in text properties as culture invariant This allows you to flag properties containing text that doesn't need to be gathered. #jira UE-33713 Change 3073825 on 2016/08/02 by Stephan.Jiang Material Editor: Highligh all Nodes connect to an input. #jira UE-32502 Change 3073947 on 2016/08/02 by Stephan.Jiang UMG Project settings to show/hide different classes and categories in Palette view. --under Project Settings ->Editor->UMG Editor Change 3074012 on 2016/08/02 by Stephan.Jiang Minor changes and comments for CL: 3073947 Change 3074029 on 2016/08/02 by Jamie.Dale Deleting folders in the Content Browser now removes the folder from disk #jira UE-24303 Change 3074054 on 2016/08/02 by Matt.Kuhlenschmidt Added missing stats to track pooled vertex and index buffer cpu memory A new slate allocator was added to track memory usage for this case. Change 3074056 on 2016/08/02 by Matt.Kuhlenschmidt Renamed a few slate stats for consistency Change 3074810 on 2016/08/02 by Matt.Kuhlenschmidt Moved geometry cache asset type to the animation category. It is not a basic asset type Change 3074826 on 2016/08/02 by Matt.Kuhlenschmidt Fix a few padding and sizing issues Change 3075322 on 2016/08/03 by Matt.Kuhlenschmidt Settings UI improvements * Added the ability to search through all settings at once * Settings files which are not checked out are no longer grayed out. The editor now attempts to check out the file automatically if connected to source control and if that fails it marks the settings file writiable so it can save the setting properly ------- * This change adds a refactor to the details panel to support multiple top level objects existing in the details panel at once instead of combining all passed in objects to a single common base class. This is disabled by default but can be turned on setting bAllowMultipleTopLevelObjects to true in FDetailsViewArgs when creating a details panel. * Each top level object in a details panel will get their own customization instance. This made it necessary to deprecate a IDetailsView::GetBaseClass since there is no longer guaranteed to be one base class. *Details panels can have their own customization for each "root object header" in order to customize the look of having multiple top level objects in the details panel. Change 3075369 on 2016/08/03 by Matt.Kuhlenschmidt Removed FBX scene as a top level option in asset filter menu in the content browser. Change 3075556 on 2016/08/03 by Matt.Kuhlenschmidt Mac warning fix Change 3075603 on 2016/08/03 by Nick.Darnell Adding two new plugins to engine, one for editor and one for runtime based testing. Currently the only consumer of these plugins is going to be the EngineTest project. Change 3075605 on 2016/08/03 by Nick.Darnell Functional Testing - Continued work on cleanup, reorganization, trying to improve the workflow for using the session browser. Change 3076084 on 2016/08/03 by Jamie.Dale Added basic support for localizing plugins You can now localize plugins! There's no localization dashboard integration for this so it has to be done manually. You need to define the localization targets your plugin uses in its .uplugin file, eg) "LocalizationTargets": [ { "Name": "Paper2D", "LoadingPolicy": "Always" } ] "Name" should match a localization config under the Config/Localization folder for your plugin. These configs are set-up the same as any other localization config. "LoadingPolicy" may be one of Never, Always, Editor, Game, PropertyNames, or ToolTips. This allows you to control under what conditions your localizations should be loaded (eg, if your plugin has both game and editor data, you can separate the editor data off into its own localization target that's only loaded by the editor). UAT has been updated to support gathering from plugins. You can use the "IncludePlugins" flag to have it gather all plugins, or you can specify a whitelist of plugins to gather as an argument to "IncludePlugins", or alternatively, may blacklist certain plugins via "ExcludePlugins". It can now also support out-of-source gathering via the "UEProjectRoot" argument (previously it assumed that everything would be under the UE4 install/checkout directory). UAT has been updated to support staging plugin LocRes files. It will stage any plugin targets that are enabled for a game/client build, and are also from a plugin that's enabled for your project. #jira UE-4217 Change 3076123 on 2016/08/03 by Stephan.Jiang Extend "Select all input nodes" function to general blueprint editor Change 3077103 on 2016/08/04 by Jamie.Dale Added support for underlined text rendering (including with drop-shadows) FTextBlockStyle can now specify a brush to use to draw an underline for text (a suitable default would be "DefaultTextUnderline" from FCoreStyle). When a brush is specified here, we inject FSlateTextUnderlineLineHighlighter highlights into the text layout to draw the underline under the relevant pieces of text, using the correct color, position, and thickness. FSlateFontCache::GetUnderlineMetrics and FSlateFontRenderer::GetUnderlineMetrics have been added to handle getting the underline metrics (which are slightly different to the baseline). This change also adds FTextLayout::RemoveRunRenderer and FTextLayout::RemoveLineHighlight to fix some bad assumptions that FSlateEditableTextLayout and FTextBlockLayout were making about ownership of run renderers and line highlighters that could cause them to remove instances they didn't own (such as the new underline highlighter) when updating things like the cursor position or highlight. Change 3077842 on 2016/08/04 by Jamie.Dale Fixed fallout from API changes Change 3077999 on 2016/08/04 by Jamie.Dale Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading This prevents it being incorrectly set by other operations, such as counting memory used by font data. #jira UE-34252 Change 3078000 on 2016/08/04 by Trung.Le Categories VREditor-specific UMG widget assets as "VR Editor" #jira UE-34134 Change 3078056 on 2016/08/04 by Nick.Darnell Build - Fixing a mac compiler warning, reodering constructor initializers. Change 3078813 on 2016/08/05 by Nick.Darnell Reorganizing editor tests, establishing plugins in the EditorTest project that will house the tests. Change 3078818 on 2016/08/05 by Nick.Darnell Additional rename and cleanup associated with test moving. Change 3078819 on 2016/08/05 by Nick.Darnell Removing the Oculus performance automation test, not running, and was unclaimed. Change 3078842 on 2016/08/05 by Nick.Darnell Continued reorganizing tests. Change 3078897 on 2016/08/05 by Nick.Darnell Additional changes to get some moved tests compiling Change 3079157 on 2016/08/05 by Nick.Darnell Making it possible to browse provider names thorugh the source control module interface. Change 3079176 on 2016/08/05 by Stephan.Jiang Add shortcut Ctrl+Shift+Space to rotate through different viewport options #jira UE-34140 Change 3079208 on 2016/08/05 by Stephan.Jiang Fix new animation name check in UMG Change 3079278 on 2016/08/05 by Nick.Darnell Fixing the build Change 3080555 on 2016/08/08 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3081155 on 2016/08/08 by Nick.Darnell Fixing some issues with the editor tests / runtime tests under certain build configs. Change 3081243 on 2016/08/08 by Stephan.Jiang Add gesture in LevelViewport to switch between Top/Bottom...etc. Change 3082226 on 2016/08/09 by Matt.Kuhlenschmidt Work around animations not playing in paragon due to bsp rebuilds (UE-34391) Change 3082254 on 2016/08/09 by Stephan.Jiang DragTool_ViewportChange init changes [CL 3082411 by Matt Kuhlenschmidt in Main branch]
2016-08-09 11:28:56 -04:00
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<FWorkspaceItem> AutomationToolsCategory;
Window menu refactor & polish - Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes. - Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely. - Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category. - Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly. - Added & updated lots of icons! (those missing will be TTP'd) - The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability. - Unreal frontend options were also moved into a context menu within the General section - Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category - Undo history now under Edit menu [CL 2324285 by Dan Hertzka in Main branch]
2014-10-09 12:34:55 -04:00
TSharedPtr<FWorkspaceItem> EditOptions;
};
void FWorkspaceMenuStructureModule::StartupModule()
{
WorkspaceMenuStructure = MakeShareable(new FWorkspaceMenuStructure);
}
void FWorkspaceMenuStructureModule::ShutdownModule()
{
WorkspaceMenuStructure.Reset();
}
const IWorkspaceMenuStructure& FWorkspaceMenuStructureModule::GetWorkspaceMenuStructure() const
{
check(WorkspaceMenuStructure.IsValid());
return *WorkspaceMenuStructure;
}
void FWorkspaceMenuStructureModule::ResetLevelEditorCategory()
{
check(WorkspaceMenuStructure.IsValid());
WorkspaceMenuStructure->ResetLevelEditorCategory();
}
void FWorkspaceMenuStructureModule::ResetToolsCategory()
{
check(WorkspaceMenuStructure.IsValid());
WorkspaceMenuStructure->ResetToolsCategory();
}
#undef LOCTEXT_NAMESPACE