Files
UnrealEngineUWP/Engine/Source/Editor/MaterialEditor/Private/MaterialEditorActions.cpp

198 lines
13 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MaterialEditorActions.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 "Misc/ConfigCacheIni.h"
#include "Materials/MaterialExpression.h"
#include "MaterialGraph/MaterialGraphSchema.h"
#include "Materials/MaterialExpressionComment.h"
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 2973866) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2937390 on 2016/04/07 by Cody.Albert #jira UE-29211 Fixed slider to properly bubble unhandled OnKeyDown events Change 2939672 on 2016/04/11 by Richard.TalbotWatkin Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled. This also allows multiple packages which are dirtied at the same time to be treated as one transaction. #jira UE-29193 - "Files need check-out" prompt spams Blueprint users Change 2939686 on 2016/04/11 by Richard.TalbotWatkin A number of further improvements to mesh vertex color painting: * Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine. * Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0. * Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds. * Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors). #jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected Change 2939906 on 2016/04/11 by Nick.Darnell Automation - Adding several enhancements to the automation framework and improving the UI. * Tests in the UI now have a link to the source and line where they orginate. * There's now a general purpose latent lambda command you can use to run arbitrary code latently. * Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code. * Front end now has better column displays offering more room to the test name * Changed several events to the automation controller to multicast delegates so that many could hook them. * The UI now refreshes the selection after tests finish so that the output log updates. Change 2939908 on 2016/04/11 by Nick.Darnell Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s) Change 2940028 on 2016/04/11 by Nick.Darnell Automation - Removing the search box from the toolbar. It's now inlined above the test tree. Tweaking the padding to make it look more other windows and make everything not look so squished. Recursive expansion now works on tests. Change 2940066 on 2016/04/11 by Nick.Darnell Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it. Change 2940092 on 2016/04/11 by Jamie.Dale PR #2248: Datatable select next row (Contributed by FineRedMist) Change 2940093 on 2016/04/11 by Jamie.Dale PR #2248: Datatable select next row (Contributed by FineRedMist) Change 2940157 on 2016/04/11 by Jamie.Dale Fixing FTextTest due to some changes made to how currency is formatted Change 2940694 on 2016/04/12 by Richard.TalbotWatkin Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs. #jira UE-29360 - Override Colors not propagated correctly to generated lower LODs Change 2942379 on 2016/04/13 by Richard.TalbotWatkin Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode. This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists. This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed. #jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing Change 2942947 on 2016/04/13 by Richard.TalbotWatkin Fixed crash when pasting a material function call node from one project to another in which it is not defined. #jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects Change 2943452 on 2016/04/14 by Richard.TalbotWatkin Updated F4 debug key binding to match what's in ShowFlags.cpp PR #2197 (contributed by mfortin-bhvr) Change 2943824 on 2016/04/14 by Alexis.Matte #jira UE-29090 Make sure we cannot open the color picker when a property is edit const Change 2943841 on 2016/04/14 by Alexis.Matte #jira UE-28924 tooltip was add for every hierarchy import option Change 2943927 on 2016/04/14 by Alexis.Matte #jira UE-29423 Add Obj support for scene importer Github PR #2272 Change 2943967 on 2016/04/14 by Richard.TalbotWatkin Added relevant fields from FBodyInstance to the FoliageType customizations. #jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties Change 2948397 on 2016/04/19 by Andrew.Rodham Moved FSlateIcon definition to SlateCore It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale. Change 2948805 on 2016/04/19 by Andrew.Rodham Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used. - Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name. - This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic. #jira UE-26502 Change 2950658 on 2016/04/20 by Alexis.Matte #jira UE-24333 Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix Change 2950663 on 2016/04/20 by Alexis.Matte #jira UE-29582 When exporting to fbx we have to export each material instance as one fbx material Change 2951240 on 2016/04/21 by Alexis.Matte #jira UE-28473 Make sure light are render properly after importing a fbx scene Change 2951421 on 2016/04/21 by Alexis.Matte #jira UE-29773 fbx skeletalmesh import now support mesh hierarchy Change 2955873 on 2016/04/26 by Richard.TalbotWatkin PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist) Change 2955965 on 2016/04/26 by Nick.Darnell Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 2956717 on 2016/04/26 by Andrew.Rodham Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations #jira UE-26968 Change 2956822 on 2016/04/26 by Andrew.Rodham Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame #jira UE-7777 Change 2956931 on 2016/04/26 by Nick.Darnell New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger. Change 2956932 on 2016/04/26 by Nick.Darnell Plugins - Now allowing you to package a plugin from the plugin browsing view. Still work in progress. Change 2957164 on 2016/04/26 by Nick.Darnell Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager. Making the copy constructor private on the module manager to prevent this in the future. Change 2957165 on 2016/04/26 by Nick.Darnell Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets. #jira UE-28456 Change 2957510 on 2016/04/27 by Nick.Darnell PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts) #jira UE-28763 Change 2957511 on 2016/04/27 by Andrew.Rodham Editor: Make favorites button on details panel non-focusable - This was preventing users being able to tab between value fields on the details panel Change 2957610 on 2016/04/27 by Nick.Darnell PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts) #jira UE-24190 Change 2957667 on 2016/04/27 by Jamie.Dale Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location #jira OR-18634 Change 2958035 on 2016/04/27 by Nick.Darnell Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required. Change 2958272 on 2016/04/27 by Jamie.Dale Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName. #jira UE-12096 Change 2958348 on 2016/04/27 by Jamie.Dale PR #2282: Slate font shutdown order fix (Contributed by FineRedMist) Change 2958352 on 2016/04/27 by Jamie.Dale Fixed the subtitle manager updating the wrong list of subtitles #jira UE-29511 Change 2958390 on 2016/04/27 by Jamie.Dale Removed some old placement-new style array insertions Change 2959360 on 2016/04/28 by Richard.TalbotWatkin Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered. #jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127] Change 2959724 on 2016/04/28 by Cody.Albert Merging hardware survey gating logic from 4.10 #jira UE-28666 Change 2959807 on 2016/04/28 by Cody.Albert Removed deprecated function call #jira UE-28666 Change 2959894 on 2016/04/28 by Cody.Albert Fix for scroll offset being clamped by content size, not scroll max #jira UE-20676 Change 2960048 on 2016/04/28 by Jamie.Dale Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue #jira UE-12096 Change 2960782 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2960885 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2961170 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2961171 on 2016/04/29 by Jamie.Dale Updating code to use the new FText aware asset registry tag functions #jira UE-12096 Change 2961173 on 2016/04/29 by Jamie.Dale Removed some inline duplication on the specialized template functions #jira UE-12096 Change 2963124 on 2016/05/02 by Jamie.Dale FExternalDragOperation can now contain both text and file data at the same time This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time. #jira UE-26585 Change 2963175 on 2016/05/02 by Jamie.Dale Updated some font editor tooltips to be more descriptive #jira UE-17429 Change 2963290 on 2016/05/02 by Jamie.Dale The Localise UAT command can now be run with a null localisation provider Change 2963305 on 2016/05/02 by Jamie.Dale Fixed minor typo Change 2963402 on 2016/05/02 by Jamie.Dale Cleaned up all the current localization key conflicts and warnings from gathering Engine code #jira UE-25833 Change 2963415 on 2016/05/02 by Jamie.Dale Rephrased a message that could generate a CIS warning #jira UE-25833 Change 2964184 on 2016/05/03 by Jamie.Dale Fixed duplicate "Font" entry in asset picker menu This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI. We also now make sure the factories are sorted by display name before being shown in the UI. #jira UE-24903 Change 2966108 on 2016/05/04 by Nick.Darnell Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules. Change 2966113 on 2016/05/04 by Nick.Darnell [Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine. This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game. Therefore, UGameEngine now tells the GameInstance to Start during this phase now. Change 2966121 on 2016/05/04 by Jamie.Dale Config writing improvements when dealing with property values This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted. This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it. FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case. UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge). Change 2966122 on 2016/05/04 by Jamie.Dale Added a setting to control dialogue wave audio filenames Change 2966481 on 2016/05/04 by Jamie.Dale PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist) Change 2966887 on 2016/05/04 by Jamie.Dale PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist) Change 2967488 on 2016/05/05 by Ben.Marsh Changes to support packaging plugins from the editor. * UBT now has an option to explicitly disable hot-reloading in any circumstances. * When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game). * When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory. * An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present. Change 2967947 on 2016/05/05 by Nick.Darnell PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic) #jira UE-30371 Change 2968333 on 2016/05/05 by Jamie.Dale Fixed MultiLine not working with arrays of string or text properties - The detail customizations for FString and FText properties now read the meta-data off the correct property. - The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties. - Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor. - Fixed the default values panel in the UDS editor having a title area. #jira UE-30392 Change 2968999 on 2016/05/06 by Jamie.Dale Fixed infinite loop in the editor if a directory that is being watched is deleted #jira UE-30172 Change 2969105 on 2016/05/06 by Richard.TalbotWatkin Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action. #jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option Change 2969440 on 2016/05/06 by Jamie.Dale Significant performance improvements when pasting a large amount of text #jira UE-19712 Change 2969619 on 2016/05/06 by Andrew.Rodham Auto-reimport is now disabled inside an editor running in unattended mode Change 2969621 on 2016/05/06 by Jamie.Dale Added the ability to override the subtitle used on a dialogue wave This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player. #jira UETOOL-795 Change 2970588 on 2016/05/09 by Chris.Wood Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic() [UE-26958] - GitHub 2056 : Fixing typo in the operator #2056 Change 2971151 on 2016/05/09 by Chris.Wood Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful. [UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result. [UE-26575] - GitHub 2030 : Add error-severity message to log on ensure. PR #2030 Change 2971267 on 2016/05/09 by Alexis.Matte Wrong parameter when calling GetImportOptions #jira UE-30299 Change 2972073 on 2016/05/10 by Richard.TalbotWatkin Fixed UModel methods which make surfaces as modified. #jira UE-28831 - Unable to undo material placement on BSP Change 2972329 on 2016/05/10 by Nick.Darnell Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 2972887 on 2016/05/10 by Alexis.Matte #jira UE-30167 We now import the geometric transform also when we uncheck the absolute transform in the vertex. Change 2973664 on 2016/05/11 by Nick.Darnell Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 2973717 on 2016/05/11 by Nick.Darnell Fixing compiler issues from main merge. #jira UE-30590 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 [CL 2973886 by Nick Darnell in Main branch]
2016-05-11 11:05:13 -04:00
#define LOCTEXT_NAMESPACE "MaterialEditorCommands"
void FMaterialEditorCommands::RegisterCommands()
{
UI_COMMAND( Apply, "Apply", "Apply changes to original material and its use in the world.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND( Flatten, "Flatten", "Flatten the material to a texture for mobile devices.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ShowAllMaterialParameters, "Show Inactive", "Show the material instance parameters currently hidden behind static switches.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( SetCylinderPreview, "Cylinder", "Sets the preview mesh to a cylinder primitive.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( SetSpherePreview, "Sphere", "Sets the preview mesh to a sphere primitive.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( SetPlanePreview, "Plane", "Sets the preview mesh to a plane primitive.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( SetCubePreview, "Cube", "Sets the preview mesh to a cube primitive.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( SetPreviewMeshFromSelection, "Mesh", "Sets the preview mesh based on the current content browser selection.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( TogglePreviewGrid, "Grid", "Toggles the preview pane's grid.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( TogglePreviewBackground, "Background", "Toggles the preview pane's background.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( CameraHome, "Home", "Goes home on the canvas.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( CleanUnusedExpressions, "Clean Up", "Cleans up any unused Expressions.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ShowHideConnectors, "Hide Unused Connectors", "Hide unused connectors to clean up the graph view.", EUserInterfaceActionType::ToggleButton, FInputChord());
UI_COMMAND( ToggleLivePreview, "Preview Material", "Toggles real time update of the preview material.", EUserInterfaceActionType::ToggleButton, FInputChord());
UI_COMMAND( ToggleRealtimeExpressions, "Realtime Nodes", "Nodes impacted by time-based functions such as panners, etc. will update realtime.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( AlwaysRefreshAllPreviews, "All Node Previews", "All node previews are updated upon any change to the graph.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( ToggleMaterialStats, "Stats", "Toggles displaying of the material's stats.", EUserInterfaceActionType::ToggleButton, FInputChord());
UI_COMMAND( TogglePlatformStats, "Platform Stats", "Toggles the window that shows material stats and compilation errors for multiple platforms.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( ToggleHideUnrelatedNodes, "Hide Unrelated", "Toggles hiding nodes which are unrelated to the selected nodes automatically.", EUserInterfaceActionType::ToggleButton, FInputChord() );
UI_COMMAND( NewComment, "New Comment", "Creates a new comment node.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( MatertialPasteHere, "Paste Here", "Pastes copied items at this location.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( UseCurrentTexture, "Use Current Texture", "Uses the current texture selected in the content browser.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ConvertObjects, "Convert to Parameter", "Converts the objects to parameters.", EUserInterfaceActionType::Button, FInputChord() );
Merging Dev-LWCRendering into Main, this includes initial work to support rendering with LWC-scale position Basic approach is to add HLSL types FLWCScalar, FLWCMatrix, FLWCVector, etc. Inside shaders, absolute world space position values should be represented as FLWCVector3. Matrices that transform *into* absolute world space become FLWCMatrix. Matrices that transform *from* world space become FLWCInverseMatrix. Generally LWC values work by extending the regular 'float' value with an additional tile coordinate. Final tile size will be a trade-off between scale/accuracy; I'm using 256k for now, but may need to be adjusted. Value represented by a FLWCVector thus becomes V.Tile * TileSize + V.Offset. Most operations can be performed directly on LWC values. There are HLSL functions like LWCAdd, LWCSub, LWCMultiply, LWCDivide (operator overloading would be really nice here). The goal is to stay with LWC values for as long as needed, then convert to regular float values when possible. One thing that comes up a lot is working in translated (rather than absolute) world space. WorldSpace + View.PrevPreViewTranslation = TranslatedWorldspace. Except 'View.PrevPreViewTranslation' is now a FLWCVector3, and WorldSpace quantities should be as well. So that becomes LWCAdd(WorldSpace, View.PrevPreViewTranslation) = TranslatedWorldspace. Assuming that we're talking about a position that's "reasonably close" to the camera, it should be safe to convert the translated WS value to float. The 'tile' coordinate of the 2 LWC values should cancel out when added together in this case. I've done some work throughout the shader code to do this. Materials are fully supporting LWC-values as well. Projective texturing and vertex animation materials that I've tested work correctly even when positioned "far away" from the origin. Lots of work remains to fully convert all of our shader code. There's a function LWCHackToFloat(), which is a simple wrapper for LWCToFloat(). The idea of HackToFloat is to mark places that need further attention, where I'm simply converting absolute WS positions to float, to get shaders to compile. Shaders converted in this way should continue to work for all existing content (without LWC-scale values), but they will break if positions get too large. General overview of changed files: LargeWorldCoordinates.ush - This defines the FLWC types and operations GPUScene.cpp, SceneData.ush - Primitives add an extra 'float3' tile coordinate. Instance data is unchanged, so instances need to stay within single-precision range of the primitive origin. Could potentially split instances behind the scenes (I think) if we don't want this limitation HLSLMaterialDerivativeAutogen.cpp, HLSLMaterialTranslator.cpp, Preshader.cpp - Translated materials to use LWC values SceneView.cpp, SceneRelativeViewMatrices.cpp, ShaderCompiler.cpp, InstancedStereo.ush - View uniform buffer includes LWC values where appropriate #jira UE-117101 #rb arne.schober, Michael.Galetzka [CL 17787435 by Ben Ingram in ue5-main branch]
2021-10-12 13:29:45 -04:00
UI_COMMAND( PromoteToDouble, "Promote to Double", "Converts the parameters to double precision.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND( PromoteToFloat, "Promote to Float", "Converts the parameters to float precision.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND( ConvertToConstant, "Convert to Constant", "Converts the parameters to constants.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( SelectNamedRerouteDeclaration, "Select Named Reroute Declaration", "Select this named reroute's declaration node.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( SelectNamedRerouteUsages, "Select Named Reroute Usages", "Select this named reroute's usage nodes.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ConvertRerouteToNamedReroute, "Convert to Named Reroute", "Replace this reroute with a named reroute.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ConvertNamedRerouteToReroute, "Convert to Reroute", "Replace this named reroute with an (unnamed) reroute node.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ConvertToTextureObjects, "Convert to Texture Object", "Converts the objects to texture objects.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ConvertToTextureSamples, "Convert to Texture Sample", "Converts the objects to texture samples.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( StopPreviewNode, "Stop Previewing Node", "Stops the preview viewport from previewing this node", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( StartPreviewNode, "Start Previewing Node", "Makes the preview viewport start previewing this node", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( EnableRealtimePreviewNode, "Enable Realtime Preview", "Enables realtime previewing of this expression node", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( DisableRealtimePreviewNode, "Disable Realtime Preview", "Disables realtime previewing of this expression node", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( BreakAllLinks, "Break All Links", "Breaks all links leading out of this node.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( DuplicateObjects, "Duplicate Object(s)", "Duplicates the selected objects.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( DeleteObjects, "Delete Object(s)", "Deletes the selected objects.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( SelectDownstreamNodes, "Select Downstream Nodes", "Selects all nodes that use this node's outgoing links.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( SelectUpstreamNodes, "Select Upstream Nodes", "Selects all nodes that feed links into this node.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( RemoveFromFavorites, "Remove From Favorites", "Removes this expression from your favorites.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( AddToFavorites, "Add To Favorites", "Adds this expression to your favorites.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( BreakLink, "Break Link", "Deletes this link.", EUserInterfaceActionType::Button, FInputChord() );
UI_COMMAND( ForceRefreshPreviews, "Force Refresh Previews", "Forces a refresh of all previews", EUserInterfaceActionType::Button, FInputChord(EKeys::SpaceBar) );
UI_COMMAND( CreateComponentMaskNode, "Create ComponentMask Node", "Creates a ComponentMask node at the current cursor position.", EUserInterfaceActionType::Button, FInputChord(EModifierKey::Shift, EKeys::C));
UI_COMMAND( FindInMaterial, "Search", "Finds expressions and comments in the current Material", EUserInterfaceActionType::Button, FInputChord(EModifierKey::Control, EKeys::F));
UI_COMMAND( PromoteToParameter, "Promote to Parameter", "Promote selected Pin to parameter of pin type", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND( CreateSlabNode, "Create Slab Node", "Create a Slab Node linked to the pin", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND( CreateHorizontalMixNode, "Create Horizontal Mix Node", "Create a Horizontal Mix Node linked to the pin", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND( CreateVerticalLayerNode, "Create Vertical Layer Node", "Create a Vertical Layer Node linked to the pin", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND( CreateWeightNode, "Create Weight Node", "Create a Weight Node linked to the pin", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(QualityLevel_All, "All", "Sets node preview to show all quality levels.)", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(QualityLevel_Epic, "Epic", "Sets node preview to Epic quality.", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(QualityLevel_High, "High", "Sets node preview to high quality.", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(QualityLevel_Medium, "Medium", "Sets node preview to medium quality.", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(QualityLevel_Low, "Low", "Sets node preview to low quality.", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(FeatureLevel_All, "All", "Sets node preview to show all feature levels.", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(FeatureLevel_ES31, "ES3.1", "Sets node preview to show the ES3.1 feature level.", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(FeatureLevel_SM5, "SM5", "Sets node preview to show the SM5 feature level.", EUserInterfaceActionType::RadioButton, FInputChord());
UI_COMMAND(FeatureLevel_SM6, "SM6", "Sets node preview to show the SM6 feature level.", EUserInterfaceActionType::RadioButton, FInputChord());
}
//////////////////////////////////////////////////////////////////////////
// FExpressionSpawnInfo
TSharedPtr< FEdGraphSchemaAction > FExpressionSpawnInfo::GetAction(UEdGraph* InDestGraph)
{
if (MaterialExpressionClass == UMaterialExpressionComment::StaticClass())
{
return MakeShareable(new FMaterialGraphSchemaAction_NewComment);
}
else
{
TSharedPtr<FMaterialGraphSchemaAction_NewNode> NewNodeAction(new FMaterialGraphSchemaAction_NewNode);
NewNodeAction->MaterialExpressionClass = MaterialExpressionClass;
return NewNodeAction;
}
}
//////////////////////////////////////////////////////////////////////////
// FMaterialEditorSpawnNodeCommands
void FMaterialEditorSpawnNodeCommands::RegisterCommands()
{
const FString ConfigSection = TEXT("MaterialEditorSpawnNodes");
const FString SettingName = TEXT("Node");
TArray< FString > NodeSpawns;
GConfig->GetArray(*ConfigSection, *SettingName, NodeSpawns, GEditorPerProjectIni);
for(int32 x = 0; x < NodeSpawns.Num(); ++x)
{
FString ClassName;
if(!FParse::Value(*NodeSpawns[x], TEXT("Class="), ClassName))
{
// Could not find a class name, cannot continue with this line
continue;
}
FString CommandLabel;
Deprecating ANY_PACKAGE. This change consists of multiple changes: Core: - Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject) - Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter - Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses - Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names - Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed. - Added static UClass::TryConvertShortNameToPathName utility function - Added static UClass::TryFixShortClassNameExportPath utility function - Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass') - All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath - Added a new startup test that checks for short type names in UClass/FProperty MetaData values AssetRegistry: - Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath - Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names - This also applies to a few other modules' APIs to match AssetRegistry changes Everything else: - Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input) - Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName() - Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names #jira UE-99463 #rb many.people [FYI] Marcus.Wassmer #preflight 629248ec2256738f75de9b32 #codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786 #ROBOMERGE-OWNER: robert.manuszewski #ROBOMERGE-AUTHOR: robert.manuszewski #ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484 #ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246) [CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
UClass* FoundClass = UClass::TryFindTypeSlow<UClass>(ClassName, EFindFirstObjectOptions::ExactClass);
TSharedPtr< FExpressionSpawnInfo > InfoPtr;
if(FoundClass && FoundClass->IsChildOf(UMaterialExpression::StaticClass()))
{
// The class name matches that of a UMaterialExpression, so setup a spawn info that can generate one
CommandLabel = FoundClass->GetName();
InfoPtr = MakeShareable(new FExpressionSpawnInfo(FoundClass));
}
// If spawn info was created, setup a UI Command for keybinding.
if(InfoPtr.IsValid())
{
TSharedPtr< FUICommandInfo > CommandInfo;
FKey Key;
bool bShift = false;
bool bCtrl = false;
bool bAlt = false;
// Parse the keybinding information
FString KeyString;
if( FParse::Value(*NodeSpawns[x], TEXT("Key="), KeyString) )
{
Key = *KeyString;
}
if( Key.IsValid() )
{
FParse::Bool(*NodeSpawns[x], TEXT("Shift="), bShift);
FParse::Bool(*NodeSpawns[x], TEXT("Alt="), bAlt);
FParse::Bool(*NodeSpawns[x], TEXT("Ctrl="), bCtrl);
}
FInputChord Chord(Key, EModifierKey::FromBools(bCtrl, bAlt, bShift, false));
const FText CommandLabelText = FText::FromString( CommandLabel );
const FText Description = FText::Format( NSLOCTEXT("MaterialEditor", "NodeSpawnDescription", "Hold down the bound keys and left click in the graph panel to spawn a {0} node."), CommandLabelText);
FUICommandInfo::MakeCommandInfo( this->AsShared(), CommandInfo, FName(*NodeSpawns[x]), CommandLabelText, Description, FSlateIcon(FAppStyle::GetAppStyleSetName(), *FString::Printf(TEXT("%s.%s"), *this->GetContextName().ToString(), *NodeSpawns[x])), EUserInterfaceActionType::Button, Chord );
InfoPtr->CommandInfo = CommandInfo;
NodeCommands.Add(InfoPtr);
}
}
}
TSharedPtr< FEdGraphSchemaAction > FMaterialEditorSpawnNodeCommands::GetGraphActionByChord(FInputChord& InChord, UEdGraph* InDestGraph) const
{
if(InChord.IsValidChord())
{
for(int32 x = 0; x < NodeCommands.Num(); ++x)
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3621452) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3567301 by Arciel.Rekman Linux: fix for importing failure when clicking shortcuts (UE-47932). - Slate dialog would return incorrect relative paths (not matching CWD) if Engine or Project shortcuts were used. #jira UE-47932 Change 3567687 by Arciel.Rekman Minor fixes to gdb pretty printers by icculus. Change 3568024 by Arciel.Rekman Made SDL_SetWindowInputFocus() wait until window is viewable (UE-33369). - Pull request #2608 contributed by Ereski. - Updated x86_64 lib only (anticipating more changes to SDL). #coderview Cengiz.Terzibas, Ryan.Gordon Change 3568173 by Max.Chen Movie Scene Capture: Delay on shot boundaries by setting the sequencer play rate to 0. This allows particles, TAA, and other effects to settle on the shot cuts. #jira UE-44598 Change 3568174 by Max.Chen Sequencer: Added option to rerun construction scripts on bound actors in the sequence every frame. #jira UE-31193 Change 3568331 by Matt.Kuhlenschmidt PR #3850: Add extensible source navigation service (Contributed by mhutch) Change 3568350 by Matt.Kuhlenschmidt PR #3851: Add argument to pass params to standalone play session (Contributed by mhutch) Change 3568387 by Matt.Kuhlenschmidt PR #3852: Add FEditorDelegates::BeginLocalPlay event (Contributed by mhutch) Change 3568541 by Arciel.Rekman Merged Icculus' patch for copy-paste (UE-40071). - Alas does not seem to fix inability to copy/paste between Output log and kate. - Updated x86_64 lib only (anticipating more changes). Change 3568547 by Arciel.Rekman Fix OpenGL queries reused after deletion. Change 3568790 by Matt.Kuhlenschmidt PR #3857: Loading screen widgets not scaled correctly (Contributed by projectgheist) Change 3568900 by Alexis.Matte Fix the fbx re-import factory handler to say failed in case there was no geometry to import. #jira UE-47506 Change 3568902 by Alexis.Matte Reduce memory footprint when importing large FBX scene PR #3834 #jira UE-47833 Change 3569061 by Arciel.Rekman Linux: remove unnecessary symbols for MSVC visualizers. - Reported by ASan as collision because they exist in each DSO. Change 3569782 by Cody.Albert Updated ImportAssets Commandlet help text to properly reflect supported features. Change 3569843 by Arciel.Rekman SDL: add logic to select headless EGL device. - SDL will try to guess which device is GPU using CUDA device id (can also be hinted explicitly). - Also fixes the problem of engine not starting on some drivers that don't support the necessary EGL extensions. Change 3570234 by Max.Chen Sequencer: Import FBX settings. Added settings to toggle force front x axis and whether to create cameras that don't already exist in the level. #jira UE-46754 Change 3570578 by Arciel.Rekman Linux: make FAnsiMalloc compatible with malloc()/free(). - Prerequisite for ASan. Also helps fringe cases when we have to use FAnsiMalloc. Change 3571015 by Alexis.Matte Issue warning when we found zero normal, tangent or binormal #jira UE-46419 Change 3571376 by Jamie.Dale Force a unique package localization ID when loading packages for diffing Change 3571412 by Jamie.Dale Removed unused setting Change 3571487 by Alexis.Matte fix speed tree import cancel workflow #jira UE-47482 Change 3571614 by Jamie.Dale Games now use the native culture of any of the game targets as the fallback (rather than always using English) This replaces the previously removed redundant setting from CL# 3571412 Change 3572649 by Jamie.Dale SavePackageHelper now always honors KeepObjectFlags Change 3572730 by Matt.Kuhlenschmidt Guard against crash in the details panel when there is a message in the queue and something scrolls into view when the list has been invalidated #jira UE-48037 Change 3572773 by Matt.Kuhlenschmidt Guard against high res screenshot crashing if the requested image size doesnt match the image data size #jira UE-47765 Change 3572813 by Michael.Trepka Workaround for a mysterious issue in Xcode 9 beta 3 and 4 which makes it generate -Wnullability-inferred-on-nested-type warnings/errors in MetalDebugCommandEncoder.h even though we tell Clang to ignore them in MacPlatformCompilerPreSetup.h Change 3573043 by Arciel.Rekman FAnsiMalloc: fix compile issue (UE-48066). #jira UE-48066 Change 3573236 by Arciel.Rekman Linux: add UnrealLightmass to the installed build. - Was also requested by a licensee on UDN. Change 3573705 by Arciel.Rekman SDL: update UE4 fork to the latest trunk (UETOOL-1242). - Revision 11184 form 2017-08-04: http://hg.libsdl.org/SDL/rev/04063928c4a8 - Change by icculus (Ryan Gordon). - Rebuilt x86_64 library only for now. Change 3573741 by Arciel.Rekman Fix crash when capturing a movie (UE-48093). #jira UE-48093 Change 3574389 by Max.Chen Sequencer: Array bounds check. #jira UE-48095 Change 3574399 by Max.Chen Sequencer: Fix crash in removing delegate #jira UE-47461 Change 3574415 by Max.Chen Sequencer: Put level visibility tracks in the SpawnObjects evaluation group to ensure levels are streamed before any possessable bindings are resolved Change 3574416 by Max.Chen Prevent slow task feedback from performing slow operations (flushing rendering commands, checking if shaders are initialized) when there are no modal dialogs open Change 3574726 by Matt.Kuhlenschmidt Focus the details view when actor selection changes if it is not focused Change 3574922 by Michael.Trepka Copy of CL 3574653 by Richard.Wallis XCode Beta 4 Compile fixes. "Inferring '_Nonnull' for pointer type within array is deprecated " Change 3576525 by Nick.Darnell Editor - Data table rows names sort correctly in the property customization. Blueprint - Fixing some crashes due to holding onto raw pointers instead of TWeakObjectPtrs. UMG - SetWidgetClass now reinstances the widget if you change it at runtime. Editor - Deleting actors that are still referenced now at least logs to the console what still references it. Change 3576714 by Nick.Darnell Editor - Build fix. Change 3576770 by Jamie.Dale Removed some dead code It seems to be left over from the first attempt at stable localization keys Change 3578433 by Matt.Kuhlenschmidt Fix content browser settings being per project and having created a "Global" category for one setting Change 3578556 by Max.Chen Editor: Fix toolbar shared ref which was keeping the viewport toolbar around when switching between default and cinematic viewports. #jira UE-48125 Change 3578561 by Matt.Kuhlenschmidt Fix USD importing not respecting DestinationPath for automated import Change 3580124 by Matt.Kuhlenschmidt Fix bogus warning message when a property has an editcondition that is not marked edit aynwhere. This has always been supported and is the correct way to make an editcondition Change 3581936 by Jamie.Dale Restoring defaults for UContentBrowserSettings Change 3582039 by Matt.Kuhlenschmidt High DPI mode changes - Editor viewport screen percentage is now adjusted automatically to account for DPI scaling. By default the scene will be rendered at a lower resolution based on screen percentage calculated based on 100/DPIScale. Users can override this automatic calcuation in the performance options if desired. - DPI awareness is only set on windows in the editor now (still disabled by default) - Fixed hit proxy calculation not working properly with screen percentage - Developers can now register a delegate with SlateApplication to tell when a window's DPI changes Change 3582049 by Matt.Kuhlenschmidt Fix color picker not properly converting FColor properties back to gamma space Change 3582054 by Matt.Kuhlenschmidt Fix mac menus updating during unsafe times such as modal windows and slow tasks #jira UE-47874 Change 3582084 by Jamie.Dale Make sure to update the rendering resources for the active world if reloading its map build data This prevents a crash in the renderer due to it holding onto stale data Change 3582257 by Matt.Kuhlenschmidt Fix widget component spawning widgets on cook #jira UE-48201 Change 3582655 by Matt.Kuhlenschmidt Fix DPI scale not being accounted for when entering immersive. Change 3582706 by Matt.Kuhlenschmidt Fix automation tests Change 3582728 by Matt.Kuhlenschmidt Turn on high dpi by default for windows editor Change 3582732 by Matt.Kuhlenschmidt Turn on high DPI by default for mac editor Change 3583112 by Max.Chen Sequencer: Add OnPlayReverse() event for when playback is in reverse Change 3584130 by Matt.Kuhlenschmidt PR #3897: Git plugin: fix action icon in history window (Contributed by SRombauts) Change 3584237 by Matt.Kuhlenschmidt Added the beginnings of a way to extend the usd importer with a custom resolver class that optionally handles prim identification and mesh and actor spawning. Added a test resolver that handles prims based on usd "kind" metadata. Change 3584535 by Matt.Kuhlenschmidt Fix LOD identification in USD files Change 3587703 by Matt.Kuhlenschmidt Fix tooltip Change 3587901 by Matt.Kuhlenschmidt Fixed USD importing not finding and importing LODs properly Change 3588380 by Matt.Kuhlenschmidt Fix ctrl+w not duplicating on mac #jira UE-46573 Change 3590435 by Jamie.Dale Added support for in-editor previews of localized game text This is configured by the "Preview Game Culture" setting, and will automatically be active when PIE is running (the preview language is also passed to any standalone games that are launched via the editor). This preview can also be used in the UMG editor to preview widgets in different languages. While a preview is running, all editable FText fields are locked-down (read-only) to prevent accidentally clobbering source data with translation data. You can also use this new lock-down feature to prevent any localization changes in your project (set "LockLocalization" to "True" under the "Internationalization" section of either your DefaultGame or DefaultEngine INI). In order to allow the game translations to be used in the editor, we now map the translation to any package localization ID variants when the LocRes data is loaded (or when looking up a specific piece of text). This is needed as the LocRes files only ever contain the "clean" versions of the IDs (without the package localization ID the editor uses), and also means that we no longer need to gather the "editor-only" variants of the text within assets. Change 3592131 by Matt.Kuhlenschmidt Log for newly converted actors being pending kill #jira UE-47464 Change 3592200 by Matt.Kuhlenschmidt Made the class viewer menu function properly on mac. Since it as a nomad tab it wasnt properly inserting itself into the top level menu on mac nor should it since it could be docked anywhere. The filters menu is now consistent with other filters menus Change 3592227 by Matt.Kuhlenschmidt Fix drag drop of actors being offset with high dpi monitors. Change 3592719 by Bradut.Palas #jira UE-45632 - dual key bindings feature My approach was transforming the ActiveChord and DefaultChord into arrays and accessing them through an enum class called EMultipleKeyBindingIndex. A lot of connecting code, function prototypes, and data structures had to be changed to accomodate this. Most menus and tooltip texts are generated using the first valid active shortcut. Change 3592793 by Bradut.Palas Fix compile warnings for InputBindingManager (there were actually hidden bugs among them) Change 3593128 by Matt.Kuhlenschmidt Force low quality mode for background blurs by default on android Change 3593579 by Michael.Dupuis #jira UE-47223 : If we have no world simply return null when GetLandscapeInfo is called Handle the cases in PostEditChange to handle null returned from GetLandscapeInfo Change 3593580 by Michael.Dupuis Added missing shaders while generating thumbnails Change 3593582 by Michael.Dupuis #jira UE-47492 : Make sure LayerInfo is valid before accessing data Change 3593584 by Michael.Dupuis #jira UE-47253: Do not recreate the scene info in simulation mode Change 3593585 by Michael.Dupuis #jira UE-48484: no longer mark the package dirty while generating the GrassMap if they were not existing Change 3593586 by Michael.Dupuis #jira UE-48483 : hide the Rendering property group so user can't by mistake change the actor visibility Change 3593593 by Michael.Dupuis #jira UE-48327: Added guard to prevent crash when using CVarFoliageDiscardDataOnLoad and having invalid foliage in your map Change 3593597 by Michael.Dupuis #jira UE-48309: Do not build the tree if the static mesh is not even loaded yet #jira UE-48340: Properly support the Random stream and partial buffer update #jira UE-48228: Instance from blueprint are now visible in standalone game #jira UE-45854: Crash probably linked to post load called on not loaded static mesh #jira UE-48035: Properly init the per instance render data when creating a new component Only update instance in non archetype or CDO. Change 3594060 by Matt.Kuhlenschmidt Fix high DPI mode being set for non-editor. Also prevent possible crashes due to dll handle for high DPI method being freed before called Change 3594355 by Matt.Kuhlenschmidt Change API help link to point to a website since offline CHM based docs are no longer used #jira UE-48230 Change 3595358 by Matt.Kuhlenschmidt Fixed bad initial window position and sizes for editor windows By default SWindow.ClientSize will assume unscaled window size and will scale it based on DPI as needed. AdjustInitialSizeAndPositionForDPIScale argument can be used to disable this if needed Fixed a dock tabs and the main frame not taking into account dpi scale when saving their layout. Now we always save window size at 1.0 scale and auto scale it based on DPI of the monitor it opens on. #jira UE-48446 Change 3595590 by Matt.Kuhlenschmidt Fix missing includes Change 3595792 by Matt.Kuhlenschmidt Fix style warnings Change 3596418 by Bradut.Palas fixing initial issue with dual keybinds (removed ensure macro to speedup first use of alternate key) Change 3598679 by Max.Chen PR #3872: Fix small typo in ImagePlate Plugin (Contributed by TheCodez) #jira UE-48141 Change 3598720 by Max.Chen Cine Camera: Add toggle to disable constraining the roll when look at tracking is enabled. This allows the user to animate the roll while tracking an object. #jira UE-48316 Change 3600236 by Alexis.Matte Create a LOD Custom Mode in the meshes editor UI. This allow user to compare details values between LODs #jira UE-46822 Change 3600260 by Alexis.Matte Make sure temporary rename do not create redirector #jira UE-48364 Change 3600671 by Lauren.Ridge PR #3913: Fixed 3D preview issue in the material editor (Contributed by YuchenMei) #jira UE-48539 #jira UE-48180 #jira UE-48182 Change 3600812 by Jamie.Dale We now defer the registration of IME contexts until an editable text first gains focus Certain IMEs can have very high per-context costs, so this avoids that cost until we know that we definitely need to use the context #jira UE-48100 Change 3601839 by Matt.Kuhlenschmidt Fix USD import crash with "facevarying" normals Change 3602434 by Jamie.Dale Removing dead code These flags were never being tested or used in any meaningul way Change 3602611 by Jamie.Dale Ensure PackageToReload is non-null #jira UE-46655 Change 3602648 by Jamie.Dale Fixed custom columns with the same name as fixed columns causing infinite duplications in the content browser #jira UE-47392 Change 3602651 by Lauren.Ridge Fix for parameter tooltips not being found #jira UE-47417 Change 3604172 by Bradut.Palas #jira UE-48449 #jira UE-48380 #jira UE-48381 #jira UE-48423 I moved the IsFilenameValidForSaving() function from FEditorFileUtils to FFileHelper so that it is accessible from CollectionManager.cpp in order to validate collection names as file names and no longer trigger any of the bugs. Change 3604210 by Bradut.Palas #jira UE-48718 Regression issue appeared from fixing a crash when using console command "open" Reworked by only refusing to open local URLs in case of client mode and multiprocess being active simultaneously. Change 3604258 by Jamie.Dale IME contexts can now flag themselves as dead to avoid latent IME callbacks trying to access a deleted widget #jira UE-46815 #jira UE-47295 Change 3604312 by Matt.Kuhlenschmidt PR #3931: Fixing a few obvious copy & paste errors. (Contributed by DaveC79) Change 3604352 by Matt.Kuhlenschmidt Fix crash accessing potentially invalid parent layout from a detail category #jira UE-48729 Change 3604402 by Lauren.Ridge Epic Friday - array drag and drop Change 3605228 by Cody.Albert TSets and TMaps should now properly rehash if a key is modified in the details panel. Change 3605275 by Alexis.Matte Merge actor do not keep the material slot name #jira UE-43246 Change 3605715 by Max.Chen Sequencer: Fix cinematic mode getting activated on BeginPlay() instead of OnStartedPlaying(). #jira UE-48770 Change 3606411 by Max.Chen Sequencer: Fix a few player state issues. When paused, calling stop now tears down properly (spawnables are removed, etc). When a level sequence is deleted, tears down properly as well. #jira UE-42008 Change 3606440 by Max.Chen Sequencer: Update spawanble name when the spawnable actor name is changed. #jira UE-47815 Change 3606899 by Lauren.Ridge Disabling enum-based arrays from reordering Change 3606958 by Lauren.Ridge Visual polish on array handles Change 3607733 by Max.Chen Sequencer: Check null in camera cut Change 3607849 by Max.Chen Sequencer: Clip transport controls. #jira UE-48812 Change 3608181 by Max.Chen #jira UE-48813 Correctly set GPlayInEditorID when initializing the PIE gameinstance, which does the initial tick. This fixes autoplay sequences Copy from Dev-Framework Change 3608361 by christopher.biancard QAGame: Submitting test content for Array Element Reorder testing Change 3608512 by Alexis.Matte Add fbx exporter option dialog, support export all and cancel all functionality when doing bulk export. #jira UE-48058 Change 3608629 by Max.Chen Camera Rig: Fix crane and rail not being packaged properly. #jira UE-48829 Change 3609217 by Matt.Kuhlenschmidt Added a lock around access to slate active timers to protect it against race conditions when accessed on the slate movie thread and the game thread Change 3609722 by Alexis.Matte Make sure a warning is log when we cannot export an animation sequence. #jira UE-48390 Change 3609774 by Alexis.Matte Fix the merge actor build LOD scale again, a previous merge erase the fix #jira UE-48156 Change 3609891 by christopher.biancard QAGame: Minor additions for test coverage on Array Element Reorder Change 3610171 by Lauren.Ridge Fixes for reordering metadata, creating actual swap function out of three element functions #jira UE-48823 Change 3610407 by Lauren.Ridge Fixing highlighting and behavior to place dragged row in the spot you release (not below) Change 3610472 by Lauren.Ridge Moving final location logic Change 3610797 by Lauren.Ridge Disabling dragging handles during PIE Change 3611089 by Lauren.Ridge Disabling handles when overall tree is disabled Change 3612479 by Lauren.Ridge Fix for asset contex menu warning #jira UE-46667 Change 3612791 by Michael.Dupuis #jira UE-48914 : Add the possibility to specify if we need CPU access to the instance buffer depending on the usage. Grass should always have CPU access. Change 3612802 by Michael.Dupuis missing file from checkin 3612791 Change 3612805 by Max.Chen Sequencer: Fix crash with null GEditor Copy from Release-4.17 #jira UE-48443 Change 3612806 by Max.Chen Sequencer: Fix crash when capturing a movie with options enabling separate process and close editor. Copy from Release-4.17 #jira UE-48487 Change 3612807 by Max.Chen Sequencer: Fix crash upgrading the time range of a null track. Copy from Release-4.17 #jira UE-48490 Change 3612808 by Max.Chen Sequencer: Fixed dragging skeletal animations causing them to revert back to t-pose Copy from Release-4.17 #jira UE-48367 Change 3612849 by Arciel.Rekman Fix tesselation in packaged Linux projects (UE-24301). - Change by Cengiz.Terzibas. #jira UE-24301 Change 3613022 by Nick.Darnell Editor - Fixing a crash on load with a null CoordIndex json node. Change 3613030 by Matt.Kuhlenschmidt PR #3932: UE-48693: if instead of while statement (Contributed by projectgheist) #jira UE-48747 Change 3613047 by Matt.Kuhlenschmidt PR #3933: Git plugin: add "branch source" in history window (Contributed by SRombauts) Change 3613050 by Matt.Kuhlenschmidt PR #3942: Sort Data Table Structures Alphabetically (Contributed by Nick-Pearson) Change 3613062 by Matt.Kuhlenschmidt PR #3939: Fix a typo in RecordQualityLevelsAnalytics(). (Contributed by samhocevar) Change 3613241 by Nick.Darnell Editor - Fixing the content browser's view settings to be project agnostic, and they will start saving again. Change 3613329 by Lauren.Ridge Moving favorite levels to a standard submenu so they also work on Mac Change 3613344 by Nick.Darnell Editor - Fixing the achorgrid show up as white in HDPI mode, seems because we were upsampling the image, the blend was between dark and a transparent white, so that caused everything to turn white in HDPI mode. #jira UE-48921 Change 3613380 by Matt.Kuhlenschmidt Fix FBX window being off the screen in high DPI #jira UE-48872 Change 3614598 by Matt.Kuhlenschmidt Fixed Sequencer Keyframes appearing out of place on High DPI Monitors #jira UE-48915 Change 3614625 by Matt.Kuhlenschmidt Fixed not being able to click on BSP correctly in high dpi #jira UE-48947 Change 3614672 by Matt.Kuhlenschmidt Fix combo box windows being larger than necessary on high dpi monitors #jira UE-48908 Change 3614699 by Matt.Kuhlenschmidt Fix typo #jira UE-48941 Change 3615011 by Matt.Kuhlenschmidt Fix color picker calculation appearing offscreen for high dpi Change 3615013 by Michael.Dupuis #jira UE-48897: Properly rebuild the tree when reapplying instance to the component Change 3615014 by Colin.Benoit Sequencer Recorder test content Change 3615048 by Colin.Benoit Sequencer Recorder: more test content Change 3615118 by Lauren.Ridge Updating realtime state of viewports to also change when settings toggled #jira UE-48884 Change 3615127 by Lauren.Ridge Remove delegate binding on viewport destruction Change 3615180 by Bradut.Palas #jira UE-48167 profiler crash Don't duplicate the graph data when rebuilding because that completely voids the OneToOneMapping mechanism, resulting in the crash. Looking up objects in the mapping would always return null because the mapping contains the old addresses, before the rebuild. One option would have been to completely rebuild the mapping according to the duplicate graph, which would be dubious because the duplicate method isn't specifically designed so that the result would replace the source. But it looks like duplicating the data is not needed, it's safe to rebuild in-place, RebuildForFilter() doesn't do anything illegal with the objects. This is also the only purpose and the only reference of the function. Change 3615232 by Lauren.Ridge Adding input handling to the material editor viewport client #jira UE-48909 Change 3615703 by Jamie.Dale Fixed crash when fixing up references after a package rename failed #jira UE-48856 Change 3615752 by Matt.Kuhlenschmidt More generic fix for color picker and other windows that use CalculatePopupWindowPostion not accounting for DPI scale Change 3615907 by Jamie.Dale Fixed some crashes caused by CL# 3600812 Change 3616031 by Matt.Kuhlenschmidt Added guard against invalid blueprints (ones without a generated class) being trying to be opened in the property matrix and failing #jira UE-48986 Change 3616151 by Arciel.Rekman Fixing adding array elements in config. - "+Blah=Foo" will do Blah.AddUnique(Foo) - ".Blah=Foo" will do Blah.Add(Foo) - See JoshA re: why (also see: https://udn.unrealengine.com/questions/388157/incorrect-behavior-in-configcacheinicpp.html?childToView=389307) Change 3616439 by Andrew.Porter QAGame: Updating level visibility content in sequencer smoke map Change 3616441 by Matt.Kuhlenschmidt Fix more sequencer track offsetting with DPI scale #jira UE-48981 Change 3617263 by Max.Chen Sequencer: Fix crash in level visibility teardown. Null playback context. #jira UE-49012 Change 3617316 by Max.Chen Sequencer: Fixed a regression where the frame rate isn't getting initialized for a movie scene. Change 3617648 by Matt.Kuhlenschmidt Adding some windows specific logging around setting or failing to set process dpi awareness Change 3617665 by Matt.Kuhlenschmidt Guard against layers module not being loaded in keybinding automation test Change 3617731 by Arciel.Rekman Fix crashes on AMD Mesa drivers (UE-48374). - Do not expose unnecessary symbols from libelf.a to avoid symbol collision with system library used by drivers. Change 3617923 by Bradut.Palas #jira UE-47072 Editor was crashing because deleted actor was not cleaned properly from asset editors. Changed IAssetEditorInstance to offer a function for deleting an object from the editor. Change 3618088 by Matt.Kuhlenschmidt Guard against crash with potentially invalid worlds in preview scenes #jira UE-48997 Change 3618373 by Matt.Kuhlenschmidt Force worldsettings to be hidden in editor so that it is not considered for selection #jira UE-48996 Change 3618464 by Max.Chen Sequencer: Fix regression where spawnables don't play because they're defined as temporary editor actors. #jira UE-48923 Change 3619789 by Matt.Kuhlenschmidt Fix DPI scale warnings in any kind of headless editor mode Change 3619802 by Jamie.Dale Fixed deprecation warning in malloc profiler Change 3619841 by Matt.Kuhlenschmidt Fix missing icons in the package project menu #jira UE-48674 Change 3619991 by Lauren.Ridge Fix typo in transaction message #jira UE-48993 Change 3620086 by Lauren.Ridge Moving realtime viewport logic to refresh instead of construct so it is always triggered upon opening a new material editor #jira UE-48884 Change 3620616 by Matt.Kuhlenschmidt Fix up file Change 3621002 by Matt.Kuhlenschmidt Back out change to apply scaling rules in loading screens since blueprint based DPI scaling rule classes will not have been created yet #jira UE-49125 Change 3621049 by Arciel.Rekman Fix a build error. - Also make sure that we don't print confusing message when no messagebox can be shown (this code changed during the merge). Change 3621064 by Arciel.Rekman Deleted too much in the previous changelist. Change 3621369 by Matt.Kuhlenschmidt Fix keybindings automation test failing due to multiple entries in the active choords array pointing to the same thing #jira UE-49131 [CL 3621569 by Matt Kuhlenschmidt in Main branch]
2017-08-31 21:51:42 -04:00
if (NodeCommands[x]->CommandInfo->HasActiveChord(InChord))
{
return NodeCommands[x]->GetAction(InDestGraph);
}
}
}
return TSharedPtr< FEdGraphSchemaAction >();
}
const TSharedPtr<const FInputChord> FMaterialEditorSpawnNodeCommands::GetChordByClass(UClass* MaterialExpressionClass) const
{
for(int32 Index = 0; Index < NodeCommands.Num(); ++Index)
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3621452) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3567301 by Arciel.Rekman Linux: fix for importing failure when clicking shortcuts (UE-47932). - Slate dialog would return incorrect relative paths (not matching CWD) if Engine or Project shortcuts were used. #jira UE-47932 Change 3567687 by Arciel.Rekman Minor fixes to gdb pretty printers by icculus. Change 3568024 by Arciel.Rekman Made SDL_SetWindowInputFocus() wait until window is viewable (UE-33369). - Pull request #2608 contributed by Ereski. - Updated x86_64 lib only (anticipating more changes to SDL). #coderview Cengiz.Terzibas, Ryan.Gordon Change 3568173 by Max.Chen Movie Scene Capture: Delay on shot boundaries by setting the sequencer play rate to 0. This allows particles, TAA, and other effects to settle on the shot cuts. #jira UE-44598 Change 3568174 by Max.Chen Sequencer: Added option to rerun construction scripts on bound actors in the sequence every frame. #jira UE-31193 Change 3568331 by Matt.Kuhlenschmidt PR #3850: Add extensible source navigation service (Contributed by mhutch) Change 3568350 by Matt.Kuhlenschmidt PR #3851: Add argument to pass params to standalone play session (Contributed by mhutch) Change 3568387 by Matt.Kuhlenschmidt PR #3852: Add FEditorDelegates::BeginLocalPlay event (Contributed by mhutch) Change 3568541 by Arciel.Rekman Merged Icculus' patch for copy-paste (UE-40071). - Alas does not seem to fix inability to copy/paste between Output log and kate. - Updated x86_64 lib only (anticipating more changes). Change 3568547 by Arciel.Rekman Fix OpenGL queries reused after deletion. Change 3568790 by Matt.Kuhlenschmidt PR #3857: Loading screen widgets not scaled correctly (Contributed by projectgheist) Change 3568900 by Alexis.Matte Fix the fbx re-import factory handler to say failed in case there was no geometry to import. #jira UE-47506 Change 3568902 by Alexis.Matte Reduce memory footprint when importing large FBX scene PR #3834 #jira UE-47833 Change 3569061 by Arciel.Rekman Linux: remove unnecessary symbols for MSVC visualizers. - Reported by ASan as collision because they exist in each DSO. Change 3569782 by Cody.Albert Updated ImportAssets Commandlet help text to properly reflect supported features. Change 3569843 by Arciel.Rekman SDL: add logic to select headless EGL device. - SDL will try to guess which device is GPU using CUDA device id (can also be hinted explicitly). - Also fixes the problem of engine not starting on some drivers that don't support the necessary EGL extensions. Change 3570234 by Max.Chen Sequencer: Import FBX settings. Added settings to toggle force front x axis and whether to create cameras that don't already exist in the level. #jira UE-46754 Change 3570578 by Arciel.Rekman Linux: make FAnsiMalloc compatible with malloc()/free(). - Prerequisite for ASan. Also helps fringe cases when we have to use FAnsiMalloc. Change 3571015 by Alexis.Matte Issue warning when we found zero normal, tangent or binormal #jira UE-46419 Change 3571376 by Jamie.Dale Force a unique package localization ID when loading packages for diffing Change 3571412 by Jamie.Dale Removed unused setting Change 3571487 by Alexis.Matte fix speed tree import cancel workflow #jira UE-47482 Change 3571614 by Jamie.Dale Games now use the native culture of any of the game targets as the fallback (rather than always using English) This replaces the previously removed redundant setting from CL# 3571412 Change 3572649 by Jamie.Dale SavePackageHelper now always honors KeepObjectFlags Change 3572730 by Matt.Kuhlenschmidt Guard against crash in the details panel when there is a message in the queue and something scrolls into view when the list has been invalidated #jira UE-48037 Change 3572773 by Matt.Kuhlenschmidt Guard against high res screenshot crashing if the requested image size doesnt match the image data size #jira UE-47765 Change 3572813 by Michael.Trepka Workaround for a mysterious issue in Xcode 9 beta 3 and 4 which makes it generate -Wnullability-inferred-on-nested-type warnings/errors in MetalDebugCommandEncoder.h even though we tell Clang to ignore them in MacPlatformCompilerPreSetup.h Change 3573043 by Arciel.Rekman FAnsiMalloc: fix compile issue (UE-48066). #jira UE-48066 Change 3573236 by Arciel.Rekman Linux: add UnrealLightmass to the installed build. - Was also requested by a licensee on UDN. Change 3573705 by Arciel.Rekman SDL: update UE4 fork to the latest trunk (UETOOL-1242). - Revision 11184 form 2017-08-04: http://hg.libsdl.org/SDL/rev/04063928c4a8 - Change by icculus (Ryan Gordon). - Rebuilt x86_64 library only for now. Change 3573741 by Arciel.Rekman Fix crash when capturing a movie (UE-48093). #jira UE-48093 Change 3574389 by Max.Chen Sequencer: Array bounds check. #jira UE-48095 Change 3574399 by Max.Chen Sequencer: Fix crash in removing delegate #jira UE-47461 Change 3574415 by Max.Chen Sequencer: Put level visibility tracks in the SpawnObjects evaluation group to ensure levels are streamed before any possessable bindings are resolved Change 3574416 by Max.Chen Prevent slow task feedback from performing slow operations (flushing rendering commands, checking if shaders are initialized) when there are no modal dialogs open Change 3574726 by Matt.Kuhlenschmidt Focus the details view when actor selection changes if it is not focused Change 3574922 by Michael.Trepka Copy of CL 3574653 by Richard.Wallis XCode Beta 4 Compile fixes. "Inferring '_Nonnull' for pointer type within array is deprecated " Change 3576525 by Nick.Darnell Editor - Data table rows names sort correctly in the property customization. Blueprint - Fixing some crashes due to holding onto raw pointers instead of TWeakObjectPtrs. UMG - SetWidgetClass now reinstances the widget if you change it at runtime. Editor - Deleting actors that are still referenced now at least logs to the console what still references it. Change 3576714 by Nick.Darnell Editor - Build fix. Change 3576770 by Jamie.Dale Removed some dead code It seems to be left over from the first attempt at stable localization keys Change 3578433 by Matt.Kuhlenschmidt Fix content browser settings being per project and having created a "Global" category for one setting Change 3578556 by Max.Chen Editor: Fix toolbar shared ref which was keeping the viewport toolbar around when switching between default and cinematic viewports. #jira UE-48125 Change 3578561 by Matt.Kuhlenschmidt Fix USD importing not respecting DestinationPath for automated import Change 3580124 by Matt.Kuhlenschmidt Fix bogus warning message when a property has an editcondition that is not marked edit aynwhere. This has always been supported and is the correct way to make an editcondition Change 3581936 by Jamie.Dale Restoring defaults for UContentBrowserSettings Change 3582039 by Matt.Kuhlenschmidt High DPI mode changes - Editor viewport screen percentage is now adjusted automatically to account for DPI scaling. By default the scene will be rendered at a lower resolution based on screen percentage calculated based on 100/DPIScale. Users can override this automatic calcuation in the performance options if desired. - DPI awareness is only set on windows in the editor now (still disabled by default) - Fixed hit proxy calculation not working properly with screen percentage - Developers can now register a delegate with SlateApplication to tell when a window's DPI changes Change 3582049 by Matt.Kuhlenschmidt Fix color picker not properly converting FColor properties back to gamma space Change 3582054 by Matt.Kuhlenschmidt Fix mac menus updating during unsafe times such as modal windows and slow tasks #jira UE-47874 Change 3582084 by Jamie.Dale Make sure to update the rendering resources for the active world if reloading its map build data This prevents a crash in the renderer due to it holding onto stale data Change 3582257 by Matt.Kuhlenschmidt Fix widget component spawning widgets on cook #jira UE-48201 Change 3582655 by Matt.Kuhlenschmidt Fix DPI scale not being accounted for when entering immersive. Change 3582706 by Matt.Kuhlenschmidt Fix automation tests Change 3582728 by Matt.Kuhlenschmidt Turn on high dpi by default for windows editor Change 3582732 by Matt.Kuhlenschmidt Turn on high DPI by default for mac editor Change 3583112 by Max.Chen Sequencer: Add OnPlayReverse() event for when playback is in reverse Change 3584130 by Matt.Kuhlenschmidt PR #3897: Git plugin: fix action icon in history window (Contributed by SRombauts) Change 3584237 by Matt.Kuhlenschmidt Added the beginnings of a way to extend the usd importer with a custom resolver class that optionally handles prim identification and mesh and actor spawning. Added a test resolver that handles prims based on usd "kind" metadata. Change 3584535 by Matt.Kuhlenschmidt Fix LOD identification in USD files Change 3587703 by Matt.Kuhlenschmidt Fix tooltip Change 3587901 by Matt.Kuhlenschmidt Fixed USD importing not finding and importing LODs properly Change 3588380 by Matt.Kuhlenschmidt Fix ctrl+w not duplicating on mac #jira UE-46573 Change 3590435 by Jamie.Dale Added support for in-editor previews of localized game text This is configured by the "Preview Game Culture" setting, and will automatically be active when PIE is running (the preview language is also passed to any standalone games that are launched via the editor). This preview can also be used in the UMG editor to preview widgets in different languages. While a preview is running, all editable FText fields are locked-down (read-only) to prevent accidentally clobbering source data with translation data. You can also use this new lock-down feature to prevent any localization changes in your project (set "LockLocalization" to "True" under the "Internationalization" section of either your DefaultGame or DefaultEngine INI). In order to allow the game translations to be used in the editor, we now map the translation to any package localization ID variants when the LocRes data is loaded (or when looking up a specific piece of text). This is needed as the LocRes files only ever contain the "clean" versions of the IDs (without the package localization ID the editor uses), and also means that we no longer need to gather the "editor-only" variants of the text within assets. Change 3592131 by Matt.Kuhlenschmidt Log for newly converted actors being pending kill #jira UE-47464 Change 3592200 by Matt.Kuhlenschmidt Made the class viewer menu function properly on mac. Since it as a nomad tab it wasnt properly inserting itself into the top level menu on mac nor should it since it could be docked anywhere. The filters menu is now consistent with other filters menus Change 3592227 by Matt.Kuhlenschmidt Fix drag drop of actors being offset with high dpi monitors. Change 3592719 by Bradut.Palas #jira UE-45632 - dual key bindings feature My approach was transforming the ActiveChord and DefaultChord into arrays and accessing them through an enum class called EMultipleKeyBindingIndex. A lot of connecting code, function prototypes, and data structures had to be changed to accomodate this. Most menus and tooltip texts are generated using the first valid active shortcut. Change 3592793 by Bradut.Palas Fix compile warnings for InputBindingManager (there were actually hidden bugs among them) Change 3593128 by Matt.Kuhlenschmidt Force low quality mode for background blurs by default on android Change 3593579 by Michael.Dupuis #jira UE-47223 : If we have no world simply return null when GetLandscapeInfo is called Handle the cases in PostEditChange to handle null returned from GetLandscapeInfo Change 3593580 by Michael.Dupuis Added missing shaders while generating thumbnails Change 3593582 by Michael.Dupuis #jira UE-47492 : Make sure LayerInfo is valid before accessing data Change 3593584 by Michael.Dupuis #jira UE-47253: Do not recreate the scene info in simulation mode Change 3593585 by Michael.Dupuis #jira UE-48484: no longer mark the package dirty while generating the GrassMap if they were not existing Change 3593586 by Michael.Dupuis #jira UE-48483 : hide the Rendering property group so user can't by mistake change the actor visibility Change 3593593 by Michael.Dupuis #jira UE-48327: Added guard to prevent crash when using CVarFoliageDiscardDataOnLoad and having invalid foliage in your map Change 3593597 by Michael.Dupuis #jira UE-48309: Do not build the tree if the static mesh is not even loaded yet #jira UE-48340: Properly support the Random stream and partial buffer update #jira UE-48228: Instance from blueprint are now visible in standalone game #jira UE-45854: Crash probably linked to post load called on not loaded static mesh #jira UE-48035: Properly init the per instance render data when creating a new component Only update instance in non archetype or CDO. Change 3594060 by Matt.Kuhlenschmidt Fix high DPI mode being set for non-editor. Also prevent possible crashes due to dll handle for high DPI method being freed before called Change 3594355 by Matt.Kuhlenschmidt Change API help link to point to a website since offline CHM based docs are no longer used #jira UE-48230 Change 3595358 by Matt.Kuhlenschmidt Fixed bad initial window position and sizes for editor windows By default SWindow.ClientSize will assume unscaled window size and will scale it based on DPI as needed. AdjustInitialSizeAndPositionForDPIScale argument can be used to disable this if needed Fixed a dock tabs and the main frame not taking into account dpi scale when saving their layout. Now we always save window size at 1.0 scale and auto scale it based on DPI of the monitor it opens on. #jira UE-48446 Change 3595590 by Matt.Kuhlenschmidt Fix missing includes Change 3595792 by Matt.Kuhlenschmidt Fix style warnings Change 3596418 by Bradut.Palas fixing initial issue with dual keybinds (removed ensure macro to speedup first use of alternate key) Change 3598679 by Max.Chen PR #3872: Fix small typo in ImagePlate Plugin (Contributed by TheCodez) #jira UE-48141 Change 3598720 by Max.Chen Cine Camera: Add toggle to disable constraining the roll when look at tracking is enabled. This allows the user to animate the roll while tracking an object. #jira UE-48316 Change 3600236 by Alexis.Matte Create a LOD Custom Mode in the meshes editor UI. This allow user to compare details values between LODs #jira UE-46822 Change 3600260 by Alexis.Matte Make sure temporary rename do not create redirector #jira UE-48364 Change 3600671 by Lauren.Ridge PR #3913: Fixed 3D preview issue in the material editor (Contributed by YuchenMei) #jira UE-48539 #jira UE-48180 #jira UE-48182 Change 3600812 by Jamie.Dale We now defer the registration of IME contexts until an editable text first gains focus Certain IMEs can have very high per-context costs, so this avoids that cost until we know that we definitely need to use the context #jira UE-48100 Change 3601839 by Matt.Kuhlenschmidt Fix USD import crash with "facevarying" normals Change 3602434 by Jamie.Dale Removing dead code These flags were never being tested or used in any meaningul way Change 3602611 by Jamie.Dale Ensure PackageToReload is non-null #jira UE-46655 Change 3602648 by Jamie.Dale Fixed custom columns with the same name as fixed columns causing infinite duplications in the content browser #jira UE-47392 Change 3602651 by Lauren.Ridge Fix for parameter tooltips not being found #jira UE-47417 Change 3604172 by Bradut.Palas #jira UE-48449 #jira UE-48380 #jira UE-48381 #jira UE-48423 I moved the IsFilenameValidForSaving() function from FEditorFileUtils to FFileHelper so that it is accessible from CollectionManager.cpp in order to validate collection names as file names and no longer trigger any of the bugs. Change 3604210 by Bradut.Palas #jira UE-48718 Regression issue appeared from fixing a crash when using console command "open" Reworked by only refusing to open local URLs in case of client mode and multiprocess being active simultaneously. Change 3604258 by Jamie.Dale IME contexts can now flag themselves as dead to avoid latent IME callbacks trying to access a deleted widget #jira UE-46815 #jira UE-47295 Change 3604312 by Matt.Kuhlenschmidt PR #3931: Fixing a few obvious copy & paste errors. (Contributed by DaveC79) Change 3604352 by Matt.Kuhlenschmidt Fix crash accessing potentially invalid parent layout from a detail category #jira UE-48729 Change 3604402 by Lauren.Ridge Epic Friday - array drag and drop Change 3605228 by Cody.Albert TSets and TMaps should now properly rehash if a key is modified in the details panel. Change 3605275 by Alexis.Matte Merge actor do not keep the material slot name #jira UE-43246 Change 3605715 by Max.Chen Sequencer: Fix cinematic mode getting activated on BeginPlay() instead of OnStartedPlaying(). #jira UE-48770 Change 3606411 by Max.Chen Sequencer: Fix a few player state issues. When paused, calling stop now tears down properly (spawnables are removed, etc). When a level sequence is deleted, tears down properly as well. #jira UE-42008 Change 3606440 by Max.Chen Sequencer: Update spawanble name when the spawnable actor name is changed. #jira UE-47815 Change 3606899 by Lauren.Ridge Disabling enum-based arrays from reordering Change 3606958 by Lauren.Ridge Visual polish on array handles Change 3607733 by Max.Chen Sequencer: Check null in camera cut Change 3607849 by Max.Chen Sequencer: Clip transport controls. #jira UE-48812 Change 3608181 by Max.Chen #jira UE-48813 Correctly set GPlayInEditorID when initializing the PIE gameinstance, which does the initial tick. This fixes autoplay sequences Copy from Dev-Framework Change 3608361 by christopher.biancard QAGame: Submitting test content for Array Element Reorder testing Change 3608512 by Alexis.Matte Add fbx exporter option dialog, support export all and cancel all functionality when doing bulk export. #jira UE-48058 Change 3608629 by Max.Chen Camera Rig: Fix crane and rail not being packaged properly. #jira UE-48829 Change 3609217 by Matt.Kuhlenschmidt Added a lock around access to slate active timers to protect it against race conditions when accessed on the slate movie thread and the game thread Change 3609722 by Alexis.Matte Make sure a warning is log when we cannot export an animation sequence. #jira UE-48390 Change 3609774 by Alexis.Matte Fix the merge actor build LOD scale again, a previous merge erase the fix #jira UE-48156 Change 3609891 by christopher.biancard QAGame: Minor additions for test coverage on Array Element Reorder Change 3610171 by Lauren.Ridge Fixes for reordering metadata, creating actual swap function out of three element functions #jira UE-48823 Change 3610407 by Lauren.Ridge Fixing highlighting and behavior to place dragged row in the spot you release (not below) Change 3610472 by Lauren.Ridge Moving final location logic Change 3610797 by Lauren.Ridge Disabling dragging handles during PIE Change 3611089 by Lauren.Ridge Disabling handles when overall tree is disabled Change 3612479 by Lauren.Ridge Fix for asset contex menu warning #jira UE-46667 Change 3612791 by Michael.Dupuis #jira UE-48914 : Add the possibility to specify if we need CPU access to the instance buffer depending on the usage. Grass should always have CPU access. Change 3612802 by Michael.Dupuis missing file from checkin 3612791 Change 3612805 by Max.Chen Sequencer: Fix crash with null GEditor Copy from Release-4.17 #jira UE-48443 Change 3612806 by Max.Chen Sequencer: Fix crash when capturing a movie with options enabling separate process and close editor. Copy from Release-4.17 #jira UE-48487 Change 3612807 by Max.Chen Sequencer: Fix crash upgrading the time range of a null track. Copy from Release-4.17 #jira UE-48490 Change 3612808 by Max.Chen Sequencer: Fixed dragging skeletal animations causing them to revert back to t-pose Copy from Release-4.17 #jira UE-48367 Change 3612849 by Arciel.Rekman Fix tesselation in packaged Linux projects (UE-24301). - Change by Cengiz.Terzibas. #jira UE-24301 Change 3613022 by Nick.Darnell Editor - Fixing a crash on load with a null CoordIndex json node. Change 3613030 by Matt.Kuhlenschmidt PR #3932: UE-48693: if instead of while statement (Contributed by projectgheist) #jira UE-48747 Change 3613047 by Matt.Kuhlenschmidt PR #3933: Git plugin: add "branch source" in history window (Contributed by SRombauts) Change 3613050 by Matt.Kuhlenschmidt PR #3942: Sort Data Table Structures Alphabetically (Contributed by Nick-Pearson) Change 3613062 by Matt.Kuhlenschmidt PR #3939: Fix a typo in RecordQualityLevelsAnalytics(). (Contributed by samhocevar) Change 3613241 by Nick.Darnell Editor - Fixing the content browser's view settings to be project agnostic, and they will start saving again. Change 3613329 by Lauren.Ridge Moving favorite levels to a standard submenu so they also work on Mac Change 3613344 by Nick.Darnell Editor - Fixing the achorgrid show up as white in HDPI mode, seems because we were upsampling the image, the blend was between dark and a transparent white, so that caused everything to turn white in HDPI mode. #jira UE-48921 Change 3613380 by Matt.Kuhlenschmidt Fix FBX window being off the screen in high DPI #jira UE-48872 Change 3614598 by Matt.Kuhlenschmidt Fixed Sequencer Keyframes appearing out of place on High DPI Monitors #jira UE-48915 Change 3614625 by Matt.Kuhlenschmidt Fixed not being able to click on BSP correctly in high dpi #jira UE-48947 Change 3614672 by Matt.Kuhlenschmidt Fix combo box windows being larger than necessary on high dpi monitors #jira UE-48908 Change 3614699 by Matt.Kuhlenschmidt Fix typo #jira UE-48941 Change 3615011 by Matt.Kuhlenschmidt Fix color picker calculation appearing offscreen for high dpi Change 3615013 by Michael.Dupuis #jira UE-48897: Properly rebuild the tree when reapplying instance to the component Change 3615014 by Colin.Benoit Sequencer Recorder test content Change 3615048 by Colin.Benoit Sequencer Recorder: more test content Change 3615118 by Lauren.Ridge Updating realtime state of viewports to also change when settings toggled #jira UE-48884 Change 3615127 by Lauren.Ridge Remove delegate binding on viewport destruction Change 3615180 by Bradut.Palas #jira UE-48167 profiler crash Don't duplicate the graph data when rebuilding because that completely voids the OneToOneMapping mechanism, resulting in the crash. Looking up objects in the mapping would always return null because the mapping contains the old addresses, before the rebuild. One option would have been to completely rebuild the mapping according to the duplicate graph, which would be dubious because the duplicate method isn't specifically designed so that the result would replace the source. But it looks like duplicating the data is not needed, it's safe to rebuild in-place, RebuildForFilter() doesn't do anything illegal with the objects. This is also the only purpose and the only reference of the function. Change 3615232 by Lauren.Ridge Adding input handling to the material editor viewport client #jira UE-48909 Change 3615703 by Jamie.Dale Fixed crash when fixing up references after a package rename failed #jira UE-48856 Change 3615752 by Matt.Kuhlenschmidt More generic fix for color picker and other windows that use CalculatePopupWindowPostion not accounting for DPI scale Change 3615907 by Jamie.Dale Fixed some crashes caused by CL# 3600812 Change 3616031 by Matt.Kuhlenschmidt Added guard against invalid blueprints (ones without a generated class) being trying to be opened in the property matrix and failing #jira UE-48986 Change 3616151 by Arciel.Rekman Fixing adding array elements in config. - "+Blah=Foo" will do Blah.AddUnique(Foo) - ".Blah=Foo" will do Blah.Add(Foo) - See JoshA re: why (also see: https://udn.unrealengine.com/questions/388157/incorrect-behavior-in-configcacheinicpp.html?childToView=389307) Change 3616439 by Andrew.Porter QAGame: Updating level visibility content in sequencer smoke map Change 3616441 by Matt.Kuhlenschmidt Fix more sequencer track offsetting with DPI scale #jira UE-48981 Change 3617263 by Max.Chen Sequencer: Fix crash in level visibility teardown. Null playback context. #jira UE-49012 Change 3617316 by Max.Chen Sequencer: Fixed a regression where the frame rate isn't getting initialized for a movie scene. Change 3617648 by Matt.Kuhlenschmidt Adding some windows specific logging around setting or failing to set process dpi awareness Change 3617665 by Matt.Kuhlenschmidt Guard against layers module not being loaded in keybinding automation test Change 3617731 by Arciel.Rekman Fix crashes on AMD Mesa drivers (UE-48374). - Do not expose unnecessary symbols from libelf.a to avoid symbol collision with system library used by drivers. Change 3617923 by Bradut.Palas #jira UE-47072 Editor was crashing because deleted actor was not cleaned properly from asset editors. Changed IAssetEditorInstance to offer a function for deleting an object from the editor. Change 3618088 by Matt.Kuhlenschmidt Guard against crash with potentially invalid worlds in preview scenes #jira UE-48997 Change 3618373 by Matt.Kuhlenschmidt Force worldsettings to be hidden in editor so that it is not considered for selection #jira UE-48996 Change 3618464 by Max.Chen Sequencer: Fix regression where spawnables don't play because they're defined as temporary editor actors. #jira UE-48923 Change 3619789 by Matt.Kuhlenschmidt Fix DPI scale warnings in any kind of headless editor mode Change 3619802 by Jamie.Dale Fixed deprecation warning in malloc profiler Change 3619841 by Matt.Kuhlenschmidt Fix missing icons in the package project menu #jira UE-48674 Change 3619991 by Lauren.Ridge Fix typo in transaction message #jira UE-48993 Change 3620086 by Lauren.Ridge Moving realtime viewport logic to refresh instead of construct so it is always triggered upon opening a new material editor #jira UE-48884 Change 3620616 by Matt.Kuhlenschmidt Fix up file Change 3621002 by Matt.Kuhlenschmidt Back out change to apply scaling rules in loading screens since blueprint based DPI scaling rule classes will not have been created yet #jira UE-49125 Change 3621049 by Arciel.Rekman Fix a build error. - Also make sure that we don't print confusing message when no messagebox can be shown (this code changed during the merge). Change 3621064 by Arciel.Rekman Deleted too much in the previous changelist. Change 3621369 by Matt.Kuhlenschmidt Fix keybindings automation test failing due to multiple entries in the active choords array pointing to the same thing #jira UE-49131 [CL 3621569 by Matt Kuhlenschmidt in Main branch]
2017-08-31 21:51:42 -04:00
if (NodeCommands[Index]->GetClass() == MaterialExpressionClass && NodeCommands[Index]->CommandInfo->GetFirstValidChord()->IsValidChord())
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3621452) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3567301 by Arciel.Rekman Linux: fix for importing failure when clicking shortcuts (UE-47932). - Slate dialog would return incorrect relative paths (not matching CWD) if Engine or Project shortcuts were used. #jira UE-47932 Change 3567687 by Arciel.Rekman Minor fixes to gdb pretty printers by icculus. Change 3568024 by Arciel.Rekman Made SDL_SetWindowInputFocus() wait until window is viewable (UE-33369). - Pull request #2608 contributed by Ereski. - Updated x86_64 lib only (anticipating more changes to SDL). #coderview Cengiz.Terzibas, Ryan.Gordon Change 3568173 by Max.Chen Movie Scene Capture: Delay on shot boundaries by setting the sequencer play rate to 0. This allows particles, TAA, and other effects to settle on the shot cuts. #jira UE-44598 Change 3568174 by Max.Chen Sequencer: Added option to rerun construction scripts on bound actors in the sequence every frame. #jira UE-31193 Change 3568331 by Matt.Kuhlenschmidt PR #3850: Add extensible source navigation service (Contributed by mhutch) Change 3568350 by Matt.Kuhlenschmidt PR #3851: Add argument to pass params to standalone play session (Contributed by mhutch) Change 3568387 by Matt.Kuhlenschmidt PR #3852: Add FEditorDelegates::BeginLocalPlay event (Contributed by mhutch) Change 3568541 by Arciel.Rekman Merged Icculus' patch for copy-paste (UE-40071). - Alas does not seem to fix inability to copy/paste between Output log and kate. - Updated x86_64 lib only (anticipating more changes). Change 3568547 by Arciel.Rekman Fix OpenGL queries reused after deletion. Change 3568790 by Matt.Kuhlenschmidt PR #3857: Loading screen widgets not scaled correctly (Contributed by projectgheist) Change 3568900 by Alexis.Matte Fix the fbx re-import factory handler to say failed in case there was no geometry to import. #jira UE-47506 Change 3568902 by Alexis.Matte Reduce memory footprint when importing large FBX scene PR #3834 #jira UE-47833 Change 3569061 by Arciel.Rekman Linux: remove unnecessary symbols for MSVC visualizers. - Reported by ASan as collision because they exist in each DSO. Change 3569782 by Cody.Albert Updated ImportAssets Commandlet help text to properly reflect supported features. Change 3569843 by Arciel.Rekman SDL: add logic to select headless EGL device. - SDL will try to guess which device is GPU using CUDA device id (can also be hinted explicitly). - Also fixes the problem of engine not starting on some drivers that don't support the necessary EGL extensions. Change 3570234 by Max.Chen Sequencer: Import FBX settings. Added settings to toggle force front x axis and whether to create cameras that don't already exist in the level. #jira UE-46754 Change 3570578 by Arciel.Rekman Linux: make FAnsiMalloc compatible with malloc()/free(). - Prerequisite for ASan. Also helps fringe cases when we have to use FAnsiMalloc. Change 3571015 by Alexis.Matte Issue warning when we found zero normal, tangent or binormal #jira UE-46419 Change 3571376 by Jamie.Dale Force a unique package localization ID when loading packages for diffing Change 3571412 by Jamie.Dale Removed unused setting Change 3571487 by Alexis.Matte fix speed tree import cancel workflow #jira UE-47482 Change 3571614 by Jamie.Dale Games now use the native culture of any of the game targets as the fallback (rather than always using English) This replaces the previously removed redundant setting from CL# 3571412 Change 3572649 by Jamie.Dale SavePackageHelper now always honors KeepObjectFlags Change 3572730 by Matt.Kuhlenschmidt Guard against crash in the details panel when there is a message in the queue and something scrolls into view when the list has been invalidated #jira UE-48037 Change 3572773 by Matt.Kuhlenschmidt Guard against high res screenshot crashing if the requested image size doesnt match the image data size #jira UE-47765 Change 3572813 by Michael.Trepka Workaround for a mysterious issue in Xcode 9 beta 3 and 4 which makes it generate -Wnullability-inferred-on-nested-type warnings/errors in MetalDebugCommandEncoder.h even though we tell Clang to ignore them in MacPlatformCompilerPreSetup.h Change 3573043 by Arciel.Rekman FAnsiMalloc: fix compile issue (UE-48066). #jira UE-48066 Change 3573236 by Arciel.Rekman Linux: add UnrealLightmass to the installed build. - Was also requested by a licensee on UDN. Change 3573705 by Arciel.Rekman SDL: update UE4 fork to the latest trunk (UETOOL-1242). - Revision 11184 form 2017-08-04: http://hg.libsdl.org/SDL/rev/04063928c4a8 - Change by icculus (Ryan Gordon). - Rebuilt x86_64 library only for now. Change 3573741 by Arciel.Rekman Fix crash when capturing a movie (UE-48093). #jira UE-48093 Change 3574389 by Max.Chen Sequencer: Array bounds check. #jira UE-48095 Change 3574399 by Max.Chen Sequencer: Fix crash in removing delegate #jira UE-47461 Change 3574415 by Max.Chen Sequencer: Put level visibility tracks in the SpawnObjects evaluation group to ensure levels are streamed before any possessable bindings are resolved Change 3574416 by Max.Chen Prevent slow task feedback from performing slow operations (flushing rendering commands, checking if shaders are initialized) when there are no modal dialogs open Change 3574726 by Matt.Kuhlenschmidt Focus the details view when actor selection changes if it is not focused Change 3574922 by Michael.Trepka Copy of CL 3574653 by Richard.Wallis XCode Beta 4 Compile fixes. "Inferring '_Nonnull' for pointer type within array is deprecated " Change 3576525 by Nick.Darnell Editor - Data table rows names sort correctly in the property customization. Blueprint - Fixing some crashes due to holding onto raw pointers instead of TWeakObjectPtrs. UMG - SetWidgetClass now reinstances the widget if you change it at runtime. Editor - Deleting actors that are still referenced now at least logs to the console what still references it. Change 3576714 by Nick.Darnell Editor - Build fix. Change 3576770 by Jamie.Dale Removed some dead code It seems to be left over from the first attempt at stable localization keys Change 3578433 by Matt.Kuhlenschmidt Fix content browser settings being per project and having created a "Global" category for one setting Change 3578556 by Max.Chen Editor: Fix toolbar shared ref which was keeping the viewport toolbar around when switching between default and cinematic viewports. #jira UE-48125 Change 3578561 by Matt.Kuhlenschmidt Fix USD importing not respecting DestinationPath for automated import Change 3580124 by Matt.Kuhlenschmidt Fix bogus warning message when a property has an editcondition that is not marked edit aynwhere. This has always been supported and is the correct way to make an editcondition Change 3581936 by Jamie.Dale Restoring defaults for UContentBrowserSettings Change 3582039 by Matt.Kuhlenschmidt High DPI mode changes - Editor viewport screen percentage is now adjusted automatically to account for DPI scaling. By default the scene will be rendered at a lower resolution based on screen percentage calculated based on 100/DPIScale. Users can override this automatic calcuation in the performance options if desired. - DPI awareness is only set on windows in the editor now (still disabled by default) - Fixed hit proxy calculation not working properly with screen percentage - Developers can now register a delegate with SlateApplication to tell when a window's DPI changes Change 3582049 by Matt.Kuhlenschmidt Fix color picker not properly converting FColor properties back to gamma space Change 3582054 by Matt.Kuhlenschmidt Fix mac menus updating during unsafe times such as modal windows and slow tasks #jira UE-47874 Change 3582084 by Jamie.Dale Make sure to update the rendering resources for the active world if reloading its map build data This prevents a crash in the renderer due to it holding onto stale data Change 3582257 by Matt.Kuhlenschmidt Fix widget component spawning widgets on cook #jira UE-48201 Change 3582655 by Matt.Kuhlenschmidt Fix DPI scale not being accounted for when entering immersive. Change 3582706 by Matt.Kuhlenschmidt Fix automation tests Change 3582728 by Matt.Kuhlenschmidt Turn on high dpi by default for windows editor Change 3582732 by Matt.Kuhlenschmidt Turn on high DPI by default for mac editor Change 3583112 by Max.Chen Sequencer: Add OnPlayReverse() event for when playback is in reverse Change 3584130 by Matt.Kuhlenschmidt PR #3897: Git plugin: fix action icon in history window (Contributed by SRombauts) Change 3584237 by Matt.Kuhlenschmidt Added the beginnings of a way to extend the usd importer with a custom resolver class that optionally handles prim identification and mesh and actor spawning. Added a test resolver that handles prims based on usd "kind" metadata. Change 3584535 by Matt.Kuhlenschmidt Fix LOD identification in USD files Change 3587703 by Matt.Kuhlenschmidt Fix tooltip Change 3587901 by Matt.Kuhlenschmidt Fixed USD importing not finding and importing LODs properly Change 3588380 by Matt.Kuhlenschmidt Fix ctrl+w not duplicating on mac #jira UE-46573 Change 3590435 by Jamie.Dale Added support for in-editor previews of localized game text This is configured by the "Preview Game Culture" setting, and will automatically be active when PIE is running (the preview language is also passed to any standalone games that are launched via the editor). This preview can also be used in the UMG editor to preview widgets in different languages. While a preview is running, all editable FText fields are locked-down (read-only) to prevent accidentally clobbering source data with translation data. You can also use this new lock-down feature to prevent any localization changes in your project (set "LockLocalization" to "True" under the "Internationalization" section of either your DefaultGame or DefaultEngine INI). In order to allow the game translations to be used in the editor, we now map the translation to any package localization ID variants when the LocRes data is loaded (or when looking up a specific piece of text). This is needed as the LocRes files only ever contain the "clean" versions of the IDs (without the package localization ID the editor uses), and also means that we no longer need to gather the "editor-only" variants of the text within assets. Change 3592131 by Matt.Kuhlenschmidt Log for newly converted actors being pending kill #jira UE-47464 Change 3592200 by Matt.Kuhlenschmidt Made the class viewer menu function properly on mac. Since it as a nomad tab it wasnt properly inserting itself into the top level menu on mac nor should it since it could be docked anywhere. The filters menu is now consistent with other filters menus Change 3592227 by Matt.Kuhlenschmidt Fix drag drop of actors being offset with high dpi monitors. Change 3592719 by Bradut.Palas #jira UE-45632 - dual key bindings feature My approach was transforming the ActiveChord and DefaultChord into arrays and accessing them through an enum class called EMultipleKeyBindingIndex. A lot of connecting code, function prototypes, and data structures had to be changed to accomodate this. Most menus and tooltip texts are generated using the first valid active shortcut. Change 3592793 by Bradut.Palas Fix compile warnings for InputBindingManager (there were actually hidden bugs among them) Change 3593128 by Matt.Kuhlenschmidt Force low quality mode for background blurs by default on android Change 3593579 by Michael.Dupuis #jira UE-47223 : If we have no world simply return null when GetLandscapeInfo is called Handle the cases in PostEditChange to handle null returned from GetLandscapeInfo Change 3593580 by Michael.Dupuis Added missing shaders while generating thumbnails Change 3593582 by Michael.Dupuis #jira UE-47492 : Make sure LayerInfo is valid before accessing data Change 3593584 by Michael.Dupuis #jira UE-47253: Do not recreate the scene info in simulation mode Change 3593585 by Michael.Dupuis #jira UE-48484: no longer mark the package dirty while generating the GrassMap if they were not existing Change 3593586 by Michael.Dupuis #jira UE-48483 : hide the Rendering property group so user can't by mistake change the actor visibility Change 3593593 by Michael.Dupuis #jira UE-48327: Added guard to prevent crash when using CVarFoliageDiscardDataOnLoad and having invalid foliage in your map Change 3593597 by Michael.Dupuis #jira UE-48309: Do not build the tree if the static mesh is not even loaded yet #jira UE-48340: Properly support the Random stream and partial buffer update #jira UE-48228: Instance from blueprint are now visible in standalone game #jira UE-45854: Crash probably linked to post load called on not loaded static mesh #jira UE-48035: Properly init the per instance render data when creating a new component Only update instance in non archetype or CDO. Change 3594060 by Matt.Kuhlenschmidt Fix high DPI mode being set for non-editor. Also prevent possible crashes due to dll handle for high DPI method being freed before called Change 3594355 by Matt.Kuhlenschmidt Change API help link to point to a website since offline CHM based docs are no longer used #jira UE-48230 Change 3595358 by Matt.Kuhlenschmidt Fixed bad initial window position and sizes for editor windows By default SWindow.ClientSize will assume unscaled window size and will scale it based on DPI as needed. AdjustInitialSizeAndPositionForDPIScale argument can be used to disable this if needed Fixed a dock tabs and the main frame not taking into account dpi scale when saving their layout. Now we always save window size at 1.0 scale and auto scale it based on DPI of the monitor it opens on. #jira UE-48446 Change 3595590 by Matt.Kuhlenschmidt Fix missing includes Change 3595792 by Matt.Kuhlenschmidt Fix style warnings Change 3596418 by Bradut.Palas fixing initial issue with dual keybinds (removed ensure macro to speedup first use of alternate key) Change 3598679 by Max.Chen PR #3872: Fix small typo in ImagePlate Plugin (Contributed by TheCodez) #jira UE-48141 Change 3598720 by Max.Chen Cine Camera: Add toggle to disable constraining the roll when look at tracking is enabled. This allows the user to animate the roll while tracking an object. #jira UE-48316 Change 3600236 by Alexis.Matte Create a LOD Custom Mode in the meshes editor UI. This allow user to compare details values between LODs #jira UE-46822 Change 3600260 by Alexis.Matte Make sure temporary rename do not create redirector #jira UE-48364 Change 3600671 by Lauren.Ridge PR #3913: Fixed 3D preview issue in the material editor (Contributed by YuchenMei) #jira UE-48539 #jira UE-48180 #jira UE-48182 Change 3600812 by Jamie.Dale We now defer the registration of IME contexts until an editable text first gains focus Certain IMEs can have very high per-context costs, so this avoids that cost until we know that we definitely need to use the context #jira UE-48100 Change 3601839 by Matt.Kuhlenschmidt Fix USD import crash with "facevarying" normals Change 3602434 by Jamie.Dale Removing dead code These flags were never being tested or used in any meaningul way Change 3602611 by Jamie.Dale Ensure PackageToReload is non-null #jira UE-46655 Change 3602648 by Jamie.Dale Fixed custom columns with the same name as fixed columns causing infinite duplications in the content browser #jira UE-47392 Change 3602651 by Lauren.Ridge Fix for parameter tooltips not being found #jira UE-47417 Change 3604172 by Bradut.Palas #jira UE-48449 #jira UE-48380 #jira UE-48381 #jira UE-48423 I moved the IsFilenameValidForSaving() function from FEditorFileUtils to FFileHelper so that it is accessible from CollectionManager.cpp in order to validate collection names as file names and no longer trigger any of the bugs. Change 3604210 by Bradut.Palas #jira UE-48718 Regression issue appeared from fixing a crash when using console command "open" Reworked by only refusing to open local URLs in case of client mode and multiprocess being active simultaneously. Change 3604258 by Jamie.Dale IME contexts can now flag themselves as dead to avoid latent IME callbacks trying to access a deleted widget #jira UE-46815 #jira UE-47295 Change 3604312 by Matt.Kuhlenschmidt PR #3931: Fixing a few obvious copy & paste errors. (Contributed by DaveC79) Change 3604352 by Matt.Kuhlenschmidt Fix crash accessing potentially invalid parent layout from a detail category #jira UE-48729 Change 3604402 by Lauren.Ridge Epic Friday - array drag and drop Change 3605228 by Cody.Albert TSets and TMaps should now properly rehash if a key is modified in the details panel. Change 3605275 by Alexis.Matte Merge actor do not keep the material slot name #jira UE-43246 Change 3605715 by Max.Chen Sequencer: Fix cinematic mode getting activated on BeginPlay() instead of OnStartedPlaying(). #jira UE-48770 Change 3606411 by Max.Chen Sequencer: Fix a few player state issues. When paused, calling stop now tears down properly (spawnables are removed, etc). When a level sequence is deleted, tears down properly as well. #jira UE-42008 Change 3606440 by Max.Chen Sequencer: Update spawanble name when the spawnable actor name is changed. #jira UE-47815 Change 3606899 by Lauren.Ridge Disabling enum-based arrays from reordering Change 3606958 by Lauren.Ridge Visual polish on array handles Change 3607733 by Max.Chen Sequencer: Check null in camera cut Change 3607849 by Max.Chen Sequencer: Clip transport controls. #jira UE-48812 Change 3608181 by Max.Chen #jira UE-48813 Correctly set GPlayInEditorID when initializing the PIE gameinstance, which does the initial tick. This fixes autoplay sequences Copy from Dev-Framework Change 3608361 by christopher.biancard QAGame: Submitting test content for Array Element Reorder testing Change 3608512 by Alexis.Matte Add fbx exporter option dialog, support export all and cancel all functionality when doing bulk export. #jira UE-48058 Change 3608629 by Max.Chen Camera Rig: Fix crane and rail not being packaged properly. #jira UE-48829 Change 3609217 by Matt.Kuhlenschmidt Added a lock around access to slate active timers to protect it against race conditions when accessed on the slate movie thread and the game thread Change 3609722 by Alexis.Matte Make sure a warning is log when we cannot export an animation sequence. #jira UE-48390 Change 3609774 by Alexis.Matte Fix the merge actor build LOD scale again, a previous merge erase the fix #jira UE-48156 Change 3609891 by christopher.biancard QAGame: Minor additions for test coverage on Array Element Reorder Change 3610171 by Lauren.Ridge Fixes for reordering metadata, creating actual swap function out of three element functions #jira UE-48823 Change 3610407 by Lauren.Ridge Fixing highlighting and behavior to place dragged row in the spot you release (not below) Change 3610472 by Lauren.Ridge Moving final location logic Change 3610797 by Lauren.Ridge Disabling dragging handles during PIE Change 3611089 by Lauren.Ridge Disabling handles when overall tree is disabled Change 3612479 by Lauren.Ridge Fix for asset contex menu warning #jira UE-46667 Change 3612791 by Michael.Dupuis #jira UE-48914 : Add the possibility to specify if we need CPU access to the instance buffer depending on the usage. Grass should always have CPU access. Change 3612802 by Michael.Dupuis missing file from checkin 3612791 Change 3612805 by Max.Chen Sequencer: Fix crash with null GEditor Copy from Release-4.17 #jira UE-48443 Change 3612806 by Max.Chen Sequencer: Fix crash when capturing a movie with options enabling separate process and close editor. Copy from Release-4.17 #jira UE-48487 Change 3612807 by Max.Chen Sequencer: Fix crash upgrading the time range of a null track. Copy from Release-4.17 #jira UE-48490 Change 3612808 by Max.Chen Sequencer: Fixed dragging skeletal animations causing them to revert back to t-pose Copy from Release-4.17 #jira UE-48367 Change 3612849 by Arciel.Rekman Fix tesselation in packaged Linux projects (UE-24301). - Change by Cengiz.Terzibas. #jira UE-24301 Change 3613022 by Nick.Darnell Editor - Fixing a crash on load with a null CoordIndex json node. Change 3613030 by Matt.Kuhlenschmidt PR #3932: UE-48693: if instead of while statement (Contributed by projectgheist) #jira UE-48747 Change 3613047 by Matt.Kuhlenschmidt PR #3933: Git plugin: add "branch source" in history window (Contributed by SRombauts) Change 3613050 by Matt.Kuhlenschmidt PR #3942: Sort Data Table Structures Alphabetically (Contributed by Nick-Pearson) Change 3613062 by Matt.Kuhlenschmidt PR #3939: Fix a typo in RecordQualityLevelsAnalytics(). (Contributed by samhocevar) Change 3613241 by Nick.Darnell Editor - Fixing the content browser's view settings to be project agnostic, and they will start saving again. Change 3613329 by Lauren.Ridge Moving favorite levels to a standard submenu so they also work on Mac Change 3613344 by Nick.Darnell Editor - Fixing the achorgrid show up as white in HDPI mode, seems because we were upsampling the image, the blend was between dark and a transparent white, so that caused everything to turn white in HDPI mode. #jira UE-48921 Change 3613380 by Matt.Kuhlenschmidt Fix FBX window being off the screen in high DPI #jira UE-48872 Change 3614598 by Matt.Kuhlenschmidt Fixed Sequencer Keyframes appearing out of place on High DPI Monitors #jira UE-48915 Change 3614625 by Matt.Kuhlenschmidt Fixed not being able to click on BSP correctly in high dpi #jira UE-48947 Change 3614672 by Matt.Kuhlenschmidt Fix combo box windows being larger than necessary on high dpi monitors #jira UE-48908 Change 3614699 by Matt.Kuhlenschmidt Fix typo #jira UE-48941 Change 3615011 by Matt.Kuhlenschmidt Fix color picker calculation appearing offscreen for high dpi Change 3615013 by Michael.Dupuis #jira UE-48897: Properly rebuild the tree when reapplying instance to the component Change 3615014 by Colin.Benoit Sequencer Recorder test content Change 3615048 by Colin.Benoit Sequencer Recorder: more test content Change 3615118 by Lauren.Ridge Updating realtime state of viewports to also change when settings toggled #jira UE-48884 Change 3615127 by Lauren.Ridge Remove delegate binding on viewport destruction Change 3615180 by Bradut.Palas #jira UE-48167 profiler crash Don't duplicate the graph data when rebuilding because that completely voids the OneToOneMapping mechanism, resulting in the crash. Looking up objects in the mapping would always return null because the mapping contains the old addresses, before the rebuild. One option would have been to completely rebuild the mapping according to the duplicate graph, which would be dubious because the duplicate method isn't specifically designed so that the result would replace the source. But it looks like duplicating the data is not needed, it's safe to rebuild in-place, RebuildForFilter() doesn't do anything illegal with the objects. This is also the only purpose and the only reference of the function. Change 3615232 by Lauren.Ridge Adding input handling to the material editor viewport client #jira UE-48909 Change 3615703 by Jamie.Dale Fixed crash when fixing up references after a package rename failed #jira UE-48856 Change 3615752 by Matt.Kuhlenschmidt More generic fix for color picker and other windows that use CalculatePopupWindowPostion not accounting for DPI scale Change 3615907 by Jamie.Dale Fixed some crashes caused by CL# 3600812 Change 3616031 by Matt.Kuhlenschmidt Added guard against invalid blueprints (ones without a generated class) being trying to be opened in the property matrix and failing #jira UE-48986 Change 3616151 by Arciel.Rekman Fixing adding array elements in config. - "+Blah=Foo" will do Blah.AddUnique(Foo) - ".Blah=Foo" will do Blah.Add(Foo) - See JoshA re: why (also see: https://udn.unrealengine.com/questions/388157/incorrect-behavior-in-configcacheinicpp.html?childToView=389307) Change 3616439 by Andrew.Porter QAGame: Updating level visibility content in sequencer smoke map Change 3616441 by Matt.Kuhlenschmidt Fix more sequencer track offsetting with DPI scale #jira UE-48981 Change 3617263 by Max.Chen Sequencer: Fix crash in level visibility teardown. Null playback context. #jira UE-49012 Change 3617316 by Max.Chen Sequencer: Fixed a regression where the frame rate isn't getting initialized for a movie scene. Change 3617648 by Matt.Kuhlenschmidt Adding some windows specific logging around setting or failing to set process dpi awareness Change 3617665 by Matt.Kuhlenschmidt Guard against layers module not being loaded in keybinding automation test Change 3617731 by Arciel.Rekman Fix crashes on AMD Mesa drivers (UE-48374). - Do not expose unnecessary symbols from libelf.a to avoid symbol collision with system library used by drivers. Change 3617923 by Bradut.Palas #jira UE-47072 Editor was crashing because deleted actor was not cleaned properly from asset editors. Changed IAssetEditorInstance to offer a function for deleting an object from the editor. Change 3618088 by Matt.Kuhlenschmidt Guard against crash with potentially invalid worlds in preview scenes #jira UE-48997 Change 3618373 by Matt.Kuhlenschmidt Force worldsettings to be hidden in editor so that it is not considered for selection #jira UE-48996 Change 3618464 by Max.Chen Sequencer: Fix regression where spawnables don't play because they're defined as temporary editor actors. #jira UE-48923 Change 3619789 by Matt.Kuhlenschmidt Fix DPI scale warnings in any kind of headless editor mode Change 3619802 by Jamie.Dale Fixed deprecation warning in malloc profiler Change 3619841 by Matt.Kuhlenschmidt Fix missing icons in the package project menu #jira UE-48674 Change 3619991 by Lauren.Ridge Fix typo in transaction message #jira UE-48993 Change 3620086 by Lauren.Ridge Moving realtime viewport logic to refresh instead of construct so it is always triggered upon opening a new material editor #jira UE-48884 Change 3620616 by Matt.Kuhlenschmidt Fix up file Change 3621002 by Matt.Kuhlenschmidt Back out change to apply scaling rules in loading screens since blueprint based DPI scaling rule classes will not have been created yet #jira UE-49125 Change 3621049 by Arciel.Rekman Fix a build error. - Also make sure that we don't print confusing message when no messagebox can be shown (this code changed during the merge). Change 3621064 by Arciel.Rekman Deleted too much in the previous changelist. Change 3621369 by Matt.Kuhlenschmidt Fix keybindings automation test failing due to multiple entries in the active choords array pointing to the same thing #jira UE-49131 [CL 3621569 by Matt Kuhlenschmidt in Main branch]
2017-08-31 21:51:42 -04:00
// Just return the first valid chord
return NodeCommands[Index]->CommandInfo->GetFirstValidChord();
}
}
return TSharedPtr< const FInputChord >();
}
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
#undef LOCTEXT_NAMESPACE