2016-12-08 08:52:44 -05:00
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
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 "MaterialEditor.h"
# include "Widgets/Text/STextBlock.h"
# include "EngineGlobals.h"
# include "Engine/SkeletalMesh.h"
# include "AI/Navigation/NavigationSystem.h"
# include "Engine/Engine.h"
# include "Misc/MessageDialog.h"
# include "Modules/ModuleManager.h"
# include "SlateOptMacros.h"
# include "Widgets/Layout/SSeparator.h"
# include "Widgets/Layout/SBox.h"
# include "Widgets/Input/SButton.h"
# include "EditorStyleSet.h"
# include "EdGraph/EdGraph.h"
# include "MaterialGraph/MaterialGraph.h"
# include "MaterialGraph/MaterialGraphNode_Comment.h"
# include "Editor/UnrealEdEngine.h"
# include "MaterialEditor/MaterialEditorInstanceConstant.h"
# include "Preferences/MaterialEditorOptions.h"
# include "MaterialGraph/MaterialGraphNode.h"
# include "MaterialGraph/MaterialGraphNode_Root.h"
# include "MaterialGraph/MaterialGraphSchema.h"
# include "MaterialEditor/PreviewMaterial.h"
# include "ThumbnailRendering/SceneThumbnailInfoWithPrimitive.h"
# include "Particles/ParticleSystemComponent.h"
# include "Materials/MaterialInstance.h"
# include "Materials/MaterialInstanceDynamic.h"
# include "Materials/MaterialInstanceConstant.h"
# include "Materials/MaterialParameterCollection.h"
# include "Engine/TextureCube.h"
# include "Dialogs/Dialogs.h"
# include "UnrealEdGlobals.h"
# include "Editor.h"
2014-03-14 14:13:41 -04:00
# include "MaterialEditorModule.h"
2014-05-22 11:33:54 -04:00
2014-10-07 16:39:44 -04:00
2014-05-22 11:33:54 -04:00
# include "Materials/MaterialExpressionBreakMaterialAttributes.h"
# include "Materials/MaterialExpressionCollectionParameter.h"
# include "Materials/MaterialExpressionComment.h"
# include "Materials/MaterialExpressionComponentMask.h"
# include "Materials/MaterialExpressionConstant.h"
# include "Materials/MaterialExpressionConstant2Vector.h"
# include "Materials/MaterialExpressionConstant3Vector.h"
# include "Materials/MaterialExpressionConstant4Vector.h"
2014-07-21 04:33:11 -04:00
# include "Materials/MaterialExpressionDynamicParameter.h"
2014-05-22 11:33:54 -04:00
# include "Materials/MaterialExpressionFontSampleParameter.h"
# include "Materials/MaterialExpressionFunctionInput.h"
# include "Materials/MaterialExpressionFunctionOutput.h"
# include "Materials/MaterialExpressionParameter.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "Materials/MaterialExpressionTextureBase.h"
# include "Materials/MaterialExpressionTextureSample.h"
2014-05-22 11:33:54 -04:00
# include "Materials/MaterialExpressionParticleSubUV.h"
# include "Materials/MaterialExpressionScalarParameter.h"
# include "Materials/MaterialExpressionStaticComponentMaskParameter.h"
# include "Materials/MaterialExpressionTextureSampleParameter.h"
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
# include "Materials/MaterialExpressionTextureObjectParameter.h"
2014-05-22 11:33:54 -04:00
# include "Materials/MaterialExpressionTextureObject.h"
# include "Materials/MaterialExpressionTextureSampleParameter2D.h"
# include "Materials/MaterialExpressionTextureSampleParameterCube.h"
# include "Materials/MaterialExpressionTextureSampleParameterSubUV.h"
# include "Materials/MaterialExpressionTransformPosition.h"
# include "Materials/MaterialExpressionVectorParameter.h"
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
# include "Materials/MaterialExpressionStaticBoolParameter.h"
# include "Materials/MaterialFunction.h"
# include "Materials/MaterialParameterCollection.h"
2014-05-22 11:33:54 -04:00
2014-03-14 14:13:41 -04:00
# include "MaterialEditorActions.h"
# include "MaterialExpressionClasses.h"
# include "MaterialCompiler.h"
2014-05-21 10:00:58 -04:00
# include "EditorSupportDelegates.h"
2014-03-14 14:13:41 -04:00
# include "AssetRegistryModule.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 "IAssetTools.h"
# include "IAssetTypeActions.h"
2014-03-14 14:13:41 -04:00
# include "AssetToolsModule.h"
# include "SMaterialEditorTitleBar.h"
# include "ScopedTransaction.h"
# include "BusyCursor.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 "PropertyEditorModule.h"
2014-03-14 14:13:41 -04:00
# include "MaterialEditorDetailCustomization.h"
# include "MaterialInstanceEditor.h"
# include "EditorViewportCommands.h"
# include "GraphEditor.h"
# include "GraphEditorActions.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "Kismet2/BlueprintEditorUtils.h"
# include "Logging/TokenizedMessage.h"
2014-03-14 14:13:41 -04:00
# include "EdGraphUtilities.h"
# include "SNodePanel.h"
# include "MaterialEditorUtilities.h"
# include "SMaterialPalette.h"
2014-04-23 18:30:12 -04:00
# include "FindInMaterial.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/FeedbackContext.h"
# include "UObject/UObjectHash.h"
# include "UObject/UObjectIterator.h"
# include "Widgets/Colors/SColorPicker.h"
2014-09-05 08:25:23 -04:00
# include "EditorClassUtils.h"
# include "IDocumentation.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "Widgets/Docking/SDockTab.h"
2014-03-14 14:13:41 -04:00
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 "Developer/MessageLog/Public/IMessageLogListing.h"
# include "Developer/MessageLog/Public/MessageLogInitializationOptions.h"
2014-03-14 14:13:41 -04:00
# include "Developer/MessageLog/Public/MessageLogModule.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "Framework/Commands/GenericCommands.h"
2015-04-10 03:30:54 -04:00
# include "CanvasTypes.h"
# include "Engine/Selection.h"
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
# include "Materials/Material.h"
2014-03-14 14:13:41 -04:00
# define LOCTEXT_NAMESPACE "MaterialEditor"
DEFINE_LOG_CATEGORY_STATIC ( LogMaterialEditor , Log , All ) ;
2014-08-26 14:02:18 -04:00
static TAutoConsoleVariable < int32 > CVarMaterialEdUseDevShaders (
TEXT ( " r.MaterialEditor.UseDevShaders " ) ,
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3231693)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3219796 on 2016/12/02 by Rolando.Caloca
DR - vk - Increase timeout to 60ms
Change 3219884 on 2016/12/02 by Daniel.Wright
Assert to help track down rare crash locking capsule indirect shadow vertex buffer
Change 3219885 on 2016/12/02 by Daniel.Wright
Fixed saving a package that doesn't exist on disk but exists in p4 at a newer revision when the user chooses 'Mark Writable'
Change 3219886 on 2016/12/02 by Daniel.Wright
Don't create projected shadows when r.ShadowQuality is 0
* Fixes crash in the forward path trying to render shadows
* In the deferred path, the shadowmap was still being rendered and only the projection skipped, now all cost will be skipped
Change 3219887 on 2016/12/02 by Daniel.Wright
Changed ClearRenderTarget2D default alpha to 1, which is necessary for correct compositing
Change 3219893 on 2016/12/02 by Daniel.Wright
AMD AGS library with approved TPS
Disabled DFAO on AMD pre-GCN PC video cards to workaround a driver bug which won't be fixed (Radeon 6xxx and below)
Change 3219913 on 2016/12/02 by Daniel.Wright
Level unload of a lighting scenario propagates the lighting scenario change - fixes crash when precomputed lighting volume data gets unloaded
Change 3220029 on 2016/12/02 by Daniel.Wright
Async shader compiling now recreates scene proxies which are affected by the material which was compiled. This fixes crashes which were occuring as proxies cache various material properties, but applying compiled materials would not update these cached properties (bRequiresAdjacencyInformation).
* A new ensure has been added in FMeshElementCollector::AddMesh and FBatchingSPDI::DrawMesh to catch attempts to render with a material not reported in GetUsedMaterials
* Fixed UParticleSystemComponent::GetUsedMaterials and UMaterialBillboardComponent::GetUsedMaterials
* FMaterialUpdateContext should be changed to use the same pattern, but that hasn't been done yet
Change 3220108 on 2016/12/02 by Daniel.Wright
Fixed shadowmap channel assignment for stationary lights which are not in a lighting scenario level, when a lighting scenario level is present
Change 3220504 on 2016/12/03 by Mark.Satterthwaite
Metal Desktop Tessellation support from Unicorn.
- Apple: Metal tessellation support added to MetalShaderFormat, MetalRHI and incl. changes to engine runtime/shaders for Desktop renderer and enabled in ElementalDemo by default (OS X 10.11 will run SM4).
- Epic: Support for different Metal shader standards on Mac, iOS & tvOS which required moving some RHI functions around as this is a project setting and not a compile-time constant.
- Epic: Fragment shader UAV support, which is also tied to newer Metal shader standard like Tessellation.
- Epic: Significant refactor of MetalRHI's internals to clearly separate state-caching from render-pass management and command-encoding.
- Epic: Internal MetalRHI validation code is now cleanly separated out into custom implementations of the Metal @protocol's and is on by default.
- Epic: Various fixes to Layered Rendering for Metal.
- Omits Mobile Tessellation support which needs further revision.
Change 3220881 on 2016/12/04 by Mark.Satterthwaite
Compiles fixes for iOS & static analysis fixes from Windows.
Change 3221180 on 2016/12/05 by Guillaume.Abadie
Avoid compiling PreviousFrameSwitch's both Current Frame and Previous Frame inputs every time.
Change 3221217 on 2016/12/05 by Chris.Bunner
More NVAPI warning fixups.
Change 3221219 on 2016/12/05 by Chris.Bunner
When comparing overriden properties used to force instance recompilation we need to check against the base material, not assume the immediate parent.
#jira UE-37792
Change 3221220 on 2016/12/05 by Chris.Bunner
Exported GetAllStaticSwitchParamNames and GetAllStaticComponentMaskParamNames.
#jira UE-35132
Change 3221221 on 2016/12/05 by Chris.Bunner
PR #2785: Fix comment typo in RendererInterface.h (Contributed by dustin-biser)
#jira UE-35760
Change 3221223 on 2016/12/05 by Chris.Bunner
Default to include dev-code when compiling material preview stats.
#jira UE-20321
Change 3221534 on 2016/12/05 by Rolando.Caloca
DR - Added FDynamicRHI::GetName()
Change 3221833 on 2016/12/05 by Chris.Bunner
Set correct output extent on PostProcessUpscale (allows users to extend chain correctly).
#jira UE-36989
Change 3221852 on 2016/12/05 by Chris.Bunner
32-bit/ch EXR screenshot and frame dump output.
Fixed row increment bug in 128-bit/px surface format readback.
#jira UE-37962
Change 3222059 on 2016/12/05 by Rolando.Caloca
DR - vk - Fix memory type not found
Change 3222104 on 2016/12/05 by Rolando.Caloca
DR - Lambdaize
- Added quicker method to check if system textures are initialized
Change 3222290 on 2016/12/05 by Mark.Satterthwaite
Trivial fixes to reporting Metal shader pipeline errors - need to check if Hull & Domain exist.
Change 3222864 on 2016/12/06 by Rolando.Caloca
DR - Fix mem leak when exiting
Change 3222873 on 2016/12/06 by Rolando.Caloca
DR - vk - Minor info to help track down leaks
Change 3222875 on 2016/12/06 by Rolando.Caloca
DR - Fix mem leak with VisualizeTexture
#jira UE-39360
Change 3223226 on 2016/12/06 by Chris.Bunner
Static analysis warning workaround.
Change 3223235 on 2016/12/06 by Ben.Woodhouse
Integrate from NREAL: Set a custom projection matrix on a SceneCapture2D
Change 3223343 on 2016/12/06 by Chris.Bunner
Moved HLOD persistent data to viewstate to fix per-view compatability.
#jira UE-37539
Change 3223349 on 2016/12/06 by Chris.Bunner
Fixed HLOD with FreezeRendering command.
#jira UE-29839
Change 3223371 on 2016/12/06 by Michael.Trepka
Removed obsolete check() in FMetalSurface constructor
Change 3223450 on 2016/12/06 by Chris.Bunner
Added explicit ScRGB output device selection rather than Nvidia-only hardcoded checks. Allows easier support for Mac and other devices moving forward.
Change 3223638 on 2016/12/06 by Michael.Trepka
Restored part of the check() in FMetalSurface constructor removed in CL 3223371
Change 3223642 on 2016/12/06 by Mark.Satterthwaite
Experimental Metal EDR/HDR output support for Mac (iOS/tvOS need custom formats & shaders so they are not supported yet).
- Only available on macOS Sierra (10.12) for Macs with HDR displays (e.g. Retina iMacs).
- Enable with -metaledr command-line argument as it is off-by-default.
- Sets up the CAMetalLayer & the back-buffer for RGBA_FP16 output on Mac using DCI-P3 as the color gamut and ACES 1000 nit ScRGB output encoding.
Change 3223830 on 2016/12/06 by Rolando.Caloca
DR - vk - Better error when finding an invalid Vulkan driver
#jira UE-37495
Change 3223869 on 2016/12/06 by Rolando.Caloca
DR - vk - Reuse fences
Change 3223906 on 2016/12/06 by Guillaume.Abadie
Fix alpha through TempAA artifact causing a small darker edge layouts.
Change 3224199 on 2016/12/06 by Mark.Satterthwaite
Fix a dumb copy-paste error from the HDR changes to Metal.
Change 3224220 on 2016/12/06 by Mark.Satterthwaite
Fix various errors with Metal UAV & Render-Pass Restart support so that we can use the Pixel Shader culling for DistanceField effects.
- Unfortunately Metal requires that a texture be bound to start a render-pass, so reuse the dummy depth-stencil surface from the problematic editor preview tile rendering.
Change 3224236 on 2016/12/06 by Mark.Satterthwaite
IWYU CIS compile fix for iOS.
Change 3224366 on 2016/12/06 by Mark.Satterthwaite
Simplify some of the changes from CL# 3224220 so that we don't perform unnecessary clears.
- If the RenderPass is broken to issue compute or blit operations then treat the cached RenderTargetsInfo as invalid, unless the RenderPass is restarted.
- This guarantees that we don't erroneously ignore calls to SetRenderTargets if the calling code issues a dispatch between two RenderPasses that use the same RenderTargetsInfo.
Change 3224416 on 2016/12/06 by Uriel.Doyon
New default implementation for UPrimitiveComponent::GetStreamingTextureInfo using a conservative heuristic where the textures are stretched across the bounds.
Optimized UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval by not handling registered components with no proxy (essentially hidden game / collision primitives).
Added blueprint support for texture streaming built data through FStaticMeshComponentInstanceData.
Fix for material texture streaming data not being available on some cooked builds.
Enabled split requests on all texture load requests (first loading everything visible and then loaded everything not visible).
This is controlled by "r.Streaming.MinMipForSplitRequest" which defines the minimum mip for which to allow splitting.
Forced residency are now loaded in two steps (visible, then forced), improving reactiveness.
Updated "stat streaming" to include "UnkownRefMips" which represent texture with no known component referencing them,
and also "LastRenderTimeMips" which related to timed primitives.
Changed "Forced Mips" so that it only shows mips that are loaded become of forced residency.
"Texture Streaming Build" now updates the map check after execution.
Removed Orphaned texture logic as this has become irrelevant with the latest retention priority logic.
Updated "r.streaming.usenewmetrics" so that it shows behavior before and after 4.12 improvements.
Change 3224532 on 2016/12/07 by Uriel.Doyon
Integrated CL 3223965 :
Building texture streaming data for materials does not wait for pending shaders to finish compilation anymore.
Added more options to allow the user to cancel this build also.
Change 3224714 on 2016/12/07 by Ben.Woodhouse
Cherry pick CL 3223972 from //fortnite/main:
Disable Geometry shader onchip on XB1. This saves 4ms for a single shadow casting point light @ 512x512 (4.8ms to 1.8ms)
Change 3224715 on 2016/12/07 by Ben.Woodhouse
New version of d3dx12.h from Microsoft which incorporates my suggested static analysis fixes. This avoids us diverging from the official version
Change 3224975 on 2016/12/07 by Rolando.Caloca
DR - vk - Dump improvements
Change 3225012 on 2016/12/07 by Rolando.Caloca
DR - Show warning if trying to use num samples != (1,2,4,8,16)
Change 3225126 on 2016/12/07 by Chris.Bunner
Added 'force 128-bit rendering pipeline' to high-res screenshot tool.
#jira UE-39345
Change 3225449 on 2016/12/07 by Chris.Bunner
Updated engine rendering defaults to better match current best practices.
#jira UE-38081
Change 3225485 on 2016/12/07 by Chris.Bunner
Moved QuantizeSceneBufferSize to RenderCore and added call for PostProcess settings. Fixes screenpercentage out-of-bounds reads in some cases.
#jira UE-19394
Change 3225486 on 2016/12/07 by Chris.Bunner
Only disable TAA during HighResScreenshots if we don't have a reasonable frame-delay enabled.
Change 3225505 on 2016/12/07 by Daniel.Wright
Fixed exponential height fog disappearing with no skybox
Change 3225655 on 2016/12/07 by Benjamin.Hyder
Updating TM-Shadermodels to include Translucent lighting, Two sided, updated cloth animation, and adjusted lighting.
Change 3225668 on 2016/12/07 by Chris.Bunner
Dirty owning packages when user manually forces regeneration of all reflection captures.
#jira UE-38759
Change 3226139 on 2016/12/07 by Rolando.Caloca
DR - Fix recompute tangents disabling skin cache
- Make some macros into lambdas
#jira UE-39143
Change 3226212 on 2016/12/07 by Daniel.Wright
Features which require a full prepass use DDM_AllOpaque instead of DDM_AllOccluders, which can be skipped if the component has bUseAsOccluder=false
Change 3226213 on 2016/12/07 by Daniel.Wright
Scene Capture 2D can specify a global clip plane, which is useful for portals
* Requires the global clip plane project setting to be enabled
Change 3226214 on 2016/12/07 by Daniel.Wright
Improved deferred shadowing with MSAA by upsampling light attenuation intelligently in the base pass
* If the current fragment's depth doesn't match what was used for deferred shadowing, the neighbor (cross pattern) with the nearest depth's shadowing is used
* Edge artifacts can still occur where the upsample fails or the shadow factor was computed per-sample due to depth / stencil testing
* Indirect Occlusion from capsule shadows also uses the nearest depth neighbor UV for no extra cost
* Base pass on 970 GTX 1.69ms -> 1.85ms (.16ms) in RoboRecall
Change 3226258 on 2016/12/07 by Rolando.Caloca
DR - Typo fix
Change 3226259 on 2016/12/07 by Rolando.Caloca
DR - compile fix
#jira UE-39143
Change 3226932 on 2016/12/08 by Chris.Bunner
Re-saved Infiltrator maps to update reflection captures.
#jira UE-38759
Change 3227063 on 2016/12/08 by Mark.Satterthwaite
For Metal platforms ONLY temporarily disable USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING to avoid UE-37436 while the Nvidia driver team investigate why this doesn't work for them but does for the others. This won't affect non-Metal platforms and the intent is to revert this prior to 4.16 provided we can work through the problem with Nvidia.
#jira UE-37436
Change 3227120 on 2016/12/08 by Gil.Gribb
Merging //UE4/Dev-Main@3226895 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3227211 on 2016/12/08 by Arne.Schober
DR - UE-38585 - Fixing crash where HierInstStaticMesh duplication fails. Also reverting the fix from UE-28189 which is redundant.
Change 3227257 on 2016/12/08 by Marc.Olano
Extension to PseudoVolumeTexture for more flexible layout
Change by ryan.brucks
Change 3227286 on 2016/12/08 by Rolando.Caloca
DR - Fix crash when using custom expressions and using reserved keywords
#jira UE-39311
Change 3227376 on 2016/12/08 by Mark.Satterthwaite
Must not include a private header inside the MenuStack public header as that causes compile errors in plugins.
Change 3227415 on 2016/12/08 by Mark.Satterthwaite
Fix shader compilation due to my disabling of USE_LIGHT_GRID_REFLECTION_CAPTURE_CULLING on Metal - InstancedCompositeTileReflectionCaptureIndices needs to be defined even though Metal doesn't support instanced-stereo rendering.
Change 3227516 on 2016/12/08 by Daniel.Wright
Implemented UWidgetComponent::GetUsedMaterials
Change 3227521 on 2016/12/08 by Guillaume.Abadie
Fixes post process volume's indirect lighting color.
#jira UE-38888
Change 3227567 on 2016/12/08 by Marc.Olano
New upscale filters: Lanczos-2 (new default), Lanczos-3 and Gaussian Unsharp Mask
Change 3227628 on 2016/12/08 by Daniel.Wright
Removed redundant ResolveSceneDepthTexture from the merge
Change 3227635 on 2016/12/08 by Daniel.Wright
Forward renderer supports shadowing from movable lights and light functions
* Only 4 shadow casting movable or stationary lights can overlap at any point in space, otherwise the movable lights will lose their shadows and an on-screen message will be displayed
* Light functions only work on shadow casting lights since they need a shadowmap channel to be assigned
Change 3227660 on 2016/12/08 by Rolando.Caloca
DR - vk - Fix r.MobileMSAA on Vulkan
- r.MobileMSAA is now read-only (to be fixed on 4.16)
- Show time for PSO creation hitches
#jira UE-39184
Change 3227704 on 2016/12/08 by Mark.Satterthwaite
Fix Mac HDR causing incorrect output color encoding being used, HDR support is now entirely off unless you pass -metaledr which will enable it regardless of whether the current display supports HDR (as we haven't written the detection code yet). Fixed the LUT/UI compositing along the way - Mac Metal wasn't using volume LUT as it should have been, RHISupportsVertexShaderLayer now correctly returns false for non-Mac Metal platforms.
Change 3227705 on 2016/12/08 by Daniel.Wright
Replaced built-in samplers in the nearest depth translucency upsample because the built-in samplers are no longer bound on PC (cl 2852426)
Change 3227787 on 2016/12/08 by Chris.Bunner
Added extent clear to motion blur pass to catch misized buffers bringing in errors.
Added early out to clear call when excluded region matches RT region.
#jira UE-39437
Change 3228177 on 2016/12/08 by Marc.Olano
Fix DCC sqrt(int) error
Change 3228285 on 2016/12/08 by Chris.Bunner
Back out changelist 3225449.
#jira UE-39528
Change 3228680 on 2016/12/09 by Gil.Gribb
Merging //UE4/Dev-Main@3228528 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3228940 on 2016/12/09 by Mark.Satterthwaite
Editor fixes for 4.15:
- PostProcessTonemap can't fail to bind a texture to the ColorLUT or the subsequent rendering will be garbage: the changes for optimising stereo rendering forgot to account for the Editor's use of Views without States for the asset preview thumbnails. Amended the CombineLUT post-processing to allocate a local output texture when there's no ViewState and read from this when this situation arises which makes everything function again.
- Don't start render-passes without a valid render-target-array in MetalRHI.
Change 3228950 on 2016/12/09 by Mark.Satterthwaite
Make GPUSkinCache run on Mac Metal - it wasn't working because it was forcibly disabled on all platforms but for Windows D3D 11.
- Fixed the Skeleton editor tree trying to access a widget before it has been constructed.
- Enable GPUSkinCache for Metal SM5: doesn't render correctly, even on AMD, so needs Radar's filing and investigation.
#jira UE-39256
Change 3229013 on 2016/12/09 by Mark.Satterthwaite
Further tidy up in SSkeletonTreeView as suggested by Nick.A.
Change 3229101 on 2016/12/09 by Chris.Bunner
Log compile error fix and updated cvar comments.
Change 3229236 on 2016/12/09 by Ben.Woodhouse
XB1 D3D11 and D3D12: Use the DXGI frame statistics to get accurate GPU time unaffected by bubbles
Change 3229430 on 2016/12/09 by Ben.Woodhouse
PR #2680: Optimized histogram generation. (Contributed by PjotrSvetachov)
Profiled on nvidia 980GTX (2x faster), and on XB1 (marginally faster)
Change 3229580 on 2016/12/09 by Marcus.Wassmer
DepthBoundsTest for AMD.
Change 3229701 on 2016/12/09 by Michael.Trepka
Changed "OS X" to "macOS" in few places where we display it and updated the code that asks users to update to latest version to check for 10.12.2
Change 3229706 on 2016/12/09 by Chris.Bunner
Added GameUserSettings controls for HDR display output.
Removed Metal commandline as this should replace the need for it.
Change 3229774 on 2016/12/09 by Michael.Trepka
Disabled OpenGL on Mac. -opengl is now ignored, we always use Metal. On old Macs that do not support Metal we show a message saying that the app requires Metal and exit.
Change 3229819 on 2016/12/09 by Chris.Bunner
Updated engine rendering defaults to better match current best practices.
#jira UE-38081
Change 3229948 on 2016/12/09 by Rolando.Caloca
DR - Fix d3d debug error
#jira UE-39589
Change 3230341 on 2016/12/11 by Mark.Satterthwaite
Don't fatally assert that the game-thread stalled waiting for the rendering thread in the Editor executable, even when running -game as the rendering thread can take a while to respond if shaders need to be compiled.
#jira UE-39613
Change 3230860 on 2016/12/12 by Marcus.Wassmer
Experimental Nvidia AFR support.
Change 3230930 on 2016/12/12 by Mark.Satterthwaite
Disable RHICmdList state-caching on Mac - Metal already does this internally and depends on receiving all state changes in order to function.
Change 3231252 on 2016/12/12 by Marcus.Wassmer
Fix NumGPU detection. (SLI only crash)
Change 3231486 on 2016/12/12 by Mark.Satterthwaite
Fix a stupid mistake in MetalStateCache::CommitResourceTable that would unnecessarily rebind samplers.
Change 3231661 on 2016/12/12 by Mark.Satterthwaite
Retain the RHI samplers in MetalRHI to guarantee lifetime.
[CL 3231696 by Gil Gribb in Main branch]
2016-12-12 17:47:42 -05:00
1 ,
2014-08-26 14:02:18 -04:00
TEXT ( " Toggles whether the material editor will use shaders that include extra overhead incurred by the editor. Material editor must be re-opened if changed at runtime. " ) ,
ECVF_RenderThreadSafe ) ;
2014-03-14 14:13:41 -04:00
const FName FMaterialEditor : : PreviewTabId ( TEXT ( " MaterialEditor_Preview " ) ) ;
const FName FMaterialEditor : : GraphCanvasTabId ( TEXT ( " MaterialEditor_GraphCanvas " ) ) ;
const FName FMaterialEditor : : PropertiesTabId ( TEXT ( " MaterialEditor_MaterialProperties " ) ) ;
const FName FMaterialEditor : : HLSLCodeTabId ( TEXT ( " MaterialEditor_HLSLCode " ) ) ;
const FName FMaterialEditor : : PaletteTabId ( TEXT ( " MaterialEditor_Palette " ) ) ;
const FName FMaterialEditor : : StatsTabId ( TEXT ( " MaterialEditor_Stats " ) ) ;
2014-04-23 18:21:07 -04:00
const FName FMaterialEditor : : FindTabId ( TEXT ( " MaterialEditor_Find " ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-02 18:09:23 -04:00
///////////////////////////
// FMatExpressionPreview //
///////////////////////////
2014-03-14 14:13:41 -04:00
bool FMatExpressionPreview : : ShouldCache ( EShaderPlatform Platform , const FShaderType * ShaderType , const FVertexFactoryType * VertexFactoryType ) const
{
if ( VertexFactoryType = = FindVertexFactoryType ( FName ( TEXT ( " FLocalVertexFactory " ) , FNAME_Find ) ) )
{
// we only need the non-light-mapped, base pass, local vertex factory shaders for drawing an opaque Material Tile
// @todo: Added a FindShaderType by fname or something"
2014-08-25 14:41:54 -04:00
if ( IsMobilePlatform ( Platform ) )
2014-03-14 14:13:41 -04:00
{
2014-07-10 10:39:54 -04:00
if ( FCString : : Stristr ( ShaderType - > GetName ( ) , TEXT ( " BasePassForForwardShadingVSFNoLightMapPolicy " ) ) | |
FCString : : Stristr ( ShaderType - > GetName ( ) , TEXT ( " BasePassForForwardShadingPSFNoLightMapPolicy " ) ) )
{
return true ;
}
2014-03-14 14:13:41 -04:00
}
2014-07-10 10:39:54 -04:00
else
2014-03-14 14:13:41 -04:00
{
2014-07-10 10:39:54 -04:00
if ( FCString : : Stristr ( ShaderType - > GetName ( ) , TEXT ( " BasePassVSFNoLightMapPolicy " ) ) | |
FCString : : Stristr ( ShaderType - > GetName ( ) , TEXT ( " BasePassHSFNoLightMapPolicy " ) ) | |
FCString : : Stristr ( ShaderType - > GetName ( ) , TEXT ( " BasePassDSFNoLightMapPolicy " ) ) )
{
return true ;
}
else if ( FCString : : Stristr ( ShaderType - > GetName ( ) , TEXT ( " BasePassPSFNoLightMapPolicy " ) ) )
{
return true ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3028916)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3006483 on 2016/06/08 by Simon.Tovey
Fix for UE-31653
Instance params from the Spawn, Required and TypeData modules were not being autopopulated.
Change 3006514 on 2016/06/08 by Zabir.Hoque
MIGRATING FIX @ Request
Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction.
#CodeReview: Marcus.Wassmer, Daniel.Wright
Change 3006605 on 2016/06/08 by Rolando.Caloca
DR - vk - Remove a bunch of unused code, clean up some todos
Change 3006969 on 2016/06/08 by HaarmPieter.Duiker
Add #ifdefs around inverse tonemapping to avoid performance hit in normal use
Change 3007240 on 2016/06/09 by Chris.Bunner
Made a pass at fixing global shader compile warnings and errors.
Change 3007242 on 2016/06/09 by Chris.Bunner
Don't force unlit mode when re-loading a map.
#jira UE-31247
Change 3007243 on 2016/06/09 by Chris.Bunner
Cache InvalidLightmapSettings material for instanced meshes.
#jira UE-31182
Change 3007258 on 2016/06/09 by Chris.Bunner
Fixed refractive depth bias material parameter.
Change 3007466 on 2016/06/09 by Rolando.Caloca
DR - Use vulkan debug marker extension directly from header
Change 3007504 on 2016/06/09 by Martin.Mittring
added refresh button to ImageVerifier
Change 3007528 on 2016/06/09 by Martin.Mittring
ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end
make render more deterministic
Change 3007551 on 2016/06/09 by Chris.Bunner
Reverted constant type change in previous commit.
Change 3007559 on 2016/06/09 by Martin.Mittring
updated ImageValidator
Change 3007584 on 2016/06/09 by Rolando.Caloca
DR - Fix case when not running under RD
Change 3007668 on 2016/06/09 by Rolando.Caloca
DR - vk - Split layers/extensions by required/optional
Change 3007820 on 2016/06/09 by Rolando.Caloca
DR - Android compile fix
Change 3007926 on 2016/06/09 by Martin.Mittring
fixed UI scaling in ImageVerifyer
Change 3007931 on 2016/06/09 by John.Billon
-Fixed cutouts not working for certain sized texture/subUV size combinations.
-Also fixed issue with subUV module not being postloaded consistently on startup.
#Jira UE-31583
Change 3008023 on 2016/06/09 by Martin.Mittring
refactor noise code in shaders
Change 3008127 on 2016/06/09 by Zabir.Hoque
Merging back hot fixes:
1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS.
2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself.
Change 3008129 on 2016/06/09 by Daniel.Wright
Disabled r.ProfileGPU.PrintAssetSummary by default due to spam
Change 3008169 on 2016/06/09 by Rolando.Caloca
DR - Fix mobile rendering not freeing resource when using RHI thread
Change 3008429 on 2016/06/09 by Uriel.Doyon
Enabled texture streaming new metrics.
Added progress bar while texture streaming is being built.
Added debug shader validation to prevent crashes when there are uniform expression set mismatches.
Added texture streaming build to "Build All"
Change 3008436 on 2016/06/09 by Uriel.Doyon
Fixed shipping build
Change 3008833 on 2016/06/10 by Rolando.Caloca
DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications
Submitted by Allar
PR #1864
#jira UE-24545
Change 3008842 on 2016/06/10 by Rolando.Caloca
DR - Remove vertex densities view mode
Change 3008857 on 2016/06/10 by John.Billon
Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching.
Change 3008870 on 2016/06/10 by Rolando.Caloca
DR - Rebuild hlslcc libs (missing from last merge)
Change 3008925 on 2016/06/10 by John.Billon
Fixed r.ScreenPercentage.Editor
#Jira UE-31549
Change 3009028 on 2016/06/10 by Daniel.Wright
Shadow depth refactor
* Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame
* This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading
* The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed
* A large amount of duplicated code to handle each shadow type has been combined
* Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency
* 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures
Change 3009032 on 2016/06/10 by Daniel.Wright
Fixed crash with simple forward shading in the material editor
Change 3009178 on 2016/06/10 by Rolando.Caloca
DR - Add support for multi callbacks on HlslParser, added a write to string callback
Change 3009268 on 2016/06/10 by Daniel.Wright
Warning fixes
Change 3009416 on 2016/06/10 by Martin.Mittring
moved decal rendering code in common spot for upcoming MeshDecal rendering
Change 3009433 on 2016/06/10 by John.Billon
Adding ensures for translucency lighting volume render target acesses.
#Jira UE-31578
Change 3009449 on 2016/06/10 by Daniel.Wright
Fixed whole scene point light shadow depths getting rendered redundantly
Change 3009675 on 2016/06/10 by Martin.Mittring
fixed Clang compiling
Change 3009815 on 2016/06/10 by Martin.Mittring
renamed IsUsedWithDeferredDecal to IsDeferredDecal
to be more correct
Change 3009946 on 2016/06/10 by Martin.Mittring
minor optimization
Change 3010270 on 2016/06/11 by HaarmPieter.Duiker
Update gamut transformations used when dumping EXRs to account for bug UE-29935
Change 3011423 on 2016/06/13 by Martin.Mittring
fixed default of bOutputsVelocityInBasePass
#code_review:Rolando.Caloca
#test:PC
Change 3011448 on 2016/06/13 by Martin.Mittring
minor engine code cleanup
#code_review:Olaf.Piesche
#test:PC
Change 3011991 on 2016/06/13 by Daniel.Wright
Fixed downsampled translucency crash in VR
Change 3011993 on 2016/06/13 by Daniel.Wright
Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely'
Mobility tooltips now reflect whether a primitive component or light component is being inspected
Change 3012096 on 2016/06/13 by Daniel.Wright
Missing file from cl 3011993
Change 3012546 on 2016/06/14 by John.Billon
Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled
#Jira OR-23282
Change 3012706 on 2016/06/14 by John.Billon
Renamed r.ContactShadows.Enable to r.ContactShadows
Change 3012992 on 2016/06/14 by Rolando.Caloca
DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled
- Added support for CustomPresent
Change 3013030 on 2016/06/14 by Rolando.Caloca
DR - vk - Fix dev issue
Change 3013423 on 2016/06/14 by Martin.Mittring
removed code redundancy for easier upcoming changes
#test:PC
Change 3013451 on 2016/06/14 by Martin.Mittring
removed no longer needed debug cvar
#test:PC
Change 3013643 on 2016/06/14 by Zabir.Hoque
Fix API only being inlined in the cpp and not avaialble in the .h
Change 3013696 on 2016/06/14 by Olaf.Piesche
Adding missing quality level spawn rate scaling on GPU emitters
Change 3013736 on 2016/06/14 by Daniel.Wright
Cached shadowmaps for whole scene point and spot light shadows
* Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights)
* Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving
* Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached
* Cached shadowmaps are copied each frame and then movable primitive depths composited
* Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap)
* 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness)
* 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights)
Change 3014103 on 2016/06/15 by Daniel.Wright
Compile fix
Change 3014507 on 2016/06/15 by Simon.Tovey
Resurrected Niagara playground and moved to Samples/NotForLicencees
Change 3014931 on 2016/06/15 by Martin.Mittring
moved r.RenderInternals code into renderer to be able to access more low level data
#test:PC, paragon
Change 3014933 on 2016/06/15 by Martin.Mittring
nicer text
Change 3014956 on 2016/06/15 by Daniel.Wright
Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)
Change 3014985 on 2016/06/15 by Uriel.Doyon
Enabled Texture Build shaders on Mac
Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API
Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping.
Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets
#jira UE-30566
#jira UE-31098
Change 3014995 on 2016/06/15 by Rolando.Caloca
DR - vk - Removed RHI thread wait on acquire image
- Move Descriptor pool into context
Change 3015002 on 2016/06/15 by Rolando.Caloca
DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine
Change 3015041 on 2016/06/15 by Martin.Mittring
fixed ImageValidator crashing when using files that exist only in ref or test folder
Change 3015309 on 2016/06/15 by Rolando.Caloca
DR - vk - Enable fence re-use on SDKs >= 1.0.16.0
Change 3015356 on 2016/06/15 by Rolando.Caloca
DR - vk - Prep for staging buffer refactor
Change 3015430 on 2016/06/15 by Martin.Mittring
minor optimization for subsurfacescatteringprofile
Change 3016097 on 2016/06/16 by Simon.Tovey
Enabling Niagara by default in the Niagara playground
Change 3016098 on 2016/06/16 by Simon.Tovey
Some misc fixup to get niagara working again
Change 3016183 on 2016/06/16 by Rolando.Caloca
DR - vk - Recreate buffer view for volatile buffers
Change 3016225 on 2016/06/16 by Marcus.Wassmer
Duplicate reflection fixes from 4.12 hotfixes.
Change 3016289 on 2016/06/16 by Chris.Bunner
Always gather MP_Normal definitions as they can be shared by other material properties.
#jira UE-31792
Change 3016294 on 2016/06/16 by Daniel.Wright
Fix for ensure accessing CVarCacheWPOPrimitives in game
Change 3016305 on 2016/06/16 by Daniel.Wright
Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been
Change 3016330 on 2016/06/16 by Daniel.Wright
Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back
Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light
Stats for shadowmap memory used under 'stat shadowrendering'
Change 3016506 on 2016/06/16 by Daniel.Wright
Fixed crash building map in SunTemple due to null access
Change 3016703 on 2016/06/16 by Uriel.Doyon
Fixed warning due to floating point imprecision when building texture streaming
Change 3016718 on 2016/06/16 by Daniel.Wright
Volume lighting samples use adaptive sampling final gather
* Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting)
Change 3016871 on 2016/06/16 by Max.Chen
Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation.
Copy from Dev-Sequencer
#jira UE-32093
Change 3017189 on 2016/06/16 by Zabir.Hoque
Fix GBuffer format selection type-o.
#CodeReview: Marcus.Wassmer
Change 3017241 on 2016/06/16 by Martin.Mittring
optimized and cleaned up rendering in transluceny, distortion, custom mesh drawing
#code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden
Change 3017856 on 2016/06/17 by Rolando.Caloca
DR - Missing GL enum
Change 3017910 on 2016/06/17 by Ben.Woodhouse
- Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates
- Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering
Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24)
#RB:Keli.Hloedversson,Martin.Mittring
Change 3018126 on 2016/06/17 by Ben.Woodhouse
Fix build warning on Mac
#RB:David.Hill
Change 3018167 on 2016/06/17 by Chris.Bunner
Handle case when float4 is passed to TransformPosition material node.
#jira UE-24980
Change 3018246 on 2016/06/17 by Benjamin.Hyder
Submitting Preliminary ShadowRefactor TestMap
Change 3018330 on 2016/06/17 by Benjamin.Hyder
labeled ShadowRefactor map
Change 3018377 on 2016/06/17 by Chris.Bunner
Removed additional node creation when initializing a RotateAboutAxis node.
#jira UE-8034
Change 3018433 on 2016/06/17 by Rolando.Caloca
DR - Fix some clang warnings on Vulkan
Change 3018664 on 2016/06/17 by Martin.Mittring
unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812)
#test:PC
#code_review:Marcus.Wassmer,Brian.Karis
Change 3019023 on 2016/06/19 by Benjamin.Hyder
Re-Labeled ShadowRefactor map
Change 3019024 on 2016/06/19 by Benjamin.Hyder
Correcting Translucent Volume (Non-Directional) settings
Change 3019026 on 2016/06/19 by Benjamin.Hyder
Correcting Lighting ShadowRefactor map
Change 3019414 on 2016/06/20 by Allan.Bentham
Refactor mobile shadows
Change 3019494 on 2016/06/20 by Gil.Gribb
Merging //UE4/Dev-Main@3018959 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3019504 on 2016/06/20 by John.Billon
-Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk.
-Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints.
-Created a small common interface for blueprints and the editor itself to use for exporting.
#Jira UE-31429
Change 3019561 on 2016/06/20 by Gil.Gribb
UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager.
Change 3019616 on 2016/06/20 by Rolando.Caloca
DR - Replicate change in DevRendering to fix splotches on characters with morph targets
Change: 3019599
O - Fix flickering on heroes with morph targets
Change 3019627 on 2016/06/20 by Rolando.Caloca
DR - Doh! Compile fix
Change 3019674 on 2016/06/20 by Simon.Tovey
Ripped out the quick hacky VM debugger I wrote a while back.
Over complicated the VM and didn't do enough work to justify it.
Will revisit debugging and profiling of VM scripts in future.
Change 3019691 on 2016/06/20 by Ben.Woodhouse
Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed.
This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs).
#RB:Martin.Mittring, Daniel.Wright
Change 3019741 on 2016/06/20 by John.Billon
Fixed compile error on mac.
Change 3019984 on 2016/06/20 by Martin.Mittring
minor optimization
Change 3020172 on 2016/06/20 by Zachary.Wilson
Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none
Change 3020195 on 2016/06/20 by Zachary.Wilson
Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none
Change 3020196 on 2016/06/20 by Rolando.Caloca
DR - Appease static analysis
Change 3020231 on 2016/06/20 by Zachary.Wilson
Making basic shapes consistent distance field resolution scale. #rb: none
Change 3020468 on 2016/06/20 by David.Hill
CameraWS UE-29146
Change 3020502 on 2016/06/20 by Benjamin.Hyder
Adding AutomationMatinee Camera for RenderOutputValidation
Change 3020508 on 2016/06/20 by Benjamin.Hyder
Adding AutomationMatinee for RenderOutputValidation
Change 3020514 on 2016/06/20 by Benjamin.Hyder
Setting Autoplay for AutomationMatinee (sequence)
Change 3020561 on 2016/06/20 by Daniel.Wright
Removed outdated comment on uniform expression assert
Change 3021268 on 2016/06/21 by Daniel.Wright
Scaled sphere intersection for indirect capsule shadows
* Fixes the discontinuity when capsule axis points close to the light direction
* GPU cost is effectively the same (more expensive to compute, but tighter culling)
Change 3021325 on 2016/06/21 by Daniel.Wright
Split ShadowRendering.cpp into ShadowDepthRendering.cpp
Change 3021355 on 2016/06/21 by Daniel.Wright
Fixed RTDF shadows (broken by shadowmap caching)
Change 3021444 on 2016/06/21 by Daniel.Wright
Fixed crash due to Depth drawing policy not using the default material shader map properly
Change 3021543 on 2016/06/21 by Daniel.Wright
Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash
Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns
Change 3021749 on 2016/06/21 by Daniel.Wright
Moved RenderBasePass and dependencies into BasePassRendering.cpp
Moved RenderPrePass and dependencies into DepthRendering.cpp
Change 3021766 on 2016/06/21 by Benjamin.Hyder
Adding 150dynamiclights level to Dev-Folder
Change 3021971 on 2016/06/21 by Daniel.Wright
Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation
* TLM_SurfacePerPixelLighting now behaves like TLM_Surface
Change 3022760 on 2016/06/22 by Chris.Bunner
Merge fixup.
Change 3022911 on 2016/06/22 by Rolando.Caloca
DR - Added r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders
Change 3023037 on 2016/06/22 by Rolando.Caloca
DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed
Change 3023139 on 2016/06/22 by Daniel.Wright
Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled
Change 3023231 on 2016/06/22 by Daniel.Wright
Only allowing opaque per-object shadows or CSM in the mobile renderer
Change 3023415 on 2016/06/22 by Daniel.Wright
Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target
Change 3024888 on 2016/06/23 by Daniel.Wright
Fixed preshadows being rendered redundantly with multiple lights
Change 3025119 on 2016/06/23 by Martin.Mittring
added MeshDecal content to RenderTest
Change 3025122 on 2016/06/23 by Martin.Mittring
enabled DBuffer for RenderTest
Change 3025153 on 2016/06/23 by Marc.Olano
Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10.
Needed to use world space without shader offsets, not absolute world space.
Change 3025180 on 2016/06/23 by Marc.Olano
Use translated world space for particle centers.
Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables.
Change 3025265 on 2016/06/23 by David.Hill
Bilbords translucent during PIE - lighting model was incorrectly set in gbuffer
#jira UE-26165
Change 3025269 on 2016/06/23 by Ryan.Brucks
Adding new Testmap for Pixel Depth Offset velocities with Temporal AA
Change 3025345 on 2016/06/23 by Benjamin.Hyder
Submitting MeshDecal Content
Change 3025444 on 2016/06/23 by Benjamin.Hyder
updating content for MeshDecal
Change 3025491 on 2016/06/23 by Benjamin.Hyder
Updating DecalMesh Textures
Change 3025802 on 2016/06/23 by Martin.Mittring
added to readme
Change 3026475 on 2016/06/24 by Rolando.Caloca
DR - Show current state of r.RHIThread.Enable when not using param
Change 3026479 on 2016/06/24 by Rolando.Caloca
DR - Upgrade glslang to 1.0.17.0
Change 3026480 on 2016/06/24 by Rolando.Caloca
DR - Vulkan headers to 1.0.17.0
Change 3026481 on 2016/06/24 by Rolando.Caloca
DR - Vulkan wrapper for extra logging
Change 3026491 on 2016/06/24 by Rolando.Caloca
DR - Missed file
Change 3026574 on 2016/06/24 by Rolando.Caloca
DR - vk - Enabled fence reuse on 1.0.17.0
- Added more logging info
Change 3026656 on 2016/06/24 by Frank.Fella
Niagara - Prevent sequencer uobjects from being garbage collected.
Change 3026657 on 2016/06/24 by Benjamin.Hyder
Updating Rendertestmap to latest
Change 3026723 on 2016/06/24 by Rolando.Caloca
DR - Fix for ES3.1 RHIs
Change 3026784 on 2016/06/24 by Martin.Mittring
New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on)
Change 3026866 on 2016/06/24 by Olaf.Piesche
#jira OR-18363
#jira UE-27780
fix distortion in particle macro uvs
[CL 3028922 by Gil Gribb in Main branch]
2016-06-27 13:42:20 -04:00
else if ( FCString : : Stristr ( ShaderType - > GetName ( ) , TEXT ( " Simple " ) ) )
{
return true ;
}
2014-03-14 14:13:41 -04:00
}
}
return false ;
}
2015-01-13 19:47:46 -05:00
int32 FMatExpressionPreview : : CompilePropertyAndSetMaterialProperty ( EMaterialProperty Property , FMaterialCompiler * Compiler , EShaderFrequency OverrideShaderFrequency , bool bUsePreviousFrameTime ) const
2014-03-14 14:13:41 -04:00
{
2014-07-11 15:14:35 -04:00
// needs to be called in this function!!
2015-01-13 19:47:46 -05:00
Compiler - > SetMaterialProperty ( Property , OverrideShaderFrequency , bUsePreviousFrameTime ) ;
2014-07-11 15:14:35 -04:00
int32 Ret = INDEX_NONE ;
2014-03-14 14:13:41 -04:00
if ( Property = = MP_EmissiveColor & & Expression . IsValid ( ) )
{
// Hardcoding output 0 as we don't have the UI to specify any other output
const int32 OutputIndex = 0 ;
// Get back into gamma corrected space, as DrawTile does not do this adjustment.
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
Ret = Compiler - > Power ( Compiler - > Max ( Expression - > CompilePreview ( Compiler , OutputIndex ) , Compiler - > Constant ( 0 ) ) , Compiler - > Constant ( 1.f / 2.2f ) ) ;
2014-03-14 14:13:41 -04:00
}
2015-01-13 19:47:46 -05:00
else if ( Property = = MP_WorldPositionOffset )
2014-03-14 14:13:41 -04:00
{
//set to 0 to prevent off by 1 pixel errors
2014-07-11 15:14:35 -04:00
Ret = Compiler - > Constant ( 0.0f ) ;
2014-03-14 14:13:41 -04:00
}
else if ( Property > = MP_CustomizedUVs0 & & Property < = MP_CustomizedUVs7 )
{
const int32 TextureCoordinateIndex = Property - MP_CustomizedUVs0 ;
2014-07-11 15:14:35 -04:00
Ret = Compiler - > TextureCoordinate ( TextureCoordinateIndex , false , false ) ;
2014-03-14 14:13:41 -04:00
}
else
{
2014-07-11 15:14:35 -04:00
Ret = Compiler - > Constant ( 1.0f ) ;
2014-03-14 14:13:41 -04:00
}
2014-07-11 15:14:35 -04:00
// output should always be the right type for this property
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
return Compiler - > ForceCast ( Ret , FMaterialAttributeDefinitionMap : : GetValueType ( Property ) ) ;
2014-03-14 14:13:41 -04:00
}
void FMatExpressionPreview : : NotifyCompilationFinished ( )
{
if ( Expression . IsValid ( ) & & Expression - > GraphNode )
{
CastChecked < UMaterialGraphNode > ( Expression - > GraphNode ) - > bPreviewNeedsUpdate = true ;
}
}
2014-04-02 18:09:23 -04:00
/////////////////////
// FMaterialEditor //
/////////////////////
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
void FMaterialEditor : : RegisterTabSpawners ( const TSharedRef < class FTabManager > & InTabManager )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
WorkspaceMenuCategory = InTabManager - > AddLocalWorkspaceMenuCategory ( LOCTEXT ( " WorkspaceMenu_MaterialEditor " , " Material Editor " ) ) ;
2014-10-09 12:34:55 -04:00
auto WorkspaceMenuCategoryRef = WorkspaceMenuCategory . ToSharedRef ( ) ;
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
FAssetEditorToolkit : : RegisterTabSpawners ( InTabManager ) ;
2014-10-09 12:34:55 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > RegisterTabSpawner ( PreviewTabId , FOnSpawnTab : : CreateSP ( this , & FMaterialEditor : : SpawnTab_Preview ) )
2014-03-14 14:13:41 -04:00
. SetDisplayName ( LOCTEXT ( " ViewportTab " , " Viewport " ) )
2014-10-09 12:34:55 -04:00
. SetGroup ( WorkspaceMenuCategoryRef )
. SetIcon ( FSlateIcon ( FEditorStyle : : GetStyleSetName ( ) , " LevelEditor.Tabs.Viewports " ) ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > RegisterTabSpawner ( GraphCanvasTabId , FOnSpawnTab : : CreateSP ( this , & FMaterialEditor : : SpawnTab_GraphCanvas ) )
2014-03-14 14:13:41 -04:00
. SetDisplayName ( LOCTEXT ( " GraphCanvasTab " , " Graph " ) )
2014-10-09 12:34:55 -04:00
. SetGroup ( WorkspaceMenuCategoryRef )
. SetIcon ( FSlateIcon ( FEditorStyle : : GetStyleSetName ( ) , " GraphEditor.EventGraph_16x " ) ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > RegisterTabSpawner ( PropertiesTabId , FOnSpawnTab : : CreateSP ( this , & FMaterialEditor : : SpawnTab_MaterialProperties ) )
2014-03-14 14:13:41 -04:00
. SetDisplayName ( LOCTEXT ( " DetailsTab " , " Details " ) )
2014-10-09 12:34:55 -04:00
. SetGroup ( WorkspaceMenuCategoryRef )
. SetIcon ( FSlateIcon ( FEditorStyle : : GetStyleSetName ( ) , " LevelEditor.Tabs.Details " ) ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > RegisterTabSpawner ( PaletteTabId , FOnSpawnTab : : CreateSP ( this , & FMaterialEditor : : SpawnTab_Palette ) )
2014-04-23 18:21:07 -04:00
. SetDisplayName ( LOCTEXT ( " PaletteTab " , " Palette " ) )
2014-10-09 12:34:55 -04:00
. SetGroup ( WorkspaceMenuCategoryRef )
. SetIcon ( FSlateIcon ( FEditorStyle : : GetStyleSetName ( ) , " Kismet.Tabs.Palette " ) ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > RegisterTabSpawner ( StatsTabId , FOnSpawnTab : : CreateSP ( this , & FMaterialEditor : : SpawnTab_Stats ) )
2014-04-23 18:21:07 -04:00
. SetDisplayName ( LOCTEXT ( " StatsTab " , " Stats " ) )
2014-10-09 12:34:55 -04:00
. SetGroup ( WorkspaceMenuCategoryRef )
. SetIcon ( FSlateIcon ( FEditorStyle : : GetStyleSetName ( ) , " LevelEditor.Tabs.StatsViewer " ) ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > RegisterTabSpawner ( FindTabId , FOnSpawnTab : : CreateSP ( this , & FMaterialEditor : : SpawnTab_Find ) )
2014-04-23 18:21:07 -04:00
. SetDisplayName ( LOCTEXT ( " FindTab " , " Find Results " ) )
2014-10-09 12:34:55 -04:00
. SetGroup ( WorkspaceMenuCategoryRef )
. SetIcon ( FSlateIcon ( FEditorStyle : : GetStyleSetName ( ) , " Kismet.Tabs.FindResults " ) ) ;
2014-04-23 18:21:07 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > RegisterTabSpawner ( HLSLCodeTabId , FOnSpawnTab : : CreateSP ( this , & FMaterialEditor : : SpawnTab_HLSLCode ) )
2014-03-14 14:13:41 -04:00
. SetDisplayName ( LOCTEXT ( " HLSLCodeTab " , " HLSL Code " ) )
2015-04-30 16:52:00 -04:00
. SetGroup ( WorkspaceMenuCategoryRef )
. SetIcon ( FSlateIcon ( FEditorStyle : : GetStyleSetName ( ) , " MaterialEditor.Tabs.HLSLCode " ) ) ;
2015-05-21 14:20:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
OnRegisterTabSpawners ( ) . Broadcast ( InTabManager ) ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
void FMaterialEditor : : UnregisterTabSpawners ( const TSharedRef < class FTabManager > & InTabManager )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
FAssetEditorToolkit : : UnregisterTabSpawners ( InTabManager ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
InTabManager - > UnregisterTabSpawner ( PreviewTabId ) ;
InTabManager - > UnregisterTabSpawner ( GraphCanvasTabId ) ;
InTabManager - > UnregisterTabSpawner ( PropertiesTabId ) ;
InTabManager - > UnregisterTabSpawner ( PaletteTabId ) ;
InTabManager - > UnregisterTabSpawner ( StatsTabId ) ;
InTabManager - > UnregisterTabSpawner ( FindTabId ) ;
InTabManager - > UnregisterTabSpawner ( HLSLCodeTabId ) ;
2015-05-21 14:20:41 -04:00
Copying //UE4/Dev-Framework to //UE4/Dev-Main (Source: //UE4/Dev-Framework @ 2964666)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy in Main branch]
2016-05-03 15:44:33 -04:00
OnUnregisterTabSpawners ( ) . Broadcast ( InTabManager ) ;
2014-03-14 14:13:41 -04:00
}
void FMaterialEditor : : InitEditorForMaterial ( UMaterial * InMaterial )
{
check ( InMaterial ) ;
OriginalMaterial = InMaterial ;
MaterialFunction = NULL ;
OriginalMaterialObject = InMaterial ;
ExpressionPreviewMaterial = NULL ;
// Create a copy of the material for preview usage (duplicating to a different class than original!)
// Propagate all object flags except for RF_Standalone, otherwise the preview material won't GC once
// the material editor releases the reference.
Copying //UE4/Dev-Framework to //UE4/Main @ 2775446
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2720537 on 2015/10/07 by Aaron.McLeran
Audio Optimization: Implementing an audio update delta time so audio isn't updated with every engine tick
Change 2746582 on 2015/10/29 by Aaron.McLeran
Implementing single ray-cast sound occlusion
- Fixing/Implementing sound occlusion using one ray cast
- Update rate of the ray cast is conifgurable by the user
- User can enabled/disable occlusion and set various properties of the occlusion at the audio component level
- Occlusion ray-casts are made at a slower rate than the audio engine is updated
- The following properties are supported:
* LowPassFilterFrequency (the LPF cutoff frequency of the per-voice filter to apply if a sound is occluded)
* OcclusionVolumeAttenuation (the volume attenuation to apply to sounds that are occluded)
* OcclusionInterpolationTime (how fast a sound moves from occluded to unoccluded... allows user-defined interpolation times, avoids fast parameter setting for smoother transitions)
- Fixed how low-pass filter frequency is applied on platforms that support it.
* Changed the older HighFrequencyGain parameter to a more understandable and correct LowPassFilterFrequency parameter
* Updated the parameter for the various other features that use per-voice LPF (e.g. audio volumes, distance-based filtering)
* Added backward-compatibility code to take old HighFrequencyGain params to new LowPassFilterFrequency params.
* At the lowest level, there is only one filter which is applied to a sound, but the parameter that has the lowest cutoff frequency is the one used
* Fixed how the parameter is applied at the lower-level in XAudio2 and CoreAudio. The old parameter was incorrectly applied.
* XAudio2 documentation on the low-pass-fitler frequency cutoff param is confirmed incorrect through testing.
#rb zak.middleton
Change 2765174 on 2015/11/12 by Aaron.McLeran
UE-23091 More fixage for NaN audio log spam
Last checkin for this (CL 2760896) was fixing a legit issue but there was still an issue that I was rarely catching during the FN gate encounter in AITestbed after about 5 min of gate defense.
To track down, I added a lot more logging and asserts on NaN numbers in the audio code, enabled ENABLE_NAN_DIAGNOSTIC in UnrealMathUtility.h.
- Was able to trace another cause of the NaNs in audio to 2 uninitialized variables in SoundAttenuationSettings struct: OmniRadius and StereoSpread.
- Zak M suggested the change of the const ref position vector in ListenerPosition and the usage of GetSafeNormal() in Audio.cpp since the value returned by GetLocation() is a temporary and Normalize() is unsafe.
- I removed the flag for the XAudio2 call to compute doppler since we don't use that value and it could've been as source of more NaNs in X3DAudioCalculate
#codereview Zak.Middleton
#rb Zak.Middleton
Change 2765467 on 2015/11/13 by James.Golding
- Allow -ms option to work with 'stat dumphitches' for controlling min time logged
#rb gil.gribb
Change 2765746 on 2015/11/13 by Benn.Gallagher
Added buckets for update rate shift tags (for staggering anim updates)
#jira UE-23213
#rb Bruce.Nesbit
Change 2765747 on 2015/11/13 by Benn.Gallagher
Fixes for bone length calculation in anim dynamics chains.
#rb Bruce.Nesbit
Change 2765749 on 2015/11/13 by Benn.Gallagher
Removed allocations from local CS blends for skeletal controls.
#rb Bruce.Nesbit
Change 2765752 on 2015/11/13 by Benn.Gallagher
Lod mapping support for URO customization
#jira UE-23211
#rb Bruce.Nesbit
Change 2765965 on 2015/11/13 by Marc.Audy
Remove outdated code in LoadMap previously used for matching up downloaded packages from servers. These code paths no longer operate, but in the case where a PIE client was connecting to a non-PIE server (not really supported, but possible), it would cause the Editor Level package to be flagged as as PIE package and cause a crash on exit of PIE
#jira UE-21181
#rb Josh.Markiewicz
Change 2766071 on 2015/11/13 by Mieszko.Zielinski
Fixed dumb mistake in AEQSTestingPawn::PostLoad #UE4
the 'bTickDuringGame == bTickDuringGame' thing
#rb John.Abercrombie
Change 2766086 on 2015/11/13 by Mieszko.Zielinski
Exposing NavModifierComponent to ENGINE_API #UE4
#codereview Lukasz.Furman
Change 2766345 on 2015/11/13 by Mieszko.Zielinski
No longer compiling AISystem's creation out from client builds #UE4
Instead AISystem's instantiation on clients is configurable via UAISystemBase::bInstantiateAISystemOnClient config variable
Change 2766346 on 2015/11/13 by Mieszko.Zielinski
Improvements to EQS test scoring function preview #UE4
#rb Lukasz.Furman
Change 2766528 on 2015/11/13 by Stan.Melax
multiple materials/chunks on a single cloth sim mesh
This supposedly used to work in 4.7 but broke for 4.8
It looks like previous change 2493547 may have introduced the condition statement that makes multiple materials not include all of there verts.
Changing this to instead check for the bounds on the skinningmap instead of the NumRealSimVerts which doesn't look like it takes the offset into consideration.
jira:
#UE-23300
https://jira.ol.epicgames.net/browse/UE-23300
https://answers.unrealengine.com/questions/287833/apex-not-working-on-multiple-materials-since-48.html
Double tested code change with test asset from https://jira.ol.epicgames.net/browse/UE-10674
#rb Benn.Gallagher
Change 2766546 on 2015/11/13 by Marc.Audy
Throw warning for orphaned looping sounds caused by a looping sound node
Don't do somewhat expensive (due to weak pointer) orphaned sound checks in test or shipping
#rb Aaron.McLeran
Change 2766917 on 2015/11/14 by Jurre.deBaare
Fix UE4-23349 Simplygon doens't support sub 64 pixel textures
Change 2767742 on 2015/11/16 by Marc.Audy
Restructure SignificanceManager to store significance manager references in a FGCObject Module class instead of using a singleton.
Improve performance by eliminating StaticFindObjectFast calls in ::Get and force inlining Get calls
#rb Zak.Middleton, Rob.Manuszewski
Change 2767827 on 2015/11/16 by Zak.Middleton
#ue4 - Perf: avoid SmoothClientPosition() calls once the target mesh offset has been reached.
- New flag bNetworkSmoothingComplete indicates whether smoothing has reached the destination. This is set to false when a new network position is received.
- Also fixes trying to smooth rotation towards identity rotation before receiving network updates.
- Deprecated FNetworkPredictionData_Client_Character::CurrentSmoothTime in favor of saving last update time, to prevent needing to update time every tick (since we skip updates now).
#rb Dan.Youhon
Change 2768070 on 2015/11/16 by Marc.Audy
Change StaticDuplicateObject and DuplicateObject to take FName instead of char* (existing usages can automatically convert to FName so no backwards compatibility issues)
Fixup usages to avoid unnecessary string -> char* -> name conversions
Change AActor::CreateComponentFromTemplate to take an FName instead of FString, deprecated FString version
#rb Gil.Gribb
Change 2768121 on 2015/11/16 by Marc.Audy
Forceinline GetFName
Change 2768161 on 2015/11/16 by Aaron.McLeran
Checking occlusion back in
- Bug was due to improper interpolation of LPFFrequency values in audio volumes.
Change 2769428 on 2015/11/17 by Thomas.Sarkanen
Fixed backwards-compatibility issues with FExposedValueCopyRecord
Added PostSerialize function to patch up older data to the new format (copies properties->property FNames).
Made sure to zero FExposedValueCopyRecord in its constructor, prevents uninitialized variable issues when generating CRCs. This is necessary despite these members being UPROPERTYs because they are simply built on the stack then stuffed into the new CDO during compilation.
UE-23268 - EDITOR CRASH: Assertion failed: ((UObject*)ContainerPtr)->IsA((UClass*)GetOuter())
#rb James.Golding
#codereview Mike.Beach,Bob.Tellez
Change 2769488 on 2015/11/17 by Benn.Gallagher
DrawCanvas and debug string support for skeletal controls - accessed using "Skeletal Controls" option in Show->Display Info in Persona
#rb Martin.Wilson
Change 2769545 on 2015/11/17 by Benn.Gallagher
Added space conversion options to copy bone node.
#jira OR-9430
#rb Martin.Wilson
Change 2770228 on 2015/11/17 by Marc.Audy
Fix cause of assert firing when detaching if AttachTo(AttachParent) returns false
#rb Ori.Cohen
#jira UE-23366
Change 2770489 on 2015/11/17 by Marc.Audy
Make ::Serialize WITH_EDITORONLY_DATA since it did nothing otherwise
Change 2770761 on 2015/11/17 by Aaron.McLeran
Removing optimization disablement
- Forgot to remove these lines before checking in/testing.
Change 2771375 on 2015/11/18 by Thomas.Sarkanen
Added initialzation of internal state machine desc ptrs to (finally) remove random crashes when using sub-state machines
#rb Benn.Gallagher
Change 2771697 on 2015/11/18 by Jeff.Farris
Sensible defaults for APlayerController::ClientPlayCameraAnim and ClientPlayCameraShake
#rb marc.audy
Change 2771755 on 2015/11/18 by Marc.Audy
Put back in the recursion block for destroy actor
#rb James.Golding
Change 2772217 on 2015/11/18 by Marc.Audy
Update axis inversion to work the same way as sensitivity instead of old problematic way
Also change to use Reset instead of Empty(Array.Num())
#rb Jeff.Farris
Change 2772686 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization coordinate bug.
Don't need to convert to xaudio2 coordinates for HRTF spatialization
#rb chad.taylor
Change 2772766 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization with xaudio2 voice pools
- Issue was caused by 2 issues:
- effect chains weren't properly clearing their state between uses (SetEffectChain(nullptr) releases the effect for use with other voices)
- Not re-setting MaxEffectChainChannels = 0 in CreateSource() was causing re-used SoundSources to release their XAudio2 voices to the wrong pool.
#rb chad.taylor
Change 2773027 on 2015/11/19 by Thomas.Sarkanen
PR #1765: Git Plugin can find the git.exe binary installed on the Local AppData user directory (Contributed by SRombauts)
#rb Thomas.Sarkanen
Change 2773142 on 2015/11/19 by Benn.Gallagher
Optimized SafeSetCSBoneTransforms, no longer doing 2 iterations over the whole pose.
- Only iterating beyond the index of the first bone transform, cutting off all bones before
- No longer using a bone mask the size of the skeleton, just an array of interesting nodes
- No longer attempting to convert a transform if it isn't necessary (which was happening a lot)
#rb Laurent.Delayen
Change 2773212 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Removing ugly comment. Not going to remove the node itself for backward compatibility.
Change 2773351 on 2015/11/19 by Zak.Middleton
#orion - Make sure we don't skip a final visual update when character mesh interpolation tries to stop smoothing once it reaches its destination. We keep setting bNetworkSmoothingComplete to false until the first visual update, at which point if it remains true we will stop getting updates.
#rb Dan.Youhon
Change 2773599 on 2015/11/19 by Marc.Audy
Fix shadow variable, initialization order, and incorrect placement of ENGINE_API that fails compiles on clang
#codereview Aaron.McLeran
Change 2773661 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Following up by deprecating the CastToPlayerController function for 4.11.
Change 2774707 on 2015/11/19 by Stan.Melax
FCollisionQueryParams constructor API pitfall
Deprecating something that will call the unintended constructor if the programmer provides a string literal instead of explicitly creating an FName.
So this line of code:
FCollisionQueryParams Param(FName(TEXT("DragDropTrace")));
will invoke:
FCollisionQueryParams::FCollisionQueryParams(FName,bool=false,...)
But this line of code:
FCollisionQueryParams Param(TEXT("DragDropTrace"));
invokes:
FCollisionQueryParams::FCollisionQueryParams(bool)
Yes that actually happens, the string literal (the TEXT("whatever")) ends up specifies a bool parameter instead of a FName parameter. So the name is lost and a flag (that is usually set to false) is now set to true (since the string literal address is non-NULL). Yeah, that's could potentially be not what the programmer had intended.
It looks like this interface was introduced in CL 1792949
back in august 2013. Since its been a couple of years, we'll phase it out using the deprecation approach.
Making an API change would break things for existing projects.
If it had been a more recent change we could have probably just gone down to a single constructor right away.
Figured out that going one step further and removing bool param's default and adding a default constructor would minimize the number of places that will be hit with this deprecation. So, yes this is *increasing* the number of construtors temporarily, but this solution has minimal impact on the community. Later after other to-be-deprecated constructor gets removed, the two remaining can be combined into one with defaults for all parameters.
see also
https://udn.unrealengine.com/questions/269512/dangerous-fcollisionqueryparams-overloads.html
#codereview ori.cohen
[CL 2775460 by Marc Audy in Main branch]
2015-11-20 11:02:37 -05:00
Material = ( UMaterial * ) StaticDuplicateObject ( OriginalMaterial , GetTransientPackage ( ) , NAME_None , ~ RF_Standalone , UPreviewMaterial : : StaticClass ( ) ) ;
2014-03-14 14:13:41 -04:00
2014-08-26 14:02:18 -04:00
Material - > CancelOutstandingCompilation ( ) ; //The material is compiled later on anyway so no need to do it in Duplication/PostLoad.
//I'm hackily canceling the jobs here but we should really not add the jobs in the first place. <<--- TODO
Material - > bAllowDevelopmentShaderCompile = CVarMaterialEdUseDevShaders . GetValueOnGameThread ( ) ;
2014-03-14 14:13:41 -04:00
// Remove NULL entries, so the rest of the material editor can assume all entries of Material->Expressions are valid
// This can happen if an expression class was removed
for ( int32 ExpressionIndex = Material - > Expressions . Num ( ) - 1 ; ExpressionIndex > = 0 ; ExpressionIndex - - )
{
if ( ! Material - > Expressions [ ExpressionIndex ] )
{
Material - > Expressions . RemoveAt ( ExpressionIndex ) ;
}
}
}
void FMaterialEditor : : InitEditorForMaterialFunction ( UMaterialFunction * InMaterialFunction )
{
check ( InMaterialFunction ) ;
Material = NULL ;
MaterialFunction = InMaterialFunction ;
OriginalMaterialObject = InMaterialFunction ;
ExpressionPreviewMaterial = NULL ;
// Create a temporary material to preview the material function
2015-02-09 05:43:45 -05:00
Material = NewObject < UMaterial > ( ) ;
2014-03-14 14:13:41 -04:00
{
2014-07-28 17:01:21 -04:00
FArchiveUObject DummyArchive ;
2014-03-14 14:13:41 -04:00
// Hack: serialize the new material with an archive that does nothing so that its material resources are created
Material - > Serialize ( DummyArchive ) ;
}
2014-05-30 07:55:38 -04:00
Material - > SetShadingModel ( MSM_Unlit ) ;
2014-03-14 14:13:41 -04:00
// Propagate all object flags except for RF_Standalone, otherwise the preview material function won't GC once
// the material editor releases the reference.
Copying //UE4/Dev-Framework to //UE4/Main @ 2775446
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2720537 on 2015/10/07 by Aaron.McLeran
Audio Optimization: Implementing an audio update delta time so audio isn't updated with every engine tick
Change 2746582 on 2015/10/29 by Aaron.McLeran
Implementing single ray-cast sound occlusion
- Fixing/Implementing sound occlusion using one ray cast
- Update rate of the ray cast is conifgurable by the user
- User can enabled/disable occlusion and set various properties of the occlusion at the audio component level
- Occlusion ray-casts are made at a slower rate than the audio engine is updated
- The following properties are supported:
* LowPassFilterFrequency (the LPF cutoff frequency of the per-voice filter to apply if a sound is occluded)
* OcclusionVolumeAttenuation (the volume attenuation to apply to sounds that are occluded)
* OcclusionInterpolationTime (how fast a sound moves from occluded to unoccluded... allows user-defined interpolation times, avoids fast parameter setting for smoother transitions)
- Fixed how low-pass filter frequency is applied on platforms that support it.
* Changed the older HighFrequencyGain parameter to a more understandable and correct LowPassFilterFrequency parameter
* Updated the parameter for the various other features that use per-voice LPF (e.g. audio volumes, distance-based filtering)
* Added backward-compatibility code to take old HighFrequencyGain params to new LowPassFilterFrequency params.
* At the lowest level, there is only one filter which is applied to a sound, but the parameter that has the lowest cutoff frequency is the one used
* Fixed how the parameter is applied at the lower-level in XAudio2 and CoreAudio. The old parameter was incorrectly applied.
* XAudio2 documentation on the low-pass-fitler frequency cutoff param is confirmed incorrect through testing.
#rb zak.middleton
Change 2765174 on 2015/11/12 by Aaron.McLeran
UE-23091 More fixage for NaN audio log spam
Last checkin for this (CL 2760896) was fixing a legit issue but there was still an issue that I was rarely catching during the FN gate encounter in AITestbed after about 5 min of gate defense.
To track down, I added a lot more logging and asserts on NaN numbers in the audio code, enabled ENABLE_NAN_DIAGNOSTIC in UnrealMathUtility.h.
- Was able to trace another cause of the NaNs in audio to 2 uninitialized variables in SoundAttenuationSettings struct: OmniRadius and StereoSpread.
- Zak M suggested the change of the const ref position vector in ListenerPosition and the usage of GetSafeNormal() in Audio.cpp since the value returned by GetLocation() is a temporary and Normalize() is unsafe.
- I removed the flag for the XAudio2 call to compute doppler since we don't use that value and it could've been as source of more NaNs in X3DAudioCalculate
#codereview Zak.Middleton
#rb Zak.Middleton
Change 2765467 on 2015/11/13 by James.Golding
- Allow -ms option to work with 'stat dumphitches' for controlling min time logged
#rb gil.gribb
Change 2765746 on 2015/11/13 by Benn.Gallagher
Added buckets for update rate shift tags (for staggering anim updates)
#jira UE-23213
#rb Bruce.Nesbit
Change 2765747 on 2015/11/13 by Benn.Gallagher
Fixes for bone length calculation in anim dynamics chains.
#rb Bruce.Nesbit
Change 2765749 on 2015/11/13 by Benn.Gallagher
Removed allocations from local CS blends for skeletal controls.
#rb Bruce.Nesbit
Change 2765752 on 2015/11/13 by Benn.Gallagher
Lod mapping support for URO customization
#jira UE-23211
#rb Bruce.Nesbit
Change 2765965 on 2015/11/13 by Marc.Audy
Remove outdated code in LoadMap previously used for matching up downloaded packages from servers. These code paths no longer operate, but in the case where a PIE client was connecting to a non-PIE server (not really supported, but possible), it would cause the Editor Level package to be flagged as as PIE package and cause a crash on exit of PIE
#jira UE-21181
#rb Josh.Markiewicz
Change 2766071 on 2015/11/13 by Mieszko.Zielinski
Fixed dumb mistake in AEQSTestingPawn::PostLoad #UE4
the 'bTickDuringGame == bTickDuringGame' thing
#rb John.Abercrombie
Change 2766086 on 2015/11/13 by Mieszko.Zielinski
Exposing NavModifierComponent to ENGINE_API #UE4
#codereview Lukasz.Furman
Change 2766345 on 2015/11/13 by Mieszko.Zielinski
No longer compiling AISystem's creation out from client builds #UE4
Instead AISystem's instantiation on clients is configurable via UAISystemBase::bInstantiateAISystemOnClient config variable
Change 2766346 on 2015/11/13 by Mieszko.Zielinski
Improvements to EQS test scoring function preview #UE4
#rb Lukasz.Furman
Change 2766528 on 2015/11/13 by Stan.Melax
multiple materials/chunks on a single cloth sim mesh
This supposedly used to work in 4.7 but broke for 4.8
It looks like previous change 2493547 may have introduced the condition statement that makes multiple materials not include all of there verts.
Changing this to instead check for the bounds on the skinningmap instead of the NumRealSimVerts which doesn't look like it takes the offset into consideration.
jira:
#UE-23300
https://jira.ol.epicgames.net/browse/UE-23300
https://answers.unrealengine.com/questions/287833/apex-not-working-on-multiple-materials-since-48.html
Double tested code change with test asset from https://jira.ol.epicgames.net/browse/UE-10674
#rb Benn.Gallagher
Change 2766546 on 2015/11/13 by Marc.Audy
Throw warning for orphaned looping sounds caused by a looping sound node
Don't do somewhat expensive (due to weak pointer) orphaned sound checks in test or shipping
#rb Aaron.McLeran
Change 2766917 on 2015/11/14 by Jurre.deBaare
Fix UE4-23349 Simplygon doens't support sub 64 pixel textures
Change 2767742 on 2015/11/16 by Marc.Audy
Restructure SignificanceManager to store significance manager references in a FGCObject Module class instead of using a singleton.
Improve performance by eliminating StaticFindObjectFast calls in ::Get and force inlining Get calls
#rb Zak.Middleton, Rob.Manuszewski
Change 2767827 on 2015/11/16 by Zak.Middleton
#ue4 - Perf: avoid SmoothClientPosition() calls once the target mesh offset has been reached.
- New flag bNetworkSmoothingComplete indicates whether smoothing has reached the destination. This is set to false when a new network position is received.
- Also fixes trying to smooth rotation towards identity rotation before receiving network updates.
- Deprecated FNetworkPredictionData_Client_Character::CurrentSmoothTime in favor of saving last update time, to prevent needing to update time every tick (since we skip updates now).
#rb Dan.Youhon
Change 2768070 on 2015/11/16 by Marc.Audy
Change StaticDuplicateObject and DuplicateObject to take FName instead of char* (existing usages can automatically convert to FName so no backwards compatibility issues)
Fixup usages to avoid unnecessary string -> char* -> name conversions
Change AActor::CreateComponentFromTemplate to take an FName instead of FString, deprecated FString version
#rb Gil.Gribb
Change 2768121 on 2015/11/16 by Marc.Audy
Forceinline GetFName
Change 2768161 on 2015/11/16 by Aaron.McLeran
Checking occlusion back in
- Bug was due to improper interpolation of LPFFrequency values in audio volumes.
Change 2769428 on 2015/11/17 by Thomas.Sarkanen
Fixed backwards-compatibility issues with FExposedValueCopyRecord
Added PostSerialize function to patch up older data to the new format (copies properties->property FNames).
Made sure to zero FExposedValueCopyRecord in its constructor, prevents uninitialized variable issues when generating CRCs. This is necessary despite these members being UPROPERTYs because they are simply built on the stack then stuffed into the new CDO during compilation.
UE-23268 - EDITOR CRASH: Assertion failed: ((UObject*)ContainerPtr)->IsA((UClass*)GetOuter())
#rb James.Golding
#codereview Mike.Beach,Bob.Tellez
Change 2769488 on 2015/11/17 by Benn.Gallagher
DrawCanvas and debug string support for skeletal controls - accessed using "Skeletal Controls" option in Show->Display Info in Persona
#rb Martin.Wilson
Change 2769545 on 2015/11/17 by Benn.Gallagher
Added space conversion options to copy bone node.
#jira OR-9430
#rb Martin.Wilson
Change 2770228 on 2015/11/17 by Marc.Audy
Fix cause of assert firing when detaching if AttachTo(AttachParent) returns false
#rb Ori.Cohen
#jira UE-23366
Change 2770489 on 2015/11/17 by Marc.Audy
Make ::Serialize WITH_EDITORONLY_DATA since it did nothing otherwise
Change 2770761 on 2015/11/17 by Aaron.McLeran
Removing optimization disablement
- Forgot to remove these lines before checking in/testing.
Change 2771375 on 2015/11/18 by Thomas.Sarkanen
Added initialzation of internal state machine desc ptrs to (finally) remove random crashes when using sub-state machines
#rb Benn.Gallagher
Change 2771697 on 2015/11/18 by Jeff.Farris
Sensible defaults for APlayerController::ClientPlayCameraAnim and ClientPlayCameraShake
#rb marc.audy
Change 2771755 on 2015/11/18 by Marc.Audy
Put back in the recursion block for destroy actor
#rb James.Golding
Change 2772217 on 2015/11/18 by Marc.Audy
Update axis inversion to work the same way as sensitivity instead of old problematic way
Also change to use Reset instead of Empty(Array.Num())
#rb Jeff.Farris
Change 2772686 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization coordinate bug.
Don't need to convert to xaudio2 coordinates for HRTF spatialization
#rb chad.taylor
Change 2772766 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization with xaudio2 voice pools
- Issue was caused by 2 issues:
- effect chains weren't properly clearing their state between uses (SetEffectChain(nullptr) releases the effect for use with other voices)
- Not re-setting MaxEffectChainChannels = 0 in CreateSource() was causing re-used SoundSources to release their XAudio2 voices to the wrong pool.
#rb chad.taylor
Change 2773027 on 2015/11/19 by Thomas.Sarkanen
PR #1765: Git Plugin can find the git.exe binary installed on the Local AppData user directory (Contributed by SRombauts)
#rb Thomas.Sarkanen
Change 2773142 on 2015/11/19 by Benn.Gallagher
Optimized SafeSetCSBoneTransforms, no longer doing 2 iterations over the whole pose.
- Only iterating beyond the index of the first bone transform, cutting off all bones before
- No longer using a bone mask the size of the skeleton, just an array of interesting nodes
- No longer attempting to convert a transform if it isn't necessary (which was happening a lot)
#rb Laurent.Delayen
Change 2773212 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Removing ugly comment. Not going to remove the node itself for backward compatibility.
Change 2773351 on 2015/11/19 by Zak.Middleton
#orion - Make sure we don't skip a final visual update when character mesh interpolation tries to stop smoothing once it reaches its destination. We keep setting bNetworkSmoothingComplete to false until the first visual update, at which point if it remains true we will stop getting updates.
#rb Dan.Youhon
Change 2773599 on 2015/11/19 by Marc.Audy
Fix shadow variable, initialization order, and incorrect placement of ENGINE_API that fails compiles on clang
#codereview Aaron.McLeran
Change 2773661 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Following up by deprecating the CastToPlayerController function for 4.11.
Change 2774707 on 2015/11/19 by Stan.Melax
FCollisionQueryParams constructor API pitfall
Deprecating something that will call the unintended constructor if the programmer provides a string literal instead of explicitly creating an FName.
So this line of code:
FCollisionQueryParams Param(FName(TEXT("DragDropTrace")));
will invoke:
FCollisionQueryParams::FCollisionQueryParams(FName,bool=false,...)
But this line of code:
FCollisionQueryParams Param(TEXT("DragDropTrace"));
invokes:
FCollisionQueryParams::FCollisionQueryParams(bool)
Yes that actually happens, the string literal (the TEXT("whatever")) ends up specifies a bool parameter instead of a FName parameter. So the name is lost and a flag (that is usually set to false) is now set to true (since the string literal address is non-NULL). Yeah, that's could potentially be not what the programmer had intended.
It looks like this interface was introduced in CL 1792949
back in august 2013. Since its been a couple of years, we'll phase it out using the deprecation approach.
Making an API change would break things for existing projects.
If it had been a more recent change we could have probably just gone down to a single constructor right away.
Figured out that going one step further and removing bool param's default and adding a default constructor would minimize the number of places that will be hit with this deprecation. So, yes this is *increasing* the number of construtors temporarily, but this solution has minimal impact on the community. Later after other to-be-deprecated constructor gets removed, the two remaining can be combined into one with defaults for all parameters.
see also
https://udn.unrealengine.com/questions/269512/dangerous-fcollisionqueryparams-overloads.html
#codereview ori.cohen
[CL 2775460 by Marc Audy in Main branch]
2015-11-20 11:02:37 -05:00
MaterialFunction = ( UMaterialFunction * ) StaticDuplicateObject ( InMaterialFunction , GetTransientPackage ( ) , NAME_None , ~ RF_Standalone , UMaterialFunction : : StaticClass ( ) ) ;
2014-03-14 14:13:41 -04:00
MaterialFunction - > ParentFunction = InMaterialFunction ;
OriginalMaterial = Material ;
}
void FMaterialEditor : : InitMaterialEditor ( const EToolkitMode : : Type Mode , const TSharedPtr < class IToolkitHost > & InitToolkitHost , UObject * ObjectToEdit )
{
EditorOptions = NULL ;
bMaterialDirty = false ;
bStatsFromPreviewMaterial = false ;
ColorPickerObject = NULL ;
2014-04-23 18:21:07 -04:00
// Support undo/redo
Material - > SetFlags ( RF_Transactional ) ;
2014-04-02 18:09:23 -04:00
2014-04-23 18:21:07 -04:00
GEditor - > RegisterForUndo ( this ) ;
2014-04-02 18:09:23 -04:00
2014-04-23 18:21:07 -04:00
if ( ! Material - > MaterialGraph )
{
Material - > MaterialGraph = CastChecked < UMaterialGraph > ( FBlueprintEditorUtils : : CreateNewGraph ( Material , NAME_None , UMaterialGraph : : StaticClass ( ) , UMaterialGraphSchema : : StaticClass ( ) ) ) ;
}
Material - > MaterialGraph - > Material = Material ;
Material - > MaterialGraph - > MaterialFunction = MaterialFunction ;
Material - > MaterialGraph - > RealtimeDelegate . BindSP ( this , & FMaterialEditor : : IsToggleRealTimeExpressionsChecked ) ;
Material - > MaterialGraph - > MaterialDirtyDelegate . BindSP ( this , & FMaterialEditor : : SetMaterialDirty ) ;
Material - > MaterialGraph - > ToggleCollapsedDelegate . BindSP ( this , & FMaterialEditor : : ToggleCollapsed ) ;
2014-03-14 14:13:41 -04:00
// copy material usage
for ( int32 Usage = 0 ; Usage < MATUSAGE_MAX ; Usage + + )
{
const EMaterialUsage UsageEnum = ( EMaterialUsage ) Usage ;
if ( OriginalMaterial - > GetUsageByFlag ( UsageEnum ) )
{
bool bNeedsRecompile = false ;
Material - > SetMaterialUsage ( bNeedsRecompile , UsageEnum ) ;
}
}
// Manually copy bUsedAsSpecialEngineMaterial as it is duplicate transient to prevent accidental creation of new special engine materials
Material - > bUsedAsSpecialEngineMaterial = OriginalMaterial - > bUsedAsSpecialEngineMaterial ;
// Register our commands. This will only register them if not previously registered
FGraphEditorCommands : : Register ( ) ;
FMaterialEditorCommands : : Register ( ) ;
FMaterialEditorSpawnNodeCommands : : Register ( ) ;
FEditorSupportDelegates : : MaterialUsageFlagsChanged . AddRaw ( this , & FMaterialEditor : : OnMaterialUsageFlagsChanged ) ;
2014-10-23 21:38:06 -04:00
FEditorSupportDelegates : : VectorParameterDefaultChanged . AddRaw ( this , & FMaterialEditor : : OnVectorParameterDefaultChanged ) ;
FEditorSupportDelegates : : ScalarParameterDefaultChanged . AddRaw ( this , & FMaterialEditor : : OnScalarParameterDefaultChanged ) ;
2014-03-14 14:13:41 -04:00
FAssetRegistryModule & AssetRegistryModule = FModuleManager : : GetModuleChecked < FAssetRegistryModule > ( TEXT ( " AssetRegistry " ) ) ;
AssetRegistryModule . Get ( ) . OnAssetRenamed ( ) . AddSP ( this , & FMaterialEditor : : RenameAssetFromRegistry ) ;
CreateInternalWidgets ( ) ;
2014-04-02 18:09:23 -04:00
// Do setup previously done in SMaterialEditorCanvas
2014-04-23 18:21:07 -04:00
SetPreviewMaterial ( Material ) ;
Material - > bIsPreviewMaterial = true ;
FMaterialEditorUtilities : : InitExpressions ( Material ) ;
2014-03-14 14:13:41 -04:00
2015-06-22 15:55:50 -04:00
UpdatePreviewViewportsVisibility ( ) ;
2014-03-14 14:13:41 -04:00
BindCommands ( ) ;
2014-04-23 18:21:07 -04:00
const TSharedRef < FTabManager : : FLayout > StandaloneDefaultLayout = FTabManager : : NewLayout ( " Standalone_MaterialEditor_Layout_v5 " )
2014-03-14 14:13:41 -04:00
- > AddArea
(
FTabManager : : NewPrimaryArea ( ) - > SetOrientation ( Orient_Vertical )
- > Split
(
FTabManager : : NewStack ( )
- > SetSizeCoefficient ( 0.1f )
- > SetHideTabWell ( true )
- > AddTab ( GetToolbarTabId ( ) , ETabState : : OpenedTab )
)
- > Split
(
FTabManager : : NewSplitter ( ) - > SetOrientation ( Orient_Horizontal ) - > SetSizeCoefficient ( 0.9f )
- > Split
(
FTabManager : : NewSplitter ( ) - > SetOrientation ( Orient_Vertical ) - > SetSizeCoefficient ( 0.2f )
- > Split
(
FTabManager : : NewStack ( )
- > SetHideTabWell ( true )
- > AddTab ( PreviewTabId , ETabState : : OpenedTab )
)
- > Split
(
FTabManager : : NewStack ( )
- > AddTab ( PropertiesTabId , ETabState : : OpenedTab )
)
)
- > Split
(
FTabManager : : NewSplitter ( ) - > SetOrientation ( Orient_Vertical )
- > SetSizeCoefficient ( 0.80f )
- > Split
(
FTabManager : : NewStack ( )
- > SetSizeCoefficient ( 0.8f )
- > SetHideTabWell ( true )
- > AddTab ( GraphCanvasTabId , ETabState : : OpenedTab )
)
- > Split
(
FTabManager : : NewStack ( )
- > SetSizeCoefficient ( 0.20f )
- > AddTab ( StatsTabId , ETabState : : ClosedTab )
2014-04-23 18:21:07 -04:00
- > AddTab ( FindTabId , ETabState : : ClosedTab )
2014-03-14 14:13:41 -04:00
)
)
- > Split
(
FTabManager : : NewSplitter ( ) - > SetOrientation ( Orient_Horizontal ) - > SetSizeCoefficient ( 0.2f )
- > Split
(
FTabManager : : NewStack ( )
- > AddTab ( PaletteTabId , ETabState : : OpenedTab )
)
)
)
) ;
const bool bCreateDefaultStandaloneMenu = true ;
const bool bCreateDefaultToolbar = true ;
// Add the preview material to the objects being edited, so that we can find this editor from the temporary material graph
TArray < UObject * > ObjectsToEdit ;
ObjectsToEdit . Add ( ObjectToEdit ) ;
ObjectsToEdit . Add ( Material ) ;
FAssetEditorToolkit : : InitAssetEditor ( Mode , InitToolkitHost , MaterialEditorAppIdentifier , StandaloneDefaultLayout , bCreateDefaultStandaloneMenu , bCreateDefaultToolbar , ObjectsToEdit , false ) ;
2014-10-09 12:34:55 -04:00
2015-05-21 14:20:41 -04:00
AddMenuExtender ( GetMenuExtensibilityManager ( ) - > GetAllExtenders ( GetToolkitCommands ( ) , GetEditingObjects ( ) ) ) ;
2014-03-14 14:13:41 -04:00
IMaterialEditorModule * MaterialEditorModule = & FModuleManager : : LoadModuleChecked < IMaterialEditorModule > ( " MaterialEditor " ) ;
AddMenuExtender ( MaterialEditorModule - > GetMenuExtensibilityManager ( ) - > GetAllExtenders ( GetToolkitCommands ( ) , GetEditingObjects ( ) ) ) ;
ExtendToolbar ( ) ;
RegenerateMenusAndToolbars ( ) ;
// @todo toolkit world centric editing
/*if( IsWorldCentricAssetEditor() )
{
SpawnToolkitTab ( GetToolbarTabId ( ) , FString ( ) , EToolkitTabSpot : : ToolBar ) ;
SpawnToolkitTab ( PreviewTabId , FString ( ) , EToolkitTabSpot : : Viewport ) ;
SpawnToolkitTab ( GraphCanvasTabId , FString ( ) , EToolkitTabSpot : : Document ) ;
SpawnToolkitTab ( PropertiesTabId , FString ( ) , EToolkitTabSpot : : Details ) ;
} */
// Load editor settings from disk.
LoadEditorSettings ( ) ;
// Set the preview mesh for the material. This call must occur after the toolbar is initialized.
2015-02-19 00:33:19 -05:00
if ( ! SetPreviewAssetByName ( * Material - > PreviewMesh . ToString ( ) ) )
2014-03-14 14:13:41 -04:00
{
// The material preview mesh couldn't be found or isn't loaded. Default to the one of the primitive types.
2015-02-19 00:33:19 -05:00
SetPreviewAsset ( GUnrealEd - > GetThumbnailManager ( ) - > EditorSphere ) ;
2014-03-14 14:13:41 -04:00
}
// Initialize expression previews.
if ( MaterialFunction )
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2973846 on 2016/05/11 by Jamie.Dale
Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue
These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).
The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.
This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).
Change 2973847 on 2016/05/11 by Jamie.Dale
Changing the loading phase in the localization dashboard now writes to the default config
#jira UE-30482
Change 2973866 on 2016/05/11 by Jamie.Dale
Deprecated some functions that were taking an unused position.
These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.
- FViewportFrame::ResizeFrame
- FSceneViewport::ResizeFrame
- FSceneViewport::ResizeViewport
Change 2974505 on 2016/05/11 by Nick.Darnell
PR #2309: Added Combobox styling (Contributed by Chris528)
Change 2975241 on 2016/05/12 by Richard.TalbotWatkin
Made sRGB Preview the default in the Color Picker.
Change 2975390 on 2016/05/12 by Jamie.Dale
Made sure that en-US-POSIX is in our list of available cultures
Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this.
Change 2975411 on 2016/05/12 by Jamie.Dale
PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz)
Change 2975559 on 2016/05/12 by Jamie.Dale
Dialogue Wave VO direction can now be localized
This is gathered as editor-only data.
#jira UE-28715
Change 2975710 on 2016/05/12 by Jamie.Dale
Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package
Change 2975728 on 2016/05/12 by Jamie.Dale
Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue
#jira UETOOL-794
Change 2975763 on 2016/05/12 by Jamie.Dale
We no longer warn if asked to check out a UNC path when running the GatherText commandlets
#jira UE-25833
Change 2975766 on 2016/05/12 by Jamie.Dale
Resolved some loc key conflicts
#jira UE-25833
Change 2975774 on 2016/05/12 by Jamie.Dale
PO files now only contain a single entry in the case of a native translation being exported
They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used.
This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file.
Change 2975776 on 2016/05/12 by Jamie.Dale
Downgraded a PO file import warning that isn't really an issue
#jira UE-25833
Change 2976675 on 2016/05/13 by Jamie.Dale
Fixed some more fallout from changes to use the window position when changing the game viewport mode
- FSceneViewport::ResizeFrame:
- Fixed the HMD monitor info setting the wrong variables.
- Fixed SetWindowMode and ResizeViewport potentially being passed two different modes.
- We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning).
- FWindowsWindow::MoveWindowTo:
- Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area.
- FWindowsApplication:
- WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected.
#jira UE-30276
#jira UE-30677
Change 2976804 on 2016/05/13 by Jamie.Dale
Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to
Change 2976967 on 2016/05/13 by Alexis.Matte
#jira UE-30687 Cannot import a skeletal mesh scale to zero
Change 2977042 on 2016/05/13 by Alexis.Matte
#jira UE-29952 log a warning if fbx exceed the maximum number of LOD.
#2326 Github PR
#code review matt.kuhlenschmidt
Change 2977074 on 2016/05/13 by Jamie.Dale
Follow up to CL# 2976804 to avoid a potential change in behavior
Change 2977076 on 2016/05/13 by Jamie.Dale
Some tidy up and optimization to SCulturePicker
Change 2977327 on 2016/05/13 by Alex.Delesky
Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser.
#jira UE-30423
Change 2977499 on 2016/05/13 by Alexis.Matte
#jira UE-29475
Enable UStruct child property to be favorite
Change 2978415 on 2016/05/16 by Jamie.Dale
We now pre-load all the culture data when starting the editor to avoid a UI hitch later
Change 2978517 on 2016/05/16 by Alex.Delesky
#jira UE-29406
Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor.
Change 2978518 on 2016/05/16 by Alex.Delesky
#jira UE-28210
The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session.
Change 2978556 on 2016/05/16 by Alexis.Matte
Fbx tests automation
#jira UE-29635
Change 2978797 on 2016/05/16 by Alexis.Matte
#jira UE-30774
- prevent baking the pivot if we transform the vertex with the absolute transform.
- Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform.
#code review matt.kuhlenschmidt
Change 2978965 on 2016/05/16 by Alexis.Matte
FBX importer, fix the socket rotation.
#jira UE-30094
Change 2980613 on 2016/05/17 by Jamie.Dale
Moved the XLOC UAT localization provider to be publicly accessible
Change 2980614 on 2016/05/17 by Jamie.Dale
Reference update for project move
Change 2980633 on 2016/05/17 by Jamie.Dale
Made the culture mapping used between XLOC and UE4 configurable on a per-project basis
You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings.
Change 2980836 on 2016/05/17 by Jamie.Dale
Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command
You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload
Change 2982700 on 2016/05/18 by Jamie.Dale
Fixed the loc package gather potentially adding the same source location multiple times
Change 2983906 on 2016/05/19 by Jamie.Dale
Slight cleanup of the way we register localization gatherer callbacks
Change 2984356 on 2016/05/19 by Chris.Wood
Removed temporary analytics API change needed for earlier hot fix
[UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817
Change 2986679 on 2016/05/23 by Alex.Delesky
#jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad.
Change 2986798 on 2016/05/23 by Alex.Delesky
#jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus.
Change 2987106 on 2016/05/23 by Alexis.Matte
Fbx importer, fail import must not create a package in the content browser
#jira UE-31154
Change 2987563 on 2016/05/23 by Alex.Delesky
#jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed
Change 2987564 on 2016/05/23 by Alex.Delesky
#jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor.
Change 2988321 on 2016/05/24 by Jamie.Dale
Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded
Change 2988708 on 2016/05/24 by Jamie.Dale
Fix for crash when missing the fallback/last resort font
Change 2988782 on 2016/05/24 by Jamie.Dale
Added the ability to version each localized string individually when loaded into the localization manager
The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories.
Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history.
Change 2988856 on 2016/05/24 by Jamie.Dale
Added a way to get the package(s) of the object(s) being edited by a property panel
Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case:
- UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package.
- Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors.
Change 2988955 on 2016/05/24 by Alex.Delesky
#jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules.
Git Request #2376
Change 2989418 on 2016/05/25 by Jamie.Dale
Added a way to count text references within a package that match the given search criteria
This can be used to detect whether a localization ID is unique within its package.
The following search modes are available:
- MatchId: Detect a reference if it matches the given ID (ignoring the source text)
- MatchSource: Detect a reference if it matches the given ID and source string
- MismatchSource: Detect a reference if it matches the given ID but has a different source string
Change 2989436 on 2016/05/25 by Jamie.Dale
Added "root-level" meta-data (meta-data associated with the package rather than an object within it)
Change 2989471 on 2016/05/25 by Alexis.Matte
Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk
Change 2989639 on 2016/05/25 by Jamie.Dale
Added static version of FName::IsValidXName
This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table)
Change 2989716 on 2016/05/25 by Alex.Delesky
#jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks.
Change 2990100 on 2016/05/25 by Alexis.Matte
Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD
#jira UE-30907
Change 2991442 on 2016/05/26 by Bob.Tellez
#UE4 Fix components in world not rendering when saved without a physics scene.
Change 2991736 on 2016/05/26 by Bob.Tellez
#UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser.
Change 2991942 on 2016/05/26 by Alex.Delesky
#jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup.
Change 2991994 on 2016/05/26 by Alex.Delesky
#jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor.
Change 2994037 on 2016/05/30 by Alexis.Matte
Add Fbx Automation Tests
- static mesh import reimport (sections and materials)
- skeletal mesh import and reimport (sections and materials also bone position)
- static/skeletal mesh LODs (import, add, reimport)
- rigid mesh (import, reimport)
Change 2994253 on 2016/05/31 by Alexis.Matte
Mikkt crash when computing the normals if there is more vertex then the number of wedge
#jira UE-29143
Change 2994260 on 2016/05/31 by Alexis.Matte
Make sure we cannot modify fbx test plan when json file is read only
Change 2994431 on 2016/05/31 by Alex.Delesky
#jira UE-21900 - The scale widget should now render all axes when using an orthographic camera.
Change 2994432 on 2016/05/31 by Alex.Delesky
#jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled.
Change 2994537 on 2016/05/31 by Richard.TalbotWatkin
Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo.
#jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>()
Change 2994983 on 2016/05/31 by Richard.TalbotWatkin
Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information.
#jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693
Change 2995022 on 2016/05/31 by Jamie.Dale
PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH)
Change 2995027 on 2016/05/31 by Jamie.Dale
PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH)
Change 2995963 on 2016/06/01 by Alex.Delesky
#jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh.
Change 2997002 on 2016/06/01 by Cody.Albert
Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed
#jira UE-31448
Change 2998013 on 2016/06/02 by Alexis.Matte
Prevent static mesh materials array to grow when using the reset button in the staticmesh editor.
#jira UE-12931
Change 2998370 on 2016/06/02 by Alexis.Matte
Fbx Automation, add some import LOD test in case the options are not ok
Change 2999709 on 2016/06/03 by Jamie.Dale
Fixed some issues with gathering text from BP bytecode
Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load).
Change 2999755 on 2016/06/03 by Richard.TalbotWatkin
Fixes to Spline Mesh collision generation.
- Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry.
- Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh.
- Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused.
#jira UE-31361 - Splines handle box collision and collision from other shapes differently
Change 2999973 on 2016/06/03 by Jamie.Dale
We now skip bulk data when detecting text references
#jira UE-31596
Change 3000159 on 2016/06/03 by Alex.Delesky
#jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level.
Change 3001814 on 2016/06/06 by Alexis.Matte
Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh.
Add a fbx test to make sure the problem is flag by automation test
#jira UE-1394
Change 3001820 on 2016/06/06 by Alex.Delesky
#jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint.
Change 3001915 on 2016/06/06 by Alexis.Matte
Make sure we check attribute type before checking attribute unique ID in case of unique id clash.
#jira UE-31214
Change 3002026 on 2016/06/06 by Alexis.Matte
Importing morph target should not import textures like materials since the base mesh already import thoses.
UDN Question:
https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html
Change 3002623 on 2016/06/06 by Jamie.Dale
Fixing more loc conflicts
Change 3002883 on 2016/06/06 by Jamie.Dale
Adding retry when dealing with OneSky
This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413
Change 3003004 on 2016/06/06 by Trung.Le
#jira UE-13101 - Make "Description" field for a BluePrint Function multiline
Change 3003859 on 2016/06/07 by Alexis.Matte
#jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite
Change 3004132 on 2016/06/07 by Jamie.Dale
Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical
This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket.
This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly.
Change 3004286 on 2016/06/07 by Jamie.Dale
Ensured that assignments that publish new names to the bucket are atomic
Change 3004310 on 2016/06/07 by Jamie.Dale
Ensured FName internal hashes are returned as uint16
Change 3004381 on 2016/06/07 by Jamie.Dale
FAsyncPackage now creates the meta-data before processing the remaining exports
This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them.
Change 3004765 on 2016/06/07 by Alex.Delesky
#jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material.
Change 3005754 on 2016/06/08 by Trung.Le
Allow whitespace for meta class names
#jira UE-31668
Change 3005755 on 2016/06/08 by Stephan.Jiang
UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid
#jira UE-31299
Change 3006512 on 2016/06/08 by Alex.Delesky
#jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first.
Change 3006760 on 2016/06/08 by Jamie.Dale
Added support for stable localization keys
This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict.
In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict.
In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages.
If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package.
Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this:
MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC
This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game.
Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date.
#jira UETOOL-796
Change 3007501 on 2016/06/09 by Trung.Le
#jira UE-31722
Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction.
Change 3007524 on 2016/06/09 by Jamie.Dale
Added some additional checks to avoid re-keying text when duplicating for PIE
Change 3007564 on 2016/06/09 by Jamie.Dale
PR #2401: DataTable import/export improvements (Contributed by bozaro)
Change 3007653 on 2016/06/09 by Jamie.Dale
PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt)
Change 3008019 on 2016/06/09 by Jamie.Dale
Updated structs to export as JSON when displaying them in the Data Table editor
This produces much cleaner results than using the text export method (which will use the internal names for user defined structs).
This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it.
#jira UE-29958
Change 3008052 on 2016/06/09 by Jamie.Dale
Fixed bug importing an array inside a JSON Data Table
This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing.
Change 3008875 on 2016/06/10 by Jamie.Dale
PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts)
Change 3008879 on 2016/06/10 by Jamie.Dale
PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts)
Change 3008990 on 2016/06/10 by Alex.Delesky
#jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source.
Change 3008991 on 2016/06/10 by Alex.Delesky
#jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window.
Change 3010856 on 2016/06/13 by Alexis.Matte
#jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth.
Change 3011736 on 2016/06/13 by Jamie.Dale
Adding missing plurals.res file
This is needed to get plural form information from ICU.
#jira UETOOL-875
Change 3012387 on 2016/06/14 by Richard.TalbotWatkin
Disabled the Paste context menu action if the property is marked as EditConst.
#jira UE-27469 - User is able to paste values into a read-only setting
Change 3012971 on 2016/06/14 by Stephan.Jiang
Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder.
By default, visibility for engine content is off and developers is on
#jira UE-31657
Change 3013111 on 2016/06/14 by Jamie.Dale
Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations
Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format.
Change 3015438 on 2016/06/15 by Cody.Albert
Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation)
#jira UE-32082
Change 3016782 on 2016/06/16 by Richard.TalbotWatkin
Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array.
Change 3016949 on 2016/06/16 by Jamie.Dale
Added FastDecimalFormat overloads to write into an existing string
This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format).
Change 3016952 on 2016/06/16 by Jamie.Dale
Changed an Add for an Emplace to avoid moving a temporary
Change 3016954 on 2016/06/16 by Jamie.Dale
Updated some FText code to avoid creating temporary objects just to move data through a hierarchy
There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data.
This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit).
In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful.
Change 3019021 on 2016/06/19 by Richard.TalbotWatkin
When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear.
#jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted
Change 3019022 on 2016/06/19 by Richard.TalbotWatkin
Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed.
#jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode
#jira UE-31915 - Selecting BSP face does not show Surface Properties in Details
Change 3019025 on 2016/06/19 by Richard.TalbotWatkin
Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops.
#jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive
Change 3020050 on 2016/06/20 by Cody.Albert
Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor.
#jira UE-32173
Change 3021145 on 2016/06/21 by Jamie.Dale
Added support for text format argument modifiers
These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)".
We provide a few of these by default:
- |plural(key=val,...)
- |ordinal(key=val,...)
Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string.
- |gender(masculine,feminine,[neuter])
Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string.
- |hpp(consonant,vowel)
Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string.
Major changes:
- Exposed the ICU plural form handling via FCulture::GetPluralForm.
- Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers).
- Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat).
- Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText).
- Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText).
Breaking changes:
- The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text:
- The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F".
- Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug.
Change 3021156 on 2016/06/21 by Jamie.Dale
Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling
This avoids the compile and link actions being split into different batches.
Change 3021280 on 2016/06/21 by Richard.TalbotWatkin
Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier).
#jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug
Change 3022949 on 2016/06/22 by Alex.Delesky
#jira UE-31944 - Upgrading Subversion binaries to version 1.9.4.
Change 3023092 on 2016/06/22 by Jamie.Dale
Downgraded some checks to ensures and added an early out
#jira UE-32009
Change 3023154 on 2016/06/22 by Jamie.Dale
Ported over CL# 3018771 to the UE automation
This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated).
Change 3023579 on 2016/06/22 by Jamie.Dale
Expanded the Blueprint FormatText node to support numeric and gender types
These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text.
Major changes:
- The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text.
- Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin.
- FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue.
- The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead.
Change 3023915 on 2016/06/22 by Jamie.Dale
Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals
Change 3024813 on 2016/06/23 by Jamie.Dale
Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code
Change 3024852 on 2016/06/23 by Nick.Darnell
FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections.
Change 3024994 on 2016/06/23 by Nick.Darnell
UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint.
#jira UE-31155
Change 3025194 on 2016/06/23 by Alex.Delesky
#jira UE-31155 - Compilation error fix.
Change 3025255 on 2016/06/23 by Alex.Delesky
#jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports.
Change 3025460 on 2016/06/23 by Cody.Albert
Fixed issue where widget components would misalign when aspect ratio was being constrained
#jira UE-29637
Change 3025508 on 2016/06/23 by Cody.Albert
Adding support for adjusting animation playback speed
#jira UE-32222
Change 3026444 on 2016/06/24 by Jamie.Dale
Fixed crash caused by bad access of shared this when closing an active IME context
This was only needed to get the owner window, which we now cache when the IME context is created.
#jira UE-32240
Change 3028358 on 2016/06/27 by Jamie.Dale
Fixed IMEs not working due to no window being cached
#jira UE-32240
Change 3028464 on 2016/06/27 by Alex.Delesky
#jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out.
Change 3028524 on 2016/06/27 by Chris.Wood
Switched off uploads to legacy Crash Report Receiver.
[UE-31252] - Switch off deprecated CRR upload in Crash Report Client
Also added CRC version string, added to crash context from CRC config
Change 3028840 on 2016/06/27 by Alexis.Matte
#jira UE-32306 replace material bad name character by an underscore when doing a scen import.
Change 3028924 on 2016/06/27 by Alexis.Matte
#jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder
Change 3029044 on 2016/06/27 by Alex.Delesky
#jira UE-31944 - Updating SVN binaries for Mac to 1.9.4
Change 3029276 on 2016/06/27 by Alex.Delesky
#jira UE-31531 - A user can now select the base class when creating a new physical material.
PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside)
Change 3029459 on 2016/06/27 by Alexis.Matte
#jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options.
Change 3030577 on 2016/06/28 by Nick.Darnell
PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts)
Change 3030587 on 2016/06/28 by Alexis.Matte
#jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh
Change 3030946 on 2016/06/28 by Alexis.Matte
#jira UE-32515 prevent crash when re-import staticmesh userdata
Change 3031115 on 2016/06/28 by Jamie.Dale
The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass
This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed.
Change 3031146 on 2016/06/28 by Jamie.Dale
Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject
Change 3031357 on 2016/06/28 by Nick.Darnell
PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz)
Change 3031515 on 2016/06/28 by Jamie.Dale
Fixed game targets not being able to depend on other game targets
Change 3031520 on 2016/06/28 by Jamie.Dale
Localization compilation now specifies an ArchiveName to use
Change 3031671 on 2016/06/28 by Nick.Darnell
Editor - Checking to see if a weak variable is valid before using it in the editor build window.
Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt
Added ability to invert the Y axis in editor viewports for mouse look and orbit
Change 3032495 on 2016/06/29 by Jamie.Dale
Fixed some measuring issues with bi-directional text within a right-flowed document
There were three main issues:
1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering).
2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights).
3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights).
#jira UE-32526
Change 3032533 on 2016/06/29 by Nick.Darnell
UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big.
Change 3032855 on 2016/06/29 by Alexis.Matte
#jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated
#test please re-test also UE-32240
Change 3033145 on 2016/06/29 by Alex.Delesky
#jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized.
Change 3033147 on 2016/06/29 by Alex.Delesky
#jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly.
This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed.
Change 3033162 on 2016/06/29 by Alex.Delesky
#jira UE-31827 - Undo/redo now works in the Material function editor.
Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt
Fix post process settings blendable picker not being readable in the details panel
Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt
Fixed huge number of redundant calls to CanEditChange and
DiffersFromDefault that were causing massive performance loss when
thousands of objects are selected. CanEditChange and DiffersFromDefault
are now cached each time a property value changes.
Fixed redundant calls for getting visualizers for each selected
object. This is now cached on selection
Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt
Fix Mass customization on the body instance not working with undo/redo or reset to default
Change 3034357 on 2016/06/30 by Alex.Delesky
#jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent.
Change 3035915 on 2016/07/01 by Richard.TalbotWatkin
Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox.
#jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox
Change 3035951 on 2016/07/01 by Richard.TalbotWatkin
Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars.
#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume
Change 3036991 on 2016/07/04 by Alexis.Matte
#jira UETOOL-901 Scene importer now support the rigid mesh animation
Change 3037037 on 2016/07/04 by Jamie.Dale
Fixed regression in editable text box alignment
Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead.
Change 3037057 on 2016/07/04 by Richard.TalbotWatkin
Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received.
#jira UE-29815 - In-game screenshot isn't working under certain circumstances
Change 3037082 on 2016/07/04 by Chris.Wood
Added detection of asserts and passing assert flag and crash type string to crash reports.
[UE-30592] - Crash Reporter should determine crash type on client and pass string to server
Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point.
Change 3037095 on 2016/07/04 by Alexis.Matte
Fix the bone name when duplicating a socket.
Change 3037453 on 2016/07/05 by Stephan.Jiang
Adding ability to animate the root wigdet #2
FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint
the properties are then migrated back to the CDO
#UE 31810
Change 3037487 on 2016/07/05 by Jamie.Dale
Fixed crash caused by stale BP pointer
#jira UE-32325
Change 3037488 on 2016/07/05 by Jamie.Dale
Fixed a crash that could occur when a class and a folder had the same name
Change 3037526 on 2016/07/05 by Jamie.Dale
Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress
The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown.
#jira UE-17688
Change 3037557 on 2016/07/05 by Alex.Delesky
#jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location.
The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns.
Change 3037558 on 2016/07/05 by Alex.Delesky
#jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened.
Change 3037559 on 2016/07/05 by Alex.Delesky
#jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level.
Change 3037593 on 2016/07/05 by Stephan.Jiang
GitHub #2549: Add function for setting the playback rate of UMG animations
original code shelved in CL 3033449
#UE-32653
Change 3037605 on 2016/07/05 by Jamie.Dale
Fixed infinite recursion that could happen when gather loc from an object with a custom callback
#jira UE-32670
Change 3037649 on 2016/07/05 by Nick.Darnell
PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast, Rama (Contributed by EverNewJoy)
Change 3037652 on 2016/07/05 by Nick.Darnell
Clean - Removing commented out code.
Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt
Fix initial hitch when dragging around in a color picker opened from a material expression node.
Change 3037679 on 2016/07/05 by Nick.Darnell
Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures.
Change 3037757 on 2016/07/05 by Nick.Darnell
PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok)
Change 3037840 on 2016/07/05 by Nick.Darnell
UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand.
Change 3037924 on 2016/07/05 by Jamie.Dale
Re-ordered variable initialization to appease a warning on Mac
Change 3037981 on 2016/07/05 by Jamie.Dale
Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array
#jira UE-32639
Change 3038075 on 2016/07/05 by Cody.Albert
Removed misleading error message in HandleCECommand
#jira 28007
Change 3038231 on 2016/07/05 by Alexis.Matte
#jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag.
Change 3038275 on 2016/07/05 by Alex.Delesky
#jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself).
Change 3039310 on 2016/07/06 by Trung.Le
#jira UE-25005 Change PIE Key Bindings
- Removed Shift+F1 and Esc from BaseInput.ini
- Created new customizable key binding for
+ Shift+F1: same functionality.
+ Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session.
+ Shift+Esc: now will stop the play session
Change 3039458 on 2016/07/06 by Trung.Le
Removed unused code in StaticMeshLight.cpp
Change 3039827 on 2016/07/06 by Frank.Fella
FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path.
#jira UE-31959
Change 3041094 on 2016/07/07 by Nick.Darnell
WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault.
#jira UE-32694
Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt
Fix visualizers on blueprint actors not working when the internal components are trashed and replaced
Change 3041302 on 2016/07/07 by Chris.Wood
Increased buffer size for crash uploads.
[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack
Trivial change in dev branch - no code review
Change 3041969 on 2016/07/07 by Nick.Darnell
UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel.
Change 3041971 on 2016/07/07 by Nick.Darnell
UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser.
Change 3042612 on 2016/07/08 by Trung.Le
#jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit
Change 3042732 on 2016/07/08 by mitchell.wilson
Adding test content for UMG Paper 2d Atlas test
Change 3042780 on 2016/07/08 by mitchell.wilson
Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing
Change 3042870 on 2016/07/08 by mitchell.wilson
Renaming UMG_Paper2d to UMG_Sprite
Change 3044104 on 2016/07/10 by Nick.Darnell
PR #2104: Improved widget input support (Contributed by projectgheist)
Change 3044107 on 2016/07/10 by Nick.Darnell
Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off.
#jira UE-25750
Change 3044377 on 2016/07/11 by Chris.Wood
Add Slack messaging module - Epic Friday
Change 3044536 on 2016/07/11 by Alex.Delesky
#jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features.
Change 3044922 on 2016/07/11 by Nick.Darnell
Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported.
Change 3045157 on 2016/07/11 by Nick.Darnell
Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat.
Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt
Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe
Change 3045358 on 2016/07/11 by Alex.Delesky
#jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break.
Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt
Enable the widget reflector from the editor console by typing "widgetreflector"
Change 3045387 on 2016/07/11 by Stephan.Jiang
Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly.
#UE-31874
Change 3046093 on 2016/07/12 by Nick.Darnell
UMG - The Slider now exposes the IsFocusable option from Slate.
#jira UE-32960
Change 3046094 on 2016/07/12 by Alexis.Matte
#jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value.
Change 3046104 on 2016/07/12 by Stephan.Jiang
typo "Syc" causing the "Sync" button doesn't show Slateicon
#UE-31409
Change 3046142 on 2016/07/12 by Nick.Darnell
Orion - Upgrading more code to use the new input mode functions and not the deprecated ones.
Change 3046165 on 2016/07/12 by Nick.Darnell
UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data.
#jira UE-32844
Change 3046255 on 2016/07/12 by Nick.Darnell
UT - More build warning fixes for the new Input Mode methods.
Change 3046604 on 2016/07/12 by Richard.Hinckley
Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard.
Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt
Better way of summoning the widget reflector from the console
Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt
Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only
Change 3048754 on 2016/07/13 by Trung.Le
#jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands
Change 3048756 on 2016/07/13 by Trung.Le
Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable
Change 3048865 on 2016/07/13 by Trung.Le
#jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly
Change 3048892 on 2016/07/13 by Nick.Darnell
UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance.
#jira UE-33250
Change 3049096 on 2016/07/13 by Trung.Le
Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game.
#jira UE-33259
Change 3049177 on 2016/07/13 by Stephan.Jiang
Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer.
#UE-33016
Change 3049726 on 2016/07/14 by Stephan.Jiang
Adding icons for terrain mirror tool
#UE-20588
Change 3049957 on 2016/07/14 by Nick.Darnell
Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like.
Change 3049994 on 2016/07/14 by Stephan.Jiang
Set viewed animtion to current animtion after switching from Graph to Designer
(This is for "No Animation Selected" showing up when switching)
#UE-33016
Change 3050194 on 2016/07/14 by Stephan.Jiang
Added ability to replace the widget the track is currently bound to
Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer
#UE-31809
[CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
// Support undo/redo for the material function if it exists
MaterialFunction - > SetFlags ( RF_Transactional ) ;
2014-03-14 14:13:41 -04:00
Material - > Expressions = MaterialFunction - > FunctionExpressions ;
Material - > EditorComments = MaterialFunction - > FunctionEditorComments ;
// Remove NULL entries, so the rest of the material editor can assume all entries of Material->Expressions are valid
// This can happen if an expression class was removed
for ( int32 ExpressionIndex = Material - > Expressions . Num ( ) - 1 ; ExpressionIndex > = 0 ; ExpressionIndex - - )
{
if ( ! Material - > Expressions [ ExpressionIndex ] )
{
Material - > Expressions . RemoveAt ( ExpressionIndex ) ;
}
}
if ( Material - > Expressions . Num ( ) = = 0 )
{
// If this is an empty functions, create an output by default and start previewing it
2014-04-02 18:09:23 -04:00
if ( GraphEditor . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
2015-11-05 13:00:12 -05:00
check ( ! bMaterialDirty ) ;
2014-03-14 14:13:41 -04:00
UMaterialExpression * Expression = CreateNewMaterialExpression ( UMaterialExpressionFunctionOutput : : StaticClass ( ) , FVector2D ( 200 , 300 ) , false , true ) ;
SetPreviewExpression ( Expression ) ;
2015-11-05 13:00:12 -05:00
// This shouldn't count as having dirtied the material, so reset the flag
bMaterialDirty = false ;
2014-03-14 14:13:41 -04:00
}
}
else
{
bool bSetPreviewExpression = false ;
UMaterialExpressionFunctionOutput * FirstOutput = NULL ;
for ( int32 ExpressionIndex = Material - > Expressions . Num ( ) - 1 ; ExpressionIndex > = 0 ; ExpressionIndex - - )
{
UMaterialExpression * Expression = Material - > Expressions [ ExpressionIndex ] ;
// Setup the expression to be used with the preview material instead of the function
Expression - > Function = NULL ;
Expression - > Material = Material ;
UMaterialExpressionFunctionOutput * FunctionOutput = Cast < UMaterialExpressionFunctionOutput > ( Expression ) ;
if ( FunctionOutput )
{
FirstOutput = FunctionOutput ;
if ( FunctionOutput - > bLastPreviewed )
{
bSetPreviewExpression = true ;
// Preview the last output previewed
2014-04-23 18:21:07 -04:00
SetPreviewExpression ( FunctionOutput ) ;
2014-03-14 14:13:41 -04:00
}
}
2014-04-23 18:21:07 -04:00
}
2014-03-14 14:13:41 -04:00
if ( ! bSetPreviewExpression & & FirstOutput )
{
2014-04-23 18:21:07 -04:00
SetPreviewExpression ( FirstOutput ) ;
2014-03-14 14:13:41 -04:00
}
}
2014-04-23 18:06:41 -04:00
}
2014-03-14 14:13:41 -04:00
2014-09-11 08:13:08 -04:00
// Store the name of this material (for the tutorial widget meta)
Material - > MaterialGraph - > OriginalMaterialFullName = OriginalMaterial - > GetName ( ) ;
2014-04-23 18:21:07 -04:00
Material - > MaterialGraph - > RebuildGraph ( ) ;
RecenterEditor ( ) ;
2014-07-08 10:58:56 -04:00
//Make sure the preview material is initialized.
UpdatePreviewMaterial ( true ) ;
RegenerateCodeView ( true ) ;
2014-04-23 18:21:07 -04:00
ForceRefreshExpressionPreviews ( ) ;
}
2014-03-14 14:13:41 -04:00
FMaterialEditor : : FMaterialEditor ( )
: bMaterialDirty ( false )
, bStatsFromPreviewMaterial ( false )
, Material ( NULL )
, OriginalMaterial ( NULL )
, ExpressionPreviewMaterial ( NULL )
2014-04-23 20:20:58 -04:00
, EmptyMaterial ( NULL )
2014-03-14 14:13:41 -04:00
, PreviewExpression ( NULL )
, MaterialFunction ( NULL )
, OriginalMaterialObject ( NULL )
, EditorOptions ( NULL )
, ScopedTransaction ( NULL )
, bAlwaysRefreshAllPreviews ( false )
, bHideUnusedConnectors ( false )
2014-07-08 10:58:56 -04:00
, bLivePreview ( true )
2014-03-14 14:13:41 -04:00
, bIsRealtime ( false )
, bShowStats ( true )
2014-04-23 20:20:58 -04:00
, bShowBuiltinStats ( false )
2014-03-14 14:13:41 -04:00
, bShowMobileStats ( false )
2015-05-21 14:20:41 -04:00
, MenuExtensibilityManager ( new FExtensibilityManager )
, ToolBarExtensibilityManager ( new FExtensibilityManager )
2014-03-14 14:13:41 -04:00
{
}
FMaterialEditor : : ~ FMaterialEditor ( )
{
2015-05-21 14:20:41 -04:00
// Broadcast that this editor is going down to all listeners
OnMaterialEditorClosed ( ) . Broadcast ( ) ;
2014-10-23 21:38:06 -04:00
for ( int32 ParameterIndex = 0 ; ParameterIndex < OverriddenVectorParametersToRevert . Num ( ) ; ParameterIndex + + )
{
SetVectorParameterDefaultOnDependentMaterials ( OverriddenVectorParametersToRevert [ ParameterIndex ] , FLinearColor : : Black , false ) ;
}
for ( int32 ParameterIndex = 0 ; ParameterIndex < OverriddenScalarParametersToRevert . Num ( ) ; ParameterIndex + + )
{
SetScalarParameterDefaultOnDependentMaterials ( OverriddenScalarParametersToRevert [ ParameterIndex ] , 0 , false ) ;
}
2014-03-14 14:13:41 -04:00
// Unregister this delegate
FEditorSupportDelegates : : MaterialUsageFlagsChanged . RemoveAll ( this ) ;
2014-10-23 21:38:06 -04:00
FEditorSupportDelegates : : VectorParameterDefaultChanged . RemoveAll ( this ) ;
FEditorSupportDelegates : : ScalarParameterDefaultChanged . RemoveAll ( this ) ;
2014-03-14 14:13:41 -04:00
// Null out the expression preview material so they can be GC'ed
ExpressionPreviewMaterial = NULL ;
// Save editor settings to disk.
SaveEditorSettings ( ) ;
MaterialDetailsView . Reset ( ) ;
2014-04-23 18:21:07 -04:00
{
SCOPED_SUSPEND_RENDERING_THREAD ( true ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ExpressionPreviews . Empty ( ) ;
2014-03-14 14:13:41 -04:00
}
2014-04-23 18:21:07 -04:00
check ( ! ScopedTransaction ) ;
GEditor - > UnregisterForUndo ( this ) ;
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : GetAllMaterialExpressionGroups ( TArray < FString > * OutGroups )
{
for ( int32 MaterialExpressionIndex = 0 ; MaterialExpressionIndex < Material - > Expressions . Num ( ) ; + + MaterialExpressionIndex )
{
UMaterialExpression * MaterialExpression = Material - > Expressions [ MaterialExpressionIndex ] ;
UMaterialExpressionParameter * Switch = Cast < UMaterialExpressionParameter > ( MaterialExpression ) ;
UMaterialExpressionTextureSampleParameter * TextureS = Cast < UMaterialExpressionTextureSampleParameter > ( MaterialExpression ) ;
UMaterialExpressionFontSampleParameter * FontS = Cast < UMaterialExpressionFontSampleParameter > ( MaterialExpression ) ;
if ( Switch )
{
OutGroups - > AddUnique ( Switch - > Group . ToString ( ) ) ;
}
if ( TextureS )
{
OutGroups - > AddUnique ( TextureS - > Group . ToString ( ) ) ;
}
if ( FontS )
{
OutGroups - > AddUnique ( FontS - > Group . ToString ( ) ) ;
}
}
}
2015-06-22 15:55:50 -04:00
void FMaterialEditor : : UpdatePreviewViewportsVisibility ( )
{
if ( Material - > IsUIMaterial ( ) )
{
PreviewViewport - > SetVisibility ( EVisibility : : Collapsed ) ;
PreviewUIViewport - > SetVisibility ( EVisibility : : Visible ) ;
}
else
{
PreviewViewport - > SetVisibility ( EVisibility : : Visible ) ;
PreviewUIViewport - > SetVisibility ( EVisibility : : Collapsed ) ;
}
}
2014-03-14 14:13:41 -04:00
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
void FMaterialEditor : : CreateInternalWidgets ( )
{
2015-06-22 15:55:50 -04:00
PreviewViewport = SNew ( SMaterialEditor3DPreviewViewport )
2014-03-14 14:13:41 -04:00
. MaterialEditor ( SharedThis ( this ) ) ;
2015-06-22 15:55:50 -04:00
PreviewUIViewport = SNew ( SMaterialEditorUIPreviewViewport , Material ) ;
2014-03-14 14:13:41 -04:00
FPropertyEditorModule & PropertyEditorModule = FModuleManager : : GetModuleChecked < FPropertyEditorModule > ( " PropertyEditor " ) ;
2014-04-23 18:21:07 -04:00
GraphEditor = CreateGraphEditorWidget ( ) ;
// Manually set zoom level to avoid deferred zooming
GraphEditor - > SetViewLocation ( FVector2D : : ZeroVector , 1 ) ;
2015-01-26 17:14:50 -05:00
const FDetailsViewArgs DetailsViewArgs ( false , false , true , FDetailsViewArgs : : HideNameArea , true , this ) ;
2014-04-23 18:21:07 -04:00
MaterialDetailsView = PropertyEditorModule . CreateDetailView ( DetailsViewArgs ) ;
2014-03-14 14:13:41 -04:00
FOnGetDetailCustomizationInstance LayoutExpressionParameterDetails = FOnGetDetailCustomizationInstance : : CreateStatic (
& FMaterialExpressionParameterDetails : : MakeInstance , FOnCollectParameterGroups : : CreateSP ( this , & FMaterialEditor : : GetAllMaterialExpressionGroups ) ) ;
MaterialDetailsView - > RegisterInstancedCustomPropertyLayout (
UMaterialExpressionParameter : : StaticClass ( ) ,
LayoutExpressionParameterDetails
) ;
MaterialDetailsView - > RegisterInstancedCustomPropertyLayout (
UMaterialExpressionFontSampleParameter : : StaticClass ( ) ,
LayoutExpressionParameterDetails
) ;
MaterialDetailsView - > RegisterInstancedCustomPropertyLayout (
UMaterialExpressionTextureSampleParameter : : StaticClass ( ) ,
LayoutExpressionParameterDetails
) ;
FOnGetDetailCustomizationInstance LayoutCollectionParameterDetails = FOnGetDetailCustomizationInstance : : CreateStatic ( & FMaterialExpressionCollectionParameterDetails : : MakeInstance ) ;
MaterialDetailsView - > RegisterInstancedCustomPropertyLayout (
UMaterialExpressionCollectionParameter : : StaticClass ( ) ,
LayoutCollectionParameterDetails
) ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
MaterialDetailsView - > OnFinishedChangingProperties ( ) . AddSP ( this , & FMaterialEditor : : OnFinishedChangingProperties ) ;
2015-06-22 15:55:50 -04:00
PropertyEditorModule . RegisterCustomClassLayout ( UMaterial : : StaticClass ( ) - > GetFName ( ) , FOnGetDetailCustomizationInstance : : CreateStatic ( & FMaterialDetailCustomization : : MakeInstance ) ) ;
2014-04-23 18:21:07 -04:00
Palette = SNew ( SMaterialPalette , SharedThis ( this ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
FMessageLogModule & MessageLogModule = FModuleManager : : LoadModuleChecked < FMessageLogModule > ( " MessageLog " ) ;
FMessageLogInitializationOptions LogOptions ;
// Show Pages so that user is never allowed to clear log messages
2014-08-26 14:02:18 -04:00
LogOptions . bShowPages = false ;
LogOptions . bShowFilters = false ; //TODO - Provide custom filters? E.g. "Critical Errors" vs "Errors" needed for materials?
LogOptions . bAllowClear = false ;
2014-04-23 18:21:07 -04:00
LogOptions . MaxPageCount = 1 ;
StatsListing = MessageLogModule . CreateLogListing ( " MaterialEditorStats " , LogOptions ) ;
2014-03-14 14:13:41 -04:00
2014-09-16 13:46:20 -04:00
Stats = MessageLogModule . CreateLogListingWidget ( StatsListing . ToSharedRef ( ) ) ;
2014-04-23 18:21:07 -04:00
FindResults =
SNew ( SFindInMaterial , SharedThis ( this ) ) ;
2014-03-14 14:13:41 -04:00
CodeViewUtility =
SNew ( SVerticalBox )
// Copy Button
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. AutoWidth ( )
. Padding ( 2.0f , 0.0f )
. VAlign ( VAlign_Center )
. HAlign ( HAlign_Left )
[
SNew ( SButton )
2014-04-23 18:06:41 -04:00
. Text ( LOCTEXT ( " CopyHLSLButton " , " Copy " ) )
. ToolTipText ( LOCTEXT ( " CopyHLSLButtonToolTip " , " Copies all HLSL code to the clipboard. " ) )
2014-03-14 14:13:41 -04:00
. ContentPadding ( 3 )
. OnClicked ( this , & FMaterialEditor : : CopyCodeViewTextToClipboard )
]
]
// Separator
+ SVerticalBox : : Slot ( )
. FillHeight ( 1 )
[
SNew ( SSeparator )
] ;
CodeView =
SNew ( SScrollBox )
+ SScrollBox : : Slot ( ) . Padding ( 5 )
[
SNew ( STextBlock )
. Text ( this , & FMaterialEditor : : GetCodeViewText )
] ;
RegenerateCodeView ( ) ;
}
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
void FMaterialEditor : : OnFinishedChangingProperties ( const FPropertyChangedEvent & PropertyChangedEvent )
{
if ( PropertyChangedEvent . Property ! = nullptr )
{
UStructProperty * Property = Cast < UStructProperty > ( PropertyChangedEvent . Property ) ;
if ( Property ! = nullptr )
{
if ( Property - > Struct - > GetFName ( ) = = TEXT ( " LinearColor " ) | | Property - > Struct - > GetFName ( ) = = TEXT ( " Color " ) ) // if we changed a color property refresh the previews
{
RefreshExpressionPreviews ( ) ;
}
}
}
}
2014-03-14 14:13:41 -04:00
FName FMaterialEditor : : GetToolkitFName ( ) const
{
return FName ( " MaterialEditor " ) ;
}
FText FMaterialEditor : : GetBaseToolkitName ( ) const
{
return LOCTEXT ( " AppLabel " , " Material Editor " ) ;
}
FText FMaterialEditor : : GetToolkitName ( ) const
{
const UObject * EditingObject = GetEditingObjects ( ) [ 0 ] ;
const bool bDirtyState = EditingObject - > GetOutermost ( ) - > IsDirty ( ) ;
// Overridden to accommodate editing of multiple objects (original and preview materials)
FFormatNamedArguments Args ;
Args . Add ( TEXT ( " ObjectName " ) , FText : : FromString ( EditingObject - > GetName ( ) ) ) ;
Args . Add ( TEXT ( " DirtyState " ) , bDirtyState ? FText : : FromString ( TEXT ( " * " ) ) : FText : : GetEmpty ( ) ) ;
return FText : : Format ( LOCTEXT ( " MaterialEditorAppLabel " , " {ObjectName}{DirtyState} " ) , Args ) ;
}
2015-05-26 09:14:55 -04:00
FText FMaterialEditor : : GetToolkitToolTipText ( ) const
{
const UObject * EditingObject = GetEditingObjects ( ) [ 0 ] ;
// Overridden to accommodate editing of multiple objects (original and preview materials)
return FAssetEditorToolkit : : GetToolTipTextForObject ( EditingObject ) ;
}
2014-03-14 14:13:41 -04:00
FString FMaterialEditor : : GetWorldCentricTabPrefix ( ) const
{
return LOCTEXT ( " WorldCentricTabPrefix " , " Material " ) . ToString ( ) ;
}
FLinearColor FMaterialEditor : : GetWorldCentricTabColorScale ( ) const
{
return FLinearColor ( 0.3f , 0.2f , 0.5f , 0.5f ) ;
}
void FMaterialEditor : : Tick ( float InDeltaTime )
{
2014-04-23 18:21:07 -04:00
UpdateMaterialInfoList ( ) ;
UpdateGraphNodeStates ( ) ;
}
2014-03-14 14:13:41 -04:00
TStatId FMaterialEditor : : GetStatId ( ) const
{
RETURN_QUICK_DECLARE_CYCLE_STAT ( FMaterialEditor , STATGROUP_Tickables ) ;
}
void FMaterialEditor : : UpdateThumbnailInfoPreviewMesh ( UMaterialInterface * MatInterface )
{
if ( MatInterface )
{
FAssetToolsModule & AssetToolsModule = FModuleManager : : LoadModuleChecked < FAssetToolsModule > ( " AssetTools " ) ;
TWeakPtr < IAssetTypeActions > AssetTypeActions = AssetToolsModule . Get ( ) . GetAssetTypeActionsForClass ( MatInterface - > GetClass ( ) ) ;
if ( AssetTypeActions . IsValid ( ) )
{
USceneThumbnailInfoWithPrimitive * OriginalThumbnailInfo = Cast < USceneThumbnailInfoWithPrimitive > ( AssetTypeActions . Pin ( ) - > GetThumbnailInfo ( MatInterface ) ) ;
if ( OriginalThumbnailInfo )
{
OriginalThumbnailInfo - > PreviewMesh = MatInterface - > PreviewMesh ;
MatInterface - > PostEditChange ( ) ;
}
}
}
}
void FMaterialEditor : : ExtendToolbar ( )
{
struct Local
{
2014-04-23 18:21:07 -04:00
static void FillToolbar ( FToolBarBuilder & ToolbarBuilder )
2014-03-14 14:13:41 -04:00
{
ToolbarBuilder . BeginSection ( " Apply " ) ;
{
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . Apply ) ;
}
ToolbarBuilder . EndSection ( ) ;
2014-04-23 18:21:07 -04:00
ToolbarBuilder . BeginSection ( " Search " ) ;
{
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . FindInMaterial ) ;
}
ToolbarBuilder . EndSection ( ) ;
2014-03-14 14:13:41 -04:00
ToolbarBuilder . BeginSection ( " Graph " ) ;
{
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . CameraHome ) ;
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . CleanUnusedExpressions ) ;
2014-07-03 09:13:33 -04:00
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . ShowHideConnectors ) ;
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . ToggleLivePreview ) ;
2014-03-14 14:13:41 -04:00
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . ToggleRealtimeExpressions ) ;
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . AlwaysRefreshAllPreviews ) ;
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . ToggleMaterialStats ) ;
ToolbarBuilder . AddToolBarButton ( FMaterialEditorCommands : : Get ( ) . ToggleMobileStats ) ;
}
ToolbarBuilder . EndSection ( ) ;
}
} ;
TSharedPtr < FExtender > ToolbarExtender = MakeShareable ( new FExtender ) ;
ToolbarExtender - > AddToolBarExtension (
" Asset " ,
EExtensionHook : : After ,
GetToolkitCommands ( ) ,
2014-04-23 18:21:07 -04:00
FToolBarExtensionDelegate : : CreateStatic ( & Local : : FillToolbar )
2014-03-14 14:13:41 -04:00
) ;
AddToolbarExtender ( ToolbarExtender ) ;
2015-05-21 14:20:41 -04:00
AddToolbarExtender ( GetToolBarExtensibilityManager ( ) - > GetAllExtenders ( GetToolkitCommands ( ) , GetEditingObjects ( ) ) ) ;
2014-03-14 14:13:41 -04:00
IMaterialEditorModule * MaterialEditorModule = & FModuleManager : : LoadModuleChecked < IMaterialEditorModule > ( " MaterialEditor " ) ;
AddToolbarExtender ( MaterialEditorModule - > GetToolBarExtensibilityManager ( ) - > GetAllExtenders ( GetToolkitCommands ( ) , GetEditingObjects ( ) ) ) ;
}
UMaterialInterface * FMaterialEditor : : GetMaterialInterface ( ) const
{
return Material ;
}
2015-02-19 00:33:19 -05:00
bool FMaterialEditor : : ApproveSetPreviewAsset ( UObject * InAsset )
2014-03-14 14:13:41 -04:00
{
bool bApproved = true ;
2015-02-19 00:33:19 -05:00
2014-03-14 14:13:41 -04:00
// Only permit the use of a skeletal mesh if the material has bUsedWithSkeltalMesh.
2015-02-19 00:33:19 -05:00
if ( USkeletalMesh * SkeletalMesh = Cast < USkeletalMesh > ( InAsset ) )
2014-03-14 14:13:41 -04:00
{
2015-02-19 00:33:19 -05:00
if ( ! Material - > bUsedWithSkeletalMesh )
{
FMessageDialog : : Open ( EAppMsgType : : Ok , NSLOCTEXT ( " UnrealEd " , " Error_MaterialEditor_CantPreviewOnSkelMesh " , " Can't preview on the specified skeletal mesh because the material has not been compiled with bUsedWithSkeletalMesh. " ) ) ;
bApproved = false ;
}
2014-03-14 14:13:41 -04:00
}
2015-02-19 00:33:19 -05:00
2014-03-14 14:13:41 -04:00
return bApproved ;
}
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
void FMaterialEditor : : GetSaveableObjects ( TArray < UObject * > & OutObjects ) const
{
if ( ( MaterialFunction ! = nullptr ) & & MaterialFunction - > ParentFunction )
{
OutObjects . Add ( MaterialFunction - > ParentFunction ) ;
}
else
{
OutObjects . Add ( OriginalMaterial ) ;
}
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : SaveAsset_Execute ( )
{
UE_LOG ( LogMaterialEditor , Log , TEXT ( " Saving and Compiling material %s " ) , * GetEditingObjects ( ) [ 0 ] - > GetName ( ) ) ;
2015-01-30 16:12:10 -05:00
if ( bMaterialDirty )
{
UpdateOriginalMaterial ( ) ;
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
IMaterialEditor : : SaveAsset_Execute ( ) ;
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
void FMaterialEditor : : SaveAssetAs_Execute ( )
{
UE_LOG ( LogMaterialEditor , Log , TEXT ( " Saving and Compiling material %s " ) , * GetEditingObjects ( ) [ 0 ] - > GetName ( ) ) ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
if ( bMaterialDirty )
{
UpdateOriginalMaterial ( ) ;
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
IMaterialEditor : : SaveAssetAs_Execute ( ) ;
2014-03-14 14:13:41 -04:00
}
bool FMaterialEditor : : OnRequestClose ( )
{
DestroyColorPicker ( ) ;
if ( bMaterialDirty )
{
// find out the user wants to do with this dirty material
EAppReturnType : : Type YesNoCancelReply = FMessageDialog : : Open ( EAppMsgType : : YesNoCancel ,
FText : : Format (
NSLOCTEXT ( " UnrealEd " , " Prompt_MaterialEditorClose " , " Would you like to apply changes to this material to the original material? \n {0} \n (No will lose all changes!) " ) ,
FText : : FromString ( OriginalMaterialObject - > GetPathName ( ) ) ) ) ;
// act on it
switch ( YesNoCancelReply )
{
case EAppReturnType : : Yes :
// update material and exit
UpdateOriginalMaterial ( ) ;
break ;
case EAppReturnType : : No :
// exit
2015-08-20 11:11:07 -04:00
bMaterialDirty = false ;
2014-03-14 14:13:41 -04:00
break ;
case EAppReturnType : : Cancel :
// don't exit
return false ;
}
}
return true ;
}
void FMaterialEditor : : DrawMaterialInfoStrings (
FCanvas * Canvas ,
const UMaterial * Material ,
const FMaterialResource * MaterialResource ,
const TArray < FString > & CompileErrors ,
int32 & DrawPositionY ,
bool bDrawInstructions )
{
check ( Material & & MaterialResource ) ;
ERHIFeatureLevel : : Type FeatureLevel = MaterialResource - > GetFeatureLevel ( ) ;
FString FeatureLevelName ;
GetFeatureLevelName ( FeatureLevel , FeatureLevelName ) ;
// The font to use when displaying info strings
UFont * FontToUse = GEngine - > GetTinyFont ( ) ;
const int32 SpacingBetweenLines = 13 ;
if ( bDrawInstructions )
{
// Display any errors and messages in the upper left corner of the viewport.
TArray < FString > Descriptions ;
TArray < int32 > InstructionCounts ;
MaterialResource - > GetRepresentativeInstructionCounts ( Descriptions , InstructionCounts ) ;
for ( int32 InstructionIndex = 0 ; InstructionIndex < Descriptions . Num ( ) ; InstructionIndex + + )
{
FString InstructionCountString = FString : : Printf ( TEXT ( " %s: %u instructions " ) , * Descriptions [ InstructionIndex ] , InstructionCounts [ InstructionIndex ] ) ;
2014-04-02 18:09:23 -04:00
Canvas - > DrawShadowedString ( 5 , DrawPositionY , * InstructionCountString , FontToUse , FLinearColor ( 1 , 1 , 0 ) ) ;
2014-03-14 14:13:41 -04:00
DrawPositionY + = SpacingBetweenLines ;
}
// Display the number of samplers used by the material.
const int32 SamplersUsed = MaterialResource - > GetSamplerUsage ( ) ;
if ( SamplersUsed > = 0 )
{
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948319 on 2016/04/19 by Nick.Shin
update zlib to v1.2.8
part 1 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948661 on 2016/04/19 by Nick.Shin
keep using old zlibs until they are recompiled with the newer version
Change 2948737 on 2016/04/19 by Nick.Shin
build warning fix
Change 2949334 on 2016/04/20 by Nick.Shin
fix library path
for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...
Change 2951556 on 2016/04/21 by Nick.Shin
static libs double checked
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951559 on 2016/04/21 by Nick.Shin
static libs double checked
forgot these files - they were in another changelist
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2952411 on 2016/04/22 by Nick.Shin
add win32 build targets for zlib openssl libcurl libwebsockets
part 1 of 2: these are the C# build scripts
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3118163 on 2016/09/08 by Josh.Adams
perm test 2, not a useful file at all
Change 3121142 on 2016/09/12 by Daniel.Lamb
Attempt to fix deterministic cooking issue for particlelodlevel.
Ensure the spawn module has had postload called on it before using.
#test Paragon cook
Change 3121150 on 2016/09/12 by Daniel.Lamb
Added warning logs to help track down issue UE-33453.
Change 3121201 on 2016/09/12 by Keith.Judge
Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix.
Change 3121302 on 2016/09/12 by Joe.Graf
Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors
Change 3121379 on 2016/09/12 by Dmitry.Rekman
Linux: only link libraries that export needed symbols (UE-35720).
- Fixes very long startup times of modular builds.
- Includes PR #2778 by slonopotamus.
#jira UE-35720
Change 3121383 on 2016/09/12 by Dmitry.Rekman
Linux: added some missing _API declarations on symbols used externally.
- Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't).
Change 3121456 on 2016/09/12 by Daniel.Lamb
Attempt to fix deterministic cooking issue for particlelodlevel.
Ensure the spawn module has had postload called on it before using.
#test Paragon cook
Change 3122939 on 2016/09/13 by Luke.Thatcher
[PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service.
- Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone.
Change 3123040 on 2016/09/13 by Brent.Pease
+ Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now.
Change 3123664 on 2016/09/13 by Nick.Shin
this was originally checked into: release 4.13.1
bringing here to dev-platform
-- original submit comments --
first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing"
next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop
jira UE-35363 - Huge game window when launching onto Safari 9.1.2
Change 3125282 on 2016/09/14 by Michael.Trepka
Fixed iOS and tvOS code indexing in Xcode project
Change 3126812 on 2016/09/15 by Josh.Adams
Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes:
- Added Parse function to JsonObject.cs to be able to parse a string
- Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU()
- Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME
- Converted the PS4MallocCrash class into a generic one (that Wolf is now also using)
- Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread
- Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere
- Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects
- Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever)
- Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool.
- Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini)
- Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain.
- Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening
- Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct.
- Renamed a UT copy of a global function to not linker-conflict
- Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4.
- Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists)
- Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority()
- Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads?
- Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move.
Change 3126842 on 2016/09/15 by Michael.Trepka
Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation.
Change 3126956 on 2016/09/15 by Michael.Trepka
Added support for compiling Vulkan shaders for Android on Mac
Change 3127206 on 2016/09/15 by Michael.Trepka
PR #2604: Remove some warnings. (Contributed by reapazor)
Change 3127324 on 2016/09/15 by Michael.Trepka
Allow third party dylibs on Mac to be loaded from plugin subfolders
Change 3127924 on 2016/09/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3128369 on 2016/09/16 by Nick.Shin
zlib 1.2.8
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128377 on 2016/09/16 by Nick.Shin
openssl 1_0_2h
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128383 on 2016/09/16 by Nick.Shin
libcurl 7_48_0
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128384 on 2016/09/16 by Nick.Shin
libwebsockets 1.7.4
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128464 on 2016/09/16 by Nick.Shin
webRTC rev.12643
NOTE: VS2015
- only Win64 is available
- Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment
NOTE: VS2013
- not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist
- also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways
FUTURE NOTE:
- will continue to try to get VS2015 Win32 functional
- and am working on trying to get VS2013 tested
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128500 on 2016/09/16 by Nick.Shin
zlib 1.2.8 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128504 on 2016/09/16 by Nick.Shin
openssl 1_0_2h - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128506 on 2016/09/16 by Nick.Shin
libcurl 7_48_0 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128508 on 2016/09/16 by Nick.Shin
libwebsockets 1.7.4 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128513 on 2016/09/16 by Nick.Shin
webRTC rev.12643 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128602 on 2016/09/16 by Nick.Shin
webRTC rev.9862 - Win64 VS2013
NOTE:
- not tested (i'm working on getting a VS2013 pro license)
- checking in for testing purposes
WARNING:
- VS2013 is no longer supported by webRTC latest
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128605 on 2016/09/16 by Nick.Shin
re-enabling updated ThirdParySoftware libs:
- zlib (v.1.2.8)
- openssl (1.0.2h)
- libcurl (7_48_0)
- libwebsocket (v.1.7.4)
- webRTC (rev.12643)
to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build...
Change 3128651 on 2016/09/16 by Nick.Shin
fix Win32 build error from CL: #3128605
Change 3128704 on 2016/09/16 by Nick.Shin
fix Win32 build error from CL: #3128605 - this time actually compiling it...
Change 3128825 on 2016/09/16 by Dmitry.Rekman
Linux: proper fix for too slow startup times (UE-35967).
- Pull request #2793 by slonopotamus.
- Now without stripping dependencies on libraries specified before.
- Contains a work around for ld bug <2.25.
Change 3128972 on 2016/09/16 by Nick.Shin
fix to local build error.
Change 3129283 on 2016/09/16 by Brent.Pease
+ Add Android local notification support based on existing system used for iOS
+ Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release
Change 3129494 on 2016/09/17 by Nick.Shin
fix CIS build errors
Change 3129503 on 2016/09/17 by Dmitry.Rekman
Fix Linux build (case sensitivity issue).
Change 3129514 on 2016/09/17 by Nick.Shin
fix CIS build errors for consoles - missing zlib include path
special thanks to Dmitry.Rekman for pointing me in the right direction
Change 3129647 on 2016/09/17 by Dmitry.Rekman
Linux: fix non-unity build.
Change 3131043 on 2016/09/19 by Nick.Shin
archiving build instructions/steps when building:
- zlib (v.1.2.8)
win: #3128369
osx: #3128500
- openssl (1.0.2h)
win: #3128377
osx: #3128504
- libcurl (7_48_0)
win: #3128383
osx: #3128506
- libwebsocket (v.1.7.4)
win: #3128384
osx: #3128508
- webRTC
win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP
osx: #3128513
Change 3132801 on 2016/09/20 by Dmitry.Rekman
Linux: support specifying default OpenGL version via configs (UE-34777).
- The first targeted RHI is going to be used.
Change 3132905 on 2016/09/20 by Josh.Adams
- Fixed up some paths with the WolfPlat rename
Change 3133148 on 2016/09/20 by Josh.Adams
- Only show UT EULA if PLATFORM_DESKTOP
Change 3133152 on 2016/09/20 by Josh.Adams
- Beginning support for applets. Disabled unless you have a special SDK with applet support.
Change 3133169 on 2016/09/20 by Josh.Adams
- Fixed issue with Wolf access but no SDK installed
Change 3133344 on 2016/09/20 by Daniel.Lamb
Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile.
Added new flag to limit number of concurrent shader compiles.
#test Cook QAGame, Cook Paragon
Change 3133345 on 2016/09/20 by Daniel.Lamb
FRedirectCollector collects string asset references all the time when running the editor.
#test Cook paragon cook QAGame.
Change 3133852 on 2016/09/21 by Luke.Thatcher
[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated.
Change 3133875 on 2016/09/21 by Luke.Thatcher
[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2)
Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick
Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'.
Change 3134544 on 2016/09/21 by Josh.Adams
- Reduced UT textures for Wolf
Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick
FPS4Time::SystemTime now calculates the local machine time, instead of UTC.
#jira UE-35170
Change 3135036 on 2016/09/21 by Michael.Trepka
Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process
Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick
GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32
Change 3135292 on 2016/09/21 by Jeff.Campeau
Change include order to favor the XDK edition specific headers where available.
Change 3136414 on 2016/09/22 by Josh.Adams
- Fixed a checkf() that had the case reversed
#jira ue-36311
Change 3137082 on 2016/09/22 by Dmitry.Rekman
Added support for Linux installed builds to 4.14
Change 3137220 on 2016/09/22 by Dmitry.Rekman
Linux: do not rebuild hlslcc on each setup.
- Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary.
Change 3137227 on 2016/09/22 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3137259 on 2016/09/22 by Dmitry.Rekman
Linux installed build: fix CIS (missed one .csproj)
Change 3137290 on 2016/09/22 by Dmitry.Rekman
Linux installed builds: fix for the resulting directory.
Change 3137291 on 2016/09/22 by Chris.Babcock
Restore texture filtering mode properly when movie played on Android
#jira UE-36342
#ue4
#android
Change 3137376 on 2016/09/22 by Dmitry.Rekman
Linux: re-enabled crash handler stack smash protection.
- Race condition in FRunnableThreadPThread has been previously fixed.
Change 3138498 on 2016/09/23 by Dmitry.Rekman
Linux: add missed package for installed builds.
- mono-devel package for resgen2.
Change 3138523 on 2016/09/23 by Dmitry.Rekman
Linux: Update hlslcc now that we're not rebuilding it each time.
Change 3138658 on 2016/09/23 by Josh.Adams
- Moved UT's Social Plugin into NotForLicensees
Change 3139042 on 2016/09/23 by Dmitry.Rekman
Linux: more robust check of installed packages.
- Also added mono-devel to the list of packages installed on 14.04.
Change 3139674 on 2016/09/26 by Dmitry.Rekman
Fix crash when editing widget blueprints (UE-35185).
- Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping.
- Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795).
Change 3140203 on 2016/09/26 by Josh.Adams
- Wolf Fix for SHIPPING
Change 3140206 on 2016/09/26 by Josh.Adams
- NEX work, still in progress
Change 3140276 on 2016/09/26 by Josh.Adams
- Fixed Wolf compile error
Change 3140485 on 2016/09/26 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3140570 on 2016/09/26 by Dmitry.Rekman
SDL2: Delete obsolete files.
- We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space.
Change 3140577 on 2016/09/26 by Dmitry.Rekman
Fix CudaTest monolithic build.
- Not the best fix, the better fix is to build against bundled libc++.
Change 3141184 on 2016/09/27 by Keith.Judge
Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert.
#jira UE-35973
Change 3141623 on 2016/09/27 by Chris.Babcock
Support hiding virtual keyboard on Android
#jira UE-34201
#ue4
#android
Change 3141887 on 2016/09/27 by Joe.Graf
Added support for additional plugin directories that are specified by the .uproject file
New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins
Change 3141916 on 2016/09/27 by Josh.Adams
- Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925)
Change 3141926 on 2016/09/27 by Josh.Adams
- Support for skipping Wolf user selector (-nologinui)
Change 3141938 on 2016/09/27 by Chris.Babcock
Allow Android media player to seek past 999ms (contributed by rcywongaa)
#jira UE-36453
#PR #2797
#ue4
#android
Change 3142207 on 2016/09/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3142219 on 2016/09/27 by Josh.Adams
- Wolf PhysX 3.4 libs and includes
Change 3142220 on 2016/09/27 by Josh.Adams
- File that had to be fixed up after main merge (missed adding it to the huge integrate CL)
Change 3142314 on 2016/09/27 by Chase.McAllister
#jira UE-35011 fixes to some assets to remove redundancies/output log spam
Change 3142510 on 2016/09/27 by Daniel.Lamb
Fixed up resave lightmaps commandlet so that world transforms don't get applied twice.
#jira UE-35942
Change 3142650 on 2016/09/27 by Chris.Babcock
Android support for Linux by yaakuro
- requires CodeWorks for Android Linux installed and OpenJDK 1.8
- need to set Android SDK paths manually in Project Settings
#jira UE-32752
#jira UE-32753
#PR #2564
#PR #2565
#ue4
#android
#linux
Change 3142802 on 2016/09/27 by Dmitry.Rekman
Upgrade to SDL 2.0.5-ish (still technically 2.0.4).
- Upstream revision 10374:dccf51aee79b.
- Merged all our changes hopefully.
Change 3143075 on 2016/09/28 by Luke.Thatcher
[RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro.
#jira UE-33077
Change 3143219 on 2016/09/28 by Daniel.Lamb
Added new is compiling function which tells you if it's really compiling instead of lying.
If def out additional logging for debugging shader compilation issue for 4.14 release.
Change 3143428 on 2016/09/28 by Luke.Thatcher
[PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061
Change 3143488 on 2016/09/28 by Daniel.Lamb
Changed defaults for skip cooking editor content to true.
Change 3143526 on 2016/09/28 by Daniel.Lamb
Increased the concurrent shader compile limit while in the cooker.
#test Cook paragon
Change 3143874 on 2016/09/28 by Chris.Babcock
Read Android environment variables from .bashrc on Linux
#jira UE-36565
#ue4
#android
#linux
Change 3143911 on 2016/09/28 by Dmitry.Rekman
Fix SDL EGL API binding (UE-18979).
- Contains PR #1398 by x414e54.
- Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade.
Change 3143929 on 2016/09/28 by Daniel.Lamb
Removed some more temporary logging.
#test Cook paragon
Change 3143959 on 2016/09/28 by Jeff.Campeau
Media Player for Xbox One
Change 3143997 on 2016/09/28 by Dmitry.Rekman
Linux: faster linking in Debug.
- Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating.
Change 3144004 on 2016/09/28 by Dmitry.Rekman
Linux: make SCW dump core on crash in debug builds.
- If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space).
Change 3144007 on 2016/09/28 by Dmitry.Rekman
Linux: Allow equals character in command line parameter value (UE-26406).
- PR #2019 by bozzaro.
- Allows passing parameters like -Switch=Key=Value.
Change 3144042 on 2016/09/28 by Jeff.Campeau
Add tag for DX12 support being experimental in target settings.
#jira UE-36150
Change 3144068 on 2016/09/28 by Dmitry.Rekman
Linux: enable using xgConsole in UAT (UE-28096).
- PR #2144 by bozzaro.
- Picks correct xgConsole binary.
- Allegedly fixes crash in CombineXGEItemFile on mono.
Change 3144120 on 2016/09/28 by Michael.Trepka
Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/...
Change 3144172 on 2016/09/28 by Chris.Babcock
Add libpng 1.5.27 for Android
#jira UE-36573
#ue4
#android
Change 3144318 on 2016/09/28 by Chris.Babcock
Correct logic for checking .bashrc on Linux
#ue4
#android
Change 3144331 on 2016/09/28 by Dmitry.Rekman
Linux: repair ARM server builds.
- Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1).
Change 3144354 on 2016/09/28 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
this is intermediate, not fully working
Change 3144368 on 2016/09/28 by Josh.Adams
- Moved the new Social files into NFL
Change 3144395 on 2016/09/28 by Chris.Babcock
Add missing functions for AndroidWebBrowserWindow
#ue4
#android
Change 3144417 on 2016/09/28 by Josh.Adams
- Probable fix for FWebBrowserWindow missing virtuals
Change 3144438 on 2016/09/28 by Jeff.Campeau
XDK updated to 160802
Change 3144569 on 2016/09/29 by Dmitry.Rekman
Linux: allow a selectable clock source (UE-36564).
- The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew.
- Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there.
#tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm).
Change 3145108 on 2016/09/29 by Joe.Graf
Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools)
Change 3145245 on 2016/09/29 by Joe.Graf
#wolf
Checking in removal of plugin use on Win64 per Josh's request
Change 3145514 on 2016/09/29 by Will.Fissler
Updated Mac Info.plist files to disable high DPI on macOS 10.12
Change 3145538 on 2016/09/29 by Josh.Adams
- Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots.
Change 3145540 on 2016/09/29 by Josh.Adams
- Fix for checking some Wolf dev tool installation existence
- Fix for various Wolf build issues
- Fix for Wolf devices not showing up in Launch on
Change 3145542 on 2016/09/29 by Josh.Adams
- Pulled over Wolf changes from Wolf branch into Dev-Platform
Change 3145572 on 2016/09/29 by Josh.Adams
- Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people.
#jira UE-36591
Change 3145769 on 2016/09/29 by Chris.Babcock
Remove duplicate platforms from deploy list in UFE
#jira UE-36636
#ue4
Change 3146061 on 2016/09/29 by Chris.Babcock
Linux: be less spammy in log when launching external procs
#jira UE-36638
#ue4
#linux
Change 3146208 on 2016/09/29 by Dmitry.Rekman
Linux: fix PhysX crash (UE-36613).
- PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above.
- This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun.
#jira UE-36613
Change 3146476 on 2016/09/30 by Josh.Adams
- Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose
Change 3146554 on 2016/09/30 by Josh.Adams
- Removed another wolf secret log
Change 3146626 on 2016/09/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3146712 on 2016/09/30 by Josh.Adams
- Fixed case for building Android on Linux
#jira #UE-36652
Change 3146844 on 2016/09/30 by Josh.Adams
- Removed ES2 shader compiling from TVOS, and force Metal compiling
#jira UE-36306
Change 3146865 on 2016/09/30 by Daniel.Lamb
Removed temp logging for materials
#test Launch on paragon
Change 3146874 on 2016/09/30 by Dmitry.Rekman
Linux: add rpath for libTextureConverter.so (UE-36620).
Change 3147030 on 2016/09/30 by Josh.Adams
- Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks
#jira UE-36623
Change 3147151 on 2016/09/30 by Josh.Adams
- Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling?
Change 3147621 on 2016/09/30 by Michael.Trepka
Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac
Change 3147712 on 2016/09/30 by Josh.Adams
- Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform.
#jira UE-36225
Change 3147725 on 2016/09/30 by Josh.Adams
- Fixed yet another Wolf log for people with Wolf access but no SDK
[CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
int32 MaxSamplers = GetExpectedFeatureLevelMaxTextureSamplers ( MaterialResource - > GetFeatureLevel ( ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-02 18:09:23 -04:00
Canvas - > DrawShadowedString (
2014-03-14 14:13:41 -04:00
5 ,
DrawPositionY ,
2015-04-16 13:02:21 -04:00
* FString : : Printf ( TEXT ( " %s samplers: %u/%u " ) , FeatureLevel < = ERHIFeatureLevel : : ES3_1 ? TEXT ( " Mobile texture " ) : TEXT ( " Texture " ) , SamplersUsed , MaxSamplers ) ,
2014-03-14 14:13:41 -04:00
FontToUse ,
SamplersUsed > MaxSamplers ? FLinearColor ( 1 , 0 , 0 ) : FLinearColor ( 1 , 1 , 0 )
) ;
DrawPositionY + = SpacingBetweenLines ;
}
}
for ( int32 ErrorIndex = 0 ; ErrorIndex < CompileErrors . Num ( ) ; ErrorIndex + + )
{
2014-04-02 18:09:23 -04:00
Canvas - > DrawShadowedString ( 5 , DrawPositionY , * FString : : Printf ( TEXT ( " [%s] %s " ) , * FeatureLevelName , * CompileErrors [ ErrorIndex ] ) , FontToUse , FLinearColor ( 1 , 0 , 0 ) ) ;
2014-03-14 14:13:41 -04:00
DrawPositionY + = SpacingBetweenLines ;
}
}
void FMaterialEditor : : DrawMessages ( FViewport * InViewport , FCanvas * Canvas )
{
2014-04-23 18:21:07 -04:00
if ( PreviewExpression ! = NULL )
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3082391)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3051464 on 2016/07/15 by Nick.Darnell
Regression Testing - Several upgrades to the functional testing system, better tracking of failure cases, some source line failure detection, trying to make it easier to run a specific test on a map. Some UI improvements, easier access to the automation system. Lots more refactoring to come, lots of improvements are still needed in transmitting screenshots and just generally building a automation report we could dump from the build machines.
Change 3051465 on 2016/07/15 by Nick.Darnell
Adding the "Engine Test" project our one stop shope for running automation tests in the engine to try and reduce regressions.
Change 3051847 on 2016/07/15 by Matt.Kuhlenschmidt
Fixed material editor viewport messages being blocked by viewport toolbar
Change 3052025 on 2016/07/15 by Nick.Darnell
Moving the placement mode hooks out of functional testing module, moving them into the editor automation module.
Change 3053508 on 2016/07/18 by Stephan.Jiang
Copy,Cut,Paste tracks, not for mastertracks yet.
#UE-31808
Change 3054723 on 2016/07/18 by Stephan.Jiang
Small fixes for typo & comments
Change 3055996 on 2016/07/19 by Trung.Le
PIE: No longer auto resume game in PIE on focus received
Change 3056106 on 2016/07/19 by Trung.Le
Back out changelist 3055996. Build break.
Change 3056108 on 2016/07/19 by Stephan.Jiang
Updating "SoundConcurrency" asseticon
Change 3056389 on 2016/07/19 by Trung.Le
PIE: No longer auto resume game in PIE on focus received
#jira UE-33339
Change 3056396 on 2016/07/19 by Matt.Kuhlenschmidt
More perf selection improvements:
- Static meshes now go through the static draw path when rendered for selection outline instead of just rendering using the dynamic path
Change 3056758 on 2016/07/19 by Stephan.Jiang
Update SelectedWidgets in WidgetblueprintEditor to match the selected tracks in sequencer.
Change 3057519 on 2016/07/20 by Matt.Kuhlenschmidt
Another fix for selecting lots of objects taking forever. This one is due to repeated Modify calls if there are groups in the selection. Each group actor selected iterates through each object selected during USelection::Modify!
Change 3057635 on 2016/07/20 by Stephan.Jiang
Updating visual logger icon UI
Change 3057645 on 2016/07/20 by Richard.TalbotWatkin
Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions.
#jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server
Change 3057868 on 2016/07/20 by Richard.TalbotWatkin
Spline component improvements, both tools and runtime:
- SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value.
- The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding.
- Added a custom version for SplineComponent and provded serialization fixes.
- Added a details customization to SplineComponent to hide the raw FInterpCurve properties.
- Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer.
- Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending.
- Allowed an explicit loop point to be specified for closed splines.
- Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal.
- Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key.
- Fixed the logic which determines whether the UCS has modified the spline curves.
- Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS.
- Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype.
- Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled.
#jira UETOOL-766 - Spline tool improvements
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point
#jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level)
#jira UE-13082 - Users would like a snapping feature for splines
#jira UE-13568 - Additional Spline Component Functionality
#jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport.
Change 3057895 on 2016/07/20 by Richard.TalbotWatkin
Mesh paint bugfixes and improvements.
Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed.
This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list.
#jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab
#jira UE-32279 - Editor crashes when reselecting a mesh in paint mode
#jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75]
#jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting
Change 3057966 on 2016/07/20 by Richard.TalbotWatkin
Renamed IsEditingArchetype to IsVisualizingArchetype in the ComponentVisualizer API.
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
Change 3058009 on 2016/07/20 by Richard.TalbotWatkin
Fixed build failure due to changes to FComponentVisualizer API, as of CL 3057868.
Change 3058047 on 2016/07/20 by Stephan.Jiang
Fixing error on previous CL: 3056758
(extra qualification)
Change 3058266 on 2016/07/20 by Nick.Darnell
Automation - Work continues on automation integrating some ideas form a licensee. Continuing to work on the usability aspects, I've made it possible for tests to provide custom open commands, as well as have complex subclasses that do different things. The functional tests now have a custom open command they emit that makes it so clicking on a test opens not the C++ location where the functional test macro lives, but instead the map, AND focuses the functional test actor.
Change 3058282 on 2016/07/20 by Matt.Kuhlenschmidt
PR #2611: Fix spurious component diff when properties are in subcategories (Contributed by CA-ADuran)
Change 3059214 on 2016/07/21 by Richard.TalbotWatkin
Further fixes to visualizers following Component Visualizer API change.
Change 3059260 on 2016/07/21 by Richard.TalbotWatkin
Template specialization not allowed in class scope, but Visual Studio allows it anyway. Fixed for clang.
Change 3059543 on 2016/07/21 by Stephan.Jiang
Changeing level details icon
Change 3059732 on 2016/07/21 by Stephan.Jiang
Directional Light icon update
Change 3060095 on 2016/07/21 by Stephan.Jiang
Directional Light editor icon asset changed
Change 3060129 on 2016/07/21 by Nick.Darnell
Automation - The session browser now attempts to select the app instance if no other thing is selected when it refreshes. This is to try and make it easier to use when you first bring it up and nothing is selected when most of the time you're going to use it on your own instance.
Change 3061735 on 2016/07/22 by Stephan.Jiang
Improve UMG replace with in HierarchyView function
#UE-33582
Change 3062059 on 2016/07/22 by Stephan.Jiang
Strip off "b" in propertyname in replace with function for tracks.
Change 3062146 on 2016/07/22 by Stephan.Jiang
checkin with CL: 3061735
Change 3062182 on 2016/07/22 by Stephan.Jiang
Change both animation bindings' widget name when renameing the widget so the slot content is still valid
Change 3062257 on 2016/07/22 by Stephan.Jiang
comments
Change 3062381 on 2016/07/22 by Nick.Darnell
Build - Adding #undef LOCTEXT_NAMESPACE to try and fix the build.
Change 3062924 on 2016/07/25 by Chris.Wood
Fix a crash in CrashReportClient that happens when the CrashReportReceiver is not responding to pings and there are no PendingReportDirectories.
This is a change in the UE4 stream depot based on a fix in the Fortnite stream depot -> JIRA FORT-27570
Change 3063017 on 2016/07/25 by Matt.Kuhlenschmidt
PR #2618: DebuggerCommand not recording PlayLocationString (Contributed by ungalyant)
Change 3063021 on 2016/07/25 by Matt.Kuhlenschmidt
PR #2619: added a search box to ModuleUI (Contributed by straymist)
Change 3063084 on 2016/07/25 by Matt.Kuhlenschmidt
Fix "YesToAll" when deleting referenced actors overriding the "YesToAll" state for other referenced messages.
https://jira.ol.epicgames.net/browse/UE-33651
#jira UE-33651
Change 3063091 on 2016/07/25 by Alex.Delesky
#jira UE-32949 - Truncating the hue inside the theme color block tooltip to only display whole numbers, to match how the color picker displays the hue value inside the hue scrubber.
Change 3063388 on 2016/07/25 by Matt.Kuhlenschmidt
Selection Perf:
- Fix large FName creation time when selecting thousands of objects
Change 3063568 on 2016/07/25 by Matt.Kuhlenschmidt
Selection Perf:
- Modified how USelection stores classes. Classes are now in a TSet and can be accessed efficiently using IsClassSelected. The old unused way of checking if a selection has a class by iterating through them is deprecated
- USelection no longer directly checks if an item is already selected with a costly n^2 search. The check is done by using the already existing UObject selected annotation
- Object property nodes no longer perform an n^2 check for object uniqueness when objects are added to details panels. This is now left up to the caller to avoid
- Eliminated useless work on FObjectPropertyNode::GetReadAddressUncached. If a read address list is not passed in we'll not attempt to the work to populate it
- Removed expensive checking for brush actors when any actor is selected
Change 3063749 on 2016/07/25 by Stephan.Jiang
Disallow naming the widgetanimation to the same name with a override function in uuserwidget, because it will trigger a breakpoint in Rename()
#jira UE-33711
Change 3064585 on 2016/07/26 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3064612 on 2016/07/26 by Alex.Delesky
#jira UE-33712 - Deleting many assets at once will now batch SourceControl commands rather than executing one for each asset.
Change 3064647 on 2016/07/26 by Alexis.Matte
#jira UE-33274 dont hash the same file over and over when importing multiple asset from one fbx file.
Change 3064739 on 2016/07/26 by Matt.Kuhlenschmidt
Fixed typo
Change 3064795 on 2016/07/26 by Jamie.Dale
Fixed typo in FLocalizationModule::GetLocalizationTargetByName
#jira UE-32961
Change 3066461 on 2016/07/27 by Jamie.Dale
Enabled stable localization keys
Change 3066463 on 2016/07/27 by Jamie.Dale
Set "Build Engine Localization" to upload all cultures to ensure we don't lose translation due to the archive keying changes
Change 3066467 on 2016/07/27 by Jamie.Dale
Updated internationalization archives to store translations per-identity
This allows translators to translate each instance of a piece of text based upon their context, rather than requiring a content producer to go back and give the entry a unique namespace. It also allows us to optionally compile out-of-date translations, as they are now mapped to their source identity (namespace + key) rather than their source text.
Major changes:
- Added FLocTextHelper. This acts as a high-level API for uncompiled localized text, and replaces all the old ad-hoc loading/saving of manifests and archives, ensuring that everything is consistently using source control, and that older archives can be upgraded correctly to the new format. It also takes care of some of the quirks of our archives, such as native translations. All major localization commandlets have been updated to use FLocTextHelper.
- Moved FTextLocalizationResourceGenerator from Core to Internationalization. This also allows IJsonInternationalizationManifestSerializer and IJsonInternationalizationArchiveSerializer to be removed, and for FJsonInternationalizationManifestSerializer and FJsonInternationalizationArchiveSerializer to have all their functions become static.
- FTextLocalizationResourceGenerator being moved from Core meant that FTextLocalizationManager::LoadFromManifestAndArchives was also removed. This functionality is now handled by FTextLocalizationResourceGenerator::GenerateAndUpdateLiveEntriesFromConfig.
- The RepairLocalizationData commandlet has been removed. This existed to fix a change that pre-dated 4.0 so no such data should exist in the wild, and the commandlet couldn't be updated to work with the new API (we handle format upgrades in-place now).
- Removed FInternationalizationArchive::FindEntryBySource as it is no-longer safe to use. All existing code has been updated to use FInternationalizationArchive::FindEntryByKey instead.
Workflow changes:
- Archive conditioning now only adds new entries if they don't exist in the archive. This allows us to persist any existing translations, even if they're for old source text (caveat: native archives still update existing entries if the source is changed).
- PO export now sets the msgctx for each entry to be "namespace,key", rather than only doing it when the entry had key meta-data.
- PO import will now update both the source and translation stored in the archive to match the current PO data. This is the primary method by which stale source->translation pairs are updated.
- LocRes compilation may now optionally compile stale translations. There's an option controlling this (defaulted to off) that can be changed via the Localization Dashboard (or added to an existing config file).
Format changes:
- The archive version was bumped to 2.
- Archive entries now use the "Key" entry to store the key from the source text. Previously this "Key" entry was used to store the key meta-data, but that now exists within a "MetaData" sub-object. Loading handles this correctly based upon the archive version.
#jira UETOOL-897
#jira UETOOL-898
#jira UE-29481
Change 3066487 on 2016/07/27 by Matt.Kuhlenschmidt
Attempt to fix linux compilation
Change 3066504 on 2016/07/27 by Matt.Kuhlenschmidt
Fixed data tables with structs crashing due to recent editor selection optimizations
Change 3066886 on 2016/07/27 by Jamie.Dale
Added required data to accurately detect TZ (needed for DST)
#jira UE-28511
Change 3067122 on 2016/07/27 by Jamie.Dale
Added AsTime, AsDateTime, and AsDate overrides to BP to let you format a UTC time in a given timezone (default is the local timezone).
Previously you could only format times using the "invariant" timezone, which assumed that the time was already specified in the correct timezone for display.
Change 3067227 on 2016/07/27 by Jamie.Dale
Added a test to verify that the ICU timezone is set correctly to produce local time (including DST)
Change 3067313 on 2016/07/27 by Richard.TalbotWatkin
Fixed SplineComponent constructor so that old assets (prior to the property changes) load correctly if they had properties at default values.
#jira UE-33669 - Crash in Dev-Editor
Change 3067736 on 2016/07/27 by Stephan.Jiang
Border changes for experimental classes warning
Change 3067769 on 2016/07/27 by Stephan.Jiang
HERE BE DRAGONS
for experimental class warning
#UE-33780
Change 3068192 on 2016/07/28 by Alexis.Matte
#jira UE-33586 make sure we remove any false warning when running fbx automation test.
Change 3068264 on 2016/07/28 by Jamie.Dale
Removed some code that was no longer needed and could cause a crash
#jira UE-33342
Change 3068293 on 2016/07/28 by Alex.Delesky
#jira UE-33620 - Comments on constant and parameter nodes in the Material Editor will now persist when converting them.
Change 3068481 on 2016/07/28 by Stephan.Jiang
Adding Options to show/hide soft & hard references & dependencies in References Viewer
#jira UE-33746
Change 3068585 on 2016/07/28 by Richard.TalbotWatkin
Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX.
Change 3068701 on 2016/07/28 by Matt.Kuhlenschmidt
Fixed some issues with the selected classes not updating when objects are deselected
Change 3069335 on 2016/07/28 by Jamie.Dale
Fixed unintended error when trying to load a manifest/archive that didn't exist
Fixed a warning when trying to load a PO file that didn't exist
Change 3069408 on 2016/07/28 by Alex.Delesky
#jira UE-33429 - The editor should no longer hit an ensure if the user attempts to drop a tab into a tab well before the tab well has a chance to acknowledge its been dragged into a tab well.
Change 3069878 on 2016/07/29 by Jamie.Dale
Fixed include casing
#jira UE-33910
Change 3071807 on 2016/08/01 by Matt.Kuhlenschmidt
PR #2654: Fix the spell'ing of "diff'ing" and "diff'd". (Contributed by geary)
Change 3071813 on 2016/08/01 by Jamie.Dale
Fixed include casing
#jira UE-33936
Change 3072043 on 2016/08/01 by Jamie.Dale
Fixed FText formatting of pre-Gregorian dates
We now convert to an ICU UDate via an ICU GregorianCalendar, as UE4 and ICU have a different time scale for pre-Gregorian dates.
#jira UE-14504
Change 3072066 on 2016/08/01 by Jamie.Dale
PR #2590: FEATURE: Collapse/expand folders in the outliner (Contributed by projectgheist)
Change 3072149 on 2016/08/01 by Jamie.Dale
We no longer use the editor culture when running with -game
Change 3072169 on 2016/08/01 by Richard.TalbotWatkin
A couple of changes to the BSP code:
* Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode.
* Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices.
#jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used
#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume
Change 3072221 on 2016/08/01 by Jamie.Dale
Fixed "Launch On" not providing the correct cultures to StartCookByTheBookInEditor
#jira UE-33001
Change 3073389 on 2016/08/02 by Matt.Kuhlenschmidt
Added ability to vsync the editor. Disabled by default. Set r.VSyncEditor to 1 to enable it.
Reimplemented this change from the siggraph demo stream
Change 3073396 on 2016/08/02 by Matt.Kuhlenschmidt
Removed unused code as suggested by a pull request
Change 3073750 on 2016/08/02 by Richard.TalbotWatkin
Fixed formatting (broken in CL 3057895) in anticipation of merge from Main.
Change 3073789 on 2016/08/02 by Jamie.Dale
Added a way to mark text in text properties as culture invariant
This allows you to flag properties containing text that doesn't need to be gathered.
#jira UE-33713
Change 3073825 on 2016/08/02 by Stephan.Jiang
Material Editor: Highligh all Nodes connect to an input.
#jira UE-32502
Change 3073947 on 2016/08/02 by Stephan.Jiang
UMG Project settings to show/hide different classes and categories in Palette view.
--under Project Settings ->Editor->UMG Editor
Change 3074012 on 2016/08/02 by Stephan.Jiang
Minor changes and comments for CL: 3073947
Change 3074029 on 2016/08/02 by Jamie.Dale
Deleting folders in the Content Browser now removes the folder from disk
#jira UE-24303
Change 3074054 on 2016/08/02 by Matt.Kuhlenschmidt
Added missing stats to track pooled vertex and index buffer cpu memory
A new slate allocator was added to track memory usage for this case.
Change 3074056 on 2016/08/02 by Matt.Kuhlenschmidt
Renamed a few slate stats for consistency
Change 3074810 on 2016/08/02 by Matt.Kuhlenschmidt
Moved geometry cache asset type to the animation category. It is not a basic asset type
Change 3074826 on 2016/08/02 by Matt.Kuhlenschmidt
Fix a few padding and sizing issues
Change 3075322 on 2016/08/03 by Matt.Kuhlenschmidt
Settings UI improvements
* Added the ability to search through all settings at once
* Settings files which are not checked out are no longer grayed out. The editor now attempts to check out the file automatically if connected to source control and if that fails it marks the settings file writiable so it can save the setting properly
-------
* This change adds a refactor to the details panel to support multiple top level objects existing in the details panel at once instead of combining all passed in objects to a single common base class. This is disabled by default but can be turned on setting bAllowMultipleTopLevelObjects to true in FDetailsViewArgs when creating a details panel.
* Each top level object in a details panel will get their own customization instance. This made it necessary to deprecate a IDetailsView::GetBaseClass since there is no longer guaranteed to be one base class.
*Details panels can have their own customization for each "root object header" in order to customize the look of having multiple top level objects in the details panel.
Change 3075369 on 2016/08/03 by Matt.Kuhlenschmidt
Removed FBX scene as a top level option in asset filter menu in the content browser.
Change 3075556 on 2016/08/03 by Matt.Kuhlenschmidt
Mac warning fix
Change 3075603 on 2016/08/03 by Nick.Darnell
Adding two new plugins to engine, one for editor and one for runtime based testing. Currently the only consumer of these plugins is going to be the EngineTest project.
Change 3075605 on 2016/08/03 by Nick.Darnell
Functional Testing - Continued work on cleanup, reorganization, trying to improve the workflow for using the session browser.
Change 3076084 on 2016/08/03 by Jamie.Dale
Added basic support for localizing plugins
You can now localize plugins! There's no localization dashboard integration for this so it has to be done manually.
You need to define the localization targets your plugin uses in its .uplugin file, eg)
"LocalizationTargets": [
{
"Name": "Paper2D",
"LoadingPolicy": "Always"
}
]
"Name" should match a localization config under the Config/Localization folder for your plugin. These configs are set-up the same as any other localization config.
"LoadingPolicy" may be one of Never, Always, Editor, Game, PropertyNames, or ToolTips. This allows you to control under what conditions your localizations should be loaded (eg, if your plugin has both game and editor data, you can separate the editor data off into its own localization target that's only loaded by the editor).
UAT has been updated to support gathering from plugins. You can use the "IncludePlugins" flag to have it gather all plugins, or you can specify a whitelist of plugins to gather as an argument to "IncludePlugins", or alternatively, may blacklist certain plugins via "ExcludePlugins". It can now also support out-of-source gathering via the "UEProjectRoot" argument (previously it assumed that everything would be under the UE4 install/checkout directory).
UAT has been updated to support staging plugin LocRes files. It will stage any plugin targets that are enabled for a game/client build, and are also from a plugin that's enabled for your project.
#jira UE-4217
Change 3076123 on 2016/08/03 by Stephan.Jiang
Extend "Select all input nodes" function to general blueprint editor
Change 3077103 on 2016/08/04 by Jamie.Dale
Added support for underlined text rendering (including with drop-shadows)
FTextBlockStyle can now specify a brush to use to draw an underline for text (a suitable default would be "DefaultTextUnderline" from FCoreStyle). When a brush is specified here, we inject FSlateTextUnderlineLineHighlighter highlights into the text layout to draw the underline under the relevant pieces of text, using the correct color, position, and thickness.
FSlateFontCache::GetUnderlineMetrics and FSlateFontRenderer::GetUnderlineMetrics have been added to handle getting the underline metrics (which are slightly different to the baseline).
This change also adds FTextLayout::RemoveRunRenderer and FTextLayout::RemoveLineHighlight to fix some bad assumptions that FSlateEditableTextLayout and FTextBlockLayout were making about ownership of run renderers and line highlighters that could cause them to remove instances they didn't own (such as the new underline highlighter) when updating things like the cursor position or highlight.
Change 3077842 on 2016/08/04 by Jamie.Dale
Fixed fallout from API changes
Change 3077999 on 2016/08/04 by Jamie.Dale
Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading
This prevents it being incorrectly set by other operations, such as counting memory used by font data.
#jira UE-34252
Change 3078000 on 2016/08/04 by Trung.Le
Categories VREditor-specific UMG widget assets as "VR Editor"
#jira UE-34134
Change 3078056 on 2016/08/04 by Nick.Darnell
Build - Fixing a mac compiler warning, reodering constructor initializers.
Change 3078813 on 2016/08/05 by Nick.Darnell
Reorganizing editor tests, establishing plugins in the EditorTest project that will house the tests.
Change 3078818 on 2016/08/05 by Nick.Darnell
Additional rename and cleanup associated with test moving.
Change 3078819 on 2016/08/05 by Nick.Darnell
Removing the Oculus performance automation test, not running, and was unclaimed.
Change 3078842 on 2016/08/05 by Nick.Darnell
Continued reorganizing tests.
Change 3078897 on 2016/08/05 by Nick.Darnell
Additional changes to get some moved tests compiling
Change 3079157 on 2016/08/05 by Nick.Darnell
Making it possible to browse provider names thorugh the source control module interface.
Change 3079176 on 2016/08/05 by Stephan.Jiang
Add shortcut Ctrl+Shift+Space to rotate through different viewport options
#jira UE-34140
Change 3079208 on 2016/08/05 by Stephan.Jiang
Fix new animation name check in UMG
Change 3079278 on 2016/08/05 by Nick.Darnell
Fixing the build
Change 3080555 on 2016/08/08 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3081155 on 2016/08/08 by Nick.Darnell
Fixing some issues with the editor tests / runtime tests under certain build configs.
Change 3081243 on 2016/08/08 by Stephan.Jiang
Add gesture in LevelViewport to switch between Top/Bottom...etc.
Change 3082226 on 2016/08/09 by Matt.Kuhlenschmidt
Work around animations not playing in paragon due to bsp rebuilds (UE-34391)
Change 3082254 on 2016/08/09 by Stephan.Jiang
DragTool_ViewportChange init changes
[CL 3082411 by Matt Kuhlenschmidt in Main branch]
2016-08-09 11:28:56 -04:00
Canvas - > PushAbsoluteTransform ( FTranslationMatrix ( FVector ( 0.0f , 30.0f , 0.0f ) ) ) ;
2014-04-23 18:21:07 -04:00
// The message to display in the viewport.
FString Name = FString : : Printf ( TEXT ( " Previewing: %s " ) , * PreviewExpression - > GetName ( ) ) ;
// Size of the tile we are about to draw. Should extend the length of the view in X.
const FIntPoint TileSize ( InViewport - > GetSizeXY ( ) . X , 25 ) ;
const FColor PreviewColor ( 70 , 100 , 200 ) ;
const FColor FontColor ( 255 , 255 , 128 ) ;
UFont * FontToUse = GEditor - > EditorFont ;
Canvas - > DrawTile ( 0.0f , 0.0f , TileSize . X , TileSize . Y , 0.0f , 0.0f , 0.0f , 0.0f , PreviewColor ) ;
int32 XL , YL ;
StringSize ( FontToUse , XL , YL , * Name ) ;
if ( XL > TileSize . X )
2014-03-14 14:13:41 -04:00
{
2014-04-23 18:21:07 -04:00
// There isn't enough room to show the preview expression name
Name = TEXT ( " Previewing " ) ;
2014-03-14 14:13:41 -04:00
StringSize ( FontToUse , XL , YL , * Name ) ;
}
2014-04-23 18:21:07 -04:00
// Center the string in the middle of the tile.
const FIntPoint StringPos ( ( TileSize . X - XL ) / 2 , ( ( TileSize . Y - YL ) / 2 ) + 1 ) ;
// Draw the preview message
Canvas - > DrawShadowedString ( StringPos . X , StringPos . Y , * Name , FontToUse , FontColor ) ;
Canvas - > PopTransform ( ) ;
2014-03-14 14:13:41 -04:00
}
2014-04-23 18:21:07 -04:00
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : RecenterEditor ( )
{
UEdGraphNode * FocusNode = NULL ;
if ( MaterialFunction )
{
bool bSetPreviewExpression = false ;
UMaterialExpressionFunctionOutput * FirstOutput = NULL ;
for ( int32 ExpressionIndex = Material - > Expressions . Num ( ) - 1 ; ExpressionIndex > = 0 ; ExpressionIndex - - )
{
UMaterialExpression * Expression = Material - > Expressions [ ExpressionIndex ] ;
UMaterialExpressionFunctionOutput * FunctionOutput = Cast < UMaterialExpressionFunctionOutput > ( Expression ) ;
if ( FunctionOutput )
{
FirstOutput = FunctionOutput ;
if ( FunctionOutput - > bLastPreviewed )
{
bSetPreviewExpression = true ;
FocusNode = FunctionOutput - > GraphNode ;
}
}
}
if ( ! bSetPreviewExpression & & FirstOutput )
{
FocusNode = FirstOutput - > GraphNode ;
}
}
else
{
FocusNode = Material - > MaterialGraph - > RootNode ;
}
if ( FocusNode )
{
2014-04-23 18:21:07 -04:00
JumpToNode ( FocusNode ) ;
2014-03-14 14:13:41 -04:00
}
else
{
// Get current view location so that we don't change the zoom amount
FVector2D CurrLocation ;
float CurrZoomLevel ;
GraphEditor - > GetViewLocation ( CurrLocation , CurrZoomLevel ) ;
GraphEditor - > SetViewLocation ( FVector2D : : ZeroVector , CurrZoomLevel ) ;
}
}
2015-02-19 00:33:19 -05:00
bool FMaterialEditor : : SetPreviewAsset ( UObject * InAsset )
2014-03-14 14:13:41 -04:00
{
2015-06-22 15:55:50 -04:00
if ( PreviewViewport . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
2015-06-22 15:55:50 -04:00
return PreviewViewport - > SetPreviewAsset ( InAsset ) ;
2014-03-14 14:13:41 -04:00
}
return false ;
}
2015-02-19 00:33:19 -05:00
bool FMaterialEditor : : SetPreviewAssetByName ( const TCHAR * InAssetName )
2014-03-14 14:13:41 -04:00
{
2015-06-22 15:55:50 -04:00
if ( PreviewViewport . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
2015-06-22 15:55:50 -04:00
return PreviewViewport - > SetPreviewAssetByName ( InAssetName ) ;
2014-03-14 14:13:41 -04:00
}
return false ;
}
void FMaterialEditor : : SetPreviewMaterial ( UMaterialInterface * InMaterialInterface )
{
2016-02-01 14:57:29 -05:00
if ( Material - > IsUIMaterial ( ) )
2014-03-14 14:13:41 -04:00
{
2016-02-01 14:57:29 -05:00
if ( PreviewUIViewport . IsValid ( ) )
{
PreviewUIViewport - > SetPreviewMaterial ( InMaterialInterface ) ;
}
}
else
{
if ( PreviewViewport . IsValid ( ) )
{
PreviewViewport - > SetPreviewMaterial ( InMaterialInterface ) ;
}
2014-03-14 14:13:41 -04:00
}
}
void FMaterialEditor : : RefreshPreviewViewport ( )
{
2015-06-22 15:55:50 -04:00
if ( PreviewViewport . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
2015-06-22 15:55:50 -04:00
PreviewViewport - > RefreshViewport ( ) ;
2014-03-14 14:13:41 -04:00
}
}
void FMaterialEditor : : LoadEditorSettings ( )
{
2015-02-03 05:40:57 -05:00
EditorOptions = NewObject < UMaterialEditorOptions > ( ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
if ( EditorOptions - > bHideUnusedConnectors ) { OnShowConnectors ( ) ; }
2014-07-11 08:44:19 -04:00
if ( bLivePreview ! = EditorOptions - > bLivePreviewUpdate )
2014-07-08 10:58:56 -04:00
{
ToggleLivePreview ( ) ;
}
2014-04-23 18:21:07 -04:00
if ( EditorOptions - > bAlwaysRefreshAllPreviews ) { OnAlwaysRefreshAllPreviews ( ) ; }
if ( EditorOptions - > bRealtimeExpressionViewport ) { ToggleRealTimeExpressions ( ) ; }
2014-04-02 18:09:23 -04:00
2015-06-22 15:55:50 -04:00
if ( PreviewViewport . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
2015-06-22 15:55:50 -04:00
if ( EditorOptions - > bShowGrid )
{
PreviewViewport - > TogglePreviewGrid ( ) ;
}
if ( EditorOptions - > bShowBackground )
{
PreviewViewport - > TogglePreviewBackground ( ) ;
}
if ( EditorOptions - > bRealtimeMaterialViewport )
{
PreviewViewport - > OnToggleRealtime ( ) ;
}
2014-03-14 14:13:41 -04:00
// Load the preview scene
2015-06-22 15:55:50 -04:00
PreviewViewport - > PreviewScene . LoadSettings ( TEXT ( " MaterialEditor " ) ) ;
2014-03-14 14:13:41 -04:00
}
if ( EditorOptions - > bShowMobileStats )
{
ToggleMobileStats ( ) ;
}
2014-04-23 20:20:58 -04:00
2014-03-14 14:13:41 -04:00
// Primitive type
int32 PrimType ;
2015-04-20 10:12:55 -04:00
if ( GConfig - > GetInt ( TEXT ( " MaterialEditor " ) , TEXT ( " PrimType " ) , PrimType , GEditorPerProjectIni ) )
2014-03-14 14:13:41 -04:00
{
2015-06-22 15:55:50 -04:00
PreviewViewport - > OnSetPreviewPrimitive ( ( EThumbnailPrimType ) PrimType ) ;
2014-03-14 14:13:41 -04:00
}
}
void FMaterialEditor : : SaveEditorSettings ( )
{
// Save the preview scene
2015-06-22 15:55:50 -04:00
check ( PreviewViewport . IsValid ( ) ) ;
PreviewViewport - > PreviewScene . SaveSettings ( TEXT ( " MaterialEditor " ) ) ;
2014-03-14 14:13:41 -04:00
if ( EditorOptions )
{
2015-06-22 15:55:50 -04:00
EditorOptions - > bShowGrid = PreviewViewport - > IsTogglePreviewGridChecked ( ) ;
EditorOptions - > bShowBackground = PreviewViewport - > IsTogglePreviewBackgroundChecked ( ) ;
EditorOptions - > bRealtimeMaterialViewport = PreviewViewport - > IsRealtime ( ) ;
2014-03-14 14:13:41 -04:00
EditorOptions - > bShowMobileStats = bShowMobileStats ;
2014-04-23 18:21:07 -04:00
EditorOptions - > bHideUnusedConnectors = ! IsOnShowConnectorsChecked ( ) ;
EditorOptions - > bAlwaysRefreshAllPreviews = IsOnAlwaysRefreshAllPreviews ( ) ;
EditorOptions - > bRealtimeExpressionViewport = IsToggleRealTimeExpressionsChecked ( ) ;
2014-07-11 08:44:19 -04:00
EditorOptions - > bLivePreviewUpdate = IsToggleLivePreviewChecked ( ) ;
2014-03-14 14:13:41 -04:00
EditorOptions - > SaveConfig ( ) ;
}
2015-06-22 15:55:50 -04:00
GConfig - > SetInt ( TEXT ( " MaterialEditor " ) , TEXT ( " PrimType " ) , PreviewViewport - > PreviewPrimType , GEditorPerProjectIni ) ;
2014-03-14 14:13:41 -04:00
}
2015-01-07 09:52:40 -05:00
FText FMaterialEditor : : GetCodeViewText ( ) const
2014-03-14 14:13:41 -04:00
{
2015-01-07 09:52:40 -05:00
return FText : : FromString ( HLSLCode ) ;
2014-03-14 14:13:41 -04:00
}
FReply FMaterialEditor : : CopyCodeViewTextToClipboard ( )
{
2015-01-07 09:52:40 -05:00
FPlatformMisc : : ClipboardCopy ( * HLSLCode ) ;
2014-03-14 14:13:41 -04:00
return FReply : : Handled ( ) ;
}
2014-07-08 10:58:56 -04:00
void FMaterialEditor : : RegenerateCodeView ( bool bForce )
2014-03-14 14:13:41 -04:00
{
# define MARKTAG TEXT(" / *MARK_")
# define MARKTAGLEN 7
HLSLCode = TEXT ( " " ) ;
2014-07-08 10:58:56 -04:00
2014-10-23 21:38:06 -04:00
if ( ! CodeTab . IsValid ( ) | | ( ! bLivePreview & & ! bForce ) )
2014-07-08 10:58:56 -04:00
{
//When bLivePreview is false then the source can be out of date.
return ;
}
2014-03-14 14:13:41 -04:00
FString MarkupSource ;
2015-01-20 11:04:04 -05:00
if ( Material - > GetMaterialResource ( GMaxRHIFeatureLevel ) - > GetMaterialExpressionSource ( MarkupSource ) )
2014-03-14 14:13:41 -04:00
{
// Remove line-feeds and leave just CRs so the character counts match the selection ranges.
MarkupSource . ReplaceInline ( TEXT ( " \r " ) , TEXT ( " " ) ) ;
// Improve formatting: Convert tab to 4 spaces since STextBlock (currently) doesn't show tab characters
MarkupSource . ReplaceInline ( TEXT ( " \t " ) , TEXT ( " " ) ) ;
// Extract highlight ranges from markup tags
// Make a copy so we can insert null terminators.
TCHAR * MarkupSourceCopy = new TCHAR [ MarkupSource . Len ( ) + 1 ] ;
FCString : : Strcpy ( MarkupSourceCopy , MarkupSource . Len ( ) + 1 , * MarkupSource ) ;
TCHAR * Ptr = MarkupSourceCopy ;
while ( Ptr & & * Ptr ! = ' \0 ' )
{
TCHAR * NextTag = FCString : : Strstr ( Ptr , MARKTAG ) ;
if ( ! NextTag )
{
// No more tags, so we're done!
HLSLCode + = Ptr ;
break ;
}
// Copy the text up to the tag.
* NextTag = ' \0 ' ;
HLSLCode + = Ptr ;
// Advance past the markup tag to see what type it is (beginning or end)
NextTag + = MARKTAGLEN ;
int32 TagNumber = FCString : : Atoi ( NextTag + 1 ) ;
Ptr = FCString : : Strstr ( NextTag , TEXT ( " */ " ) ) + 2 ;
}
delete [ ] MarkupSourceCopy ;
}
}
2014-07-03 09:13:33 -04:00
void FMaterialEditor : : UpdatePreviewMaterial ( bool bForce )
2014-03-14 14:13:41 -04:00
{
2014-07-03 09:13:33 -04:00
if ( ! bLivePreview & & ! bForce )
{
//Don't update the preview material
return ;
}
2014-03-14 14:13:41 -04:00
bStatsFromPreviewMaterial = true ;
2014-04-23 18:21:07 -04:00
if ( PreviewExpression & & ExpressionPreviewMaterial )
{
PreviewExpression - > ConnectToPreviewMaterial ( ExpressionPreviewMaterial , 0 ) ;
}
2014-03-14 14:13:41 -04:00
2014-04-02 18:09:23 -04:00
if ( PreviewExpression )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3053250 on 2016/07/18 by Steve.Robb
TNot metafunction added.
Change 3053252 on 2016/07/18 by Steve.Robb
New TIsEnumClass trait.
Change 3061345 on 2016/07/22 by Robert.Manuszewski
Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy
Change 3061377 on 2016/07/22 by Graeme.Thornton
Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default
Change 3064592 on 2016/07/26 by Steven.Hutton
Uploading repository files
Change 3064595 on 2016/07/26 by Steven.Hutton
Assign crashes to buggs based not just on Callstack but also based on Error message.
Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message.
Change 3066046 on 2016/07/27 by Graeme.Thornton
Better dedicated client/server class exclusion during cooking
- Add class lists to cooker settings so they can be modified in the editor
Change 3066077 on 2016/07/27 by Graeme.Thornton
Move Paragon NeedsLoadForServer calls over to the new config based system
Change 3066203 on 2016/07/27 by Chris.Wood
CrashReportProcess logging and Slack reporting improvements to monitor disk space.
[UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full
Change 3066276 on 2016/07/27 by Graeme.Thornton
Move simple NeedsLoadForClient implementations over to new config based system
Change 3068019 on 2016/07/28 by Graeme.Thornton
Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources
- Corrects some bad stats
Change 3068218 on 2016/07/28 by Chris.Wood
CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics
[UE-31706] - Add new BuildVersion string to crash context and website
Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs.
Change 3071665 on 2016/08/01 by Robert.Manuszewski
Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed.
Change 3073388 on 2016/08/02 by Graeme.Thornton
Invalidate string asset reference tags after finishing up loading of an async package
Change 3073745 on 2016/08/02 by Robert.Manuszewski
Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games.
#jira FORT-27839
Change 3074866 on 2016/08/03 by Robert.Manuszewski
PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki)
Change 3075128 on 2016/08/03 by Steve.Robb
Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier
Change 3075130 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel'
Change 3075131 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner'
Change 3075235 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn'
Change 3075248 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile'
Change 3075662 on 2016/08/03 by Steve.Robb
Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call
Change 3075668 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6326: Potential comparison of a constant with another constant
Change 3075679 on 2016/08/03 by Chris.Wood
Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19
[OR-26335] - 29.1 crash reporter generating reports with no callstacks / info
New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing.
Change 3077070 on 2016/08/04 by Steve.Robb
Dead array slack tracking code removed.
Change 3077113 on 2016/08/04 by Steve.Robb
TEnumAsByte is now deprecated for enum classes.
All current uses fixed (which tidies up that code anyway).
New FArchive::op<< for enum classes.
Generated code now never uses TEnumAsByte for enum classes.
Change 3077117 on 2016/08/04 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings'
Change 3078709 on 2016/08/05 by Steve.Robb
FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer.
TObjectIterator annotated to never return null.
NewObject annotated to never return null.
Change 3078836 on 2016/08/05 by Graeme.Thornton
Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading
Change 3082217 on 2016/08/09 by Steve.Robb
Missing #include for FUniqueNetIdRepl added.
Change 3083679 on 2016/08/10 by Chris.Wood
CrashReportProcess performance improvements. CRP v1.1.22
[UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances
[UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway
Passing lock details to MDD on command line and managing multiple MDD tasks in CRP.
Configurable values for range of queue sizes that cause us to throw away crashes.
Change 3085362 on 2016/08/11 by Steve.Robb
Rule-of-three fixes for FAIMessageObserver, to prevent accidents.
From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html
Change 3085396 on 2016/08/11 by Steve.Robb
Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types.
Change 3088840 on 2016/08/15 by Steve.Robb
TRemoveReference moved to its own header.
Change 3088858 on 2016/08/15 by Steve.Robb
TDecay moved to its own header.
Change 3088963 on 2016/08/15 by Steve.Robb
Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke.
Change 3089144 on 2016/08/15 by Steve.Robb
Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features.
Change 3089147 on 2016/08/15 by Steve.Robb
TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::.
Change 3090243 on 2016/08/16 by Steve.Robb
New Algo::Sort and Algo::SortBy algorithms.
Change 3090387 on 2016/08/16 by Steve.Robb
Improved bitwise swapping for Swap.
See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html
Change 3090444 on 2016/08/16 by Steve.Robb
Ptr+Size overloads removed after discussion - MakeArrayView should be used instead.
Change 3090495 on 2016/08/16 by Steve.Robb
Assert when FString::Mid is passed a negative count.
#jira UE-18756
Change 3093455 on 2016/08/18 by Steve.Robb
Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps.
Change 3094476 on 2016/08/19 by Steve.Robb
BOM removed from InvariantCulture.h.
Change 3094697 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3094702 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'.
Change 3094715 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read.
Change 3094737 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OwnedComponent'.
warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did.
Change 3094750 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094768 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'LevelSequence'.
warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094774 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'.
Change 3094783 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'.
Change 3094807 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094815 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'VarNode'.
warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094840 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TunnelGraph'.
warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did.
Change 3094864 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3094880 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'.
Change 3094886 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'.
Change 3094903 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'.
Change 3094916 on 2016/08/19 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer 'CompilerContext'.
Change 3094931 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'.
Change 3094935 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3094943 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.
Change 3094960 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'.
Change 3095046 on 2016/08/19 by Steve.Robb
Single parameter version of CastChecked tagged to never return null.
Change 3095054 on 2016/08/19 by Steve.Robb
Committed wrong version in CL# 3095046.
Change 3095089 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'.
Change 3096035 on 2016/08/22 by Steve.Robb
Fix for static lighting in pixel inspector.
Change 3096039 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'.
Change 3096045 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3096058 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'.
Change 3096059 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'.
Change 3096066 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'.
Change 3096070 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'.
Change 3096074 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'.
Change 3096075 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3096081 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'.
Change 3096156 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'BP'.
warning C6011: Dereferencing NULL pointer 'Object'.
Change 3096308 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TopMipData'.
warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'.
Change 3096315 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OldParent'.
warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'.
Change 3096318 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'.
Change 3096322 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'.
Change 3096337 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C6011: Dereferencing NULL pointer 'SpawnVarPin'.
Change 3096345 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope.
Change 3096356 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'.
Change 3096387 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'.
warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'.
Change 3096400 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'.
Change 3096413 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did.
Change 3096416 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3096423 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'.
Change 3096439 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'.
Change 3096446 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'.
Change 3096454 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'.
Change 3096464 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'.
Change 3096469 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'.
Change 3097559 on 2016/08/23 by Steve.Robb
Alternate fix to CL# 3096439.
Change 3097583 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'.
warning C6011: Dereferencing NULL pointer 'CurrentWorld'.
Change 3097584 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'.
Change 3097585 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did.
warning C6011: Dereferencing NULL pointer 'FirstNativeClass'.
Change 3097588 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'.
Change 3097589 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did.
Change 3097591 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'.
Change 3097597 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'.
Change 3097598 on 2016/08/23 by Steve.Robb
Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension.
Change 3097600 on 2016/08/23 by Steve.Robb
Fix for incorrect null check.
Change 3097605 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'.
Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125
Change 3097609 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did.
Change 3097613 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'.
Change 3097620 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'.
Change 3097627 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'.
Change 3097629 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did.
Change 3097631 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'.
Change 3097634 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'.
Change 3097639 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'.
Change 3097650 on 2016/08/23 by Steve.Robb
Alternate fix for CL# 3097597.
Change 3097725 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'.
Change 3097764 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did.
Change 3097770 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'.
Change 3097775 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'.
Change 3097796 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'.
Change 3097797 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'.
Change 3097843 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did.
Change 3097864 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ObjectClass'.
warning C6011: Dereferencing NULL pointer 'Client'.
Change 3097871 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did.
Change 3098015 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094864.
Change 3098024 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094943.
Change 3098052 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094886.
Change 3098080 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did.
Change 3098102 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'.
Change 3098148 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Node'.
warning C6011: Dereferencing NULL pointer 'OldNode'.
warning C6011: Dereferencing NULL pointer 'LinkedPin'.
warning C6011: Dereferencing NULL pointer 'RootNode'.
Change 3098156 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'.
Change 3098176 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'.
Change 3098182 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'.
Change 3098197 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'.
Coding standards fixes.
Change 3098202 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'.
Change 3098208 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did.
warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did.
Change 3098229 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3099188 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099195 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'.
Change 3099205 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'.
Change 3099228 on 2016/08/24 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did.
Change 3099539 on 2016/08/24 by Steve.Robb
Spurious static analysis fixes:
warning C6011: Dereferencing NULL pointer 'InBlueprint'.
warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did.
https://connect.microsoft.com/VisualStudio/feedback/details/3082362
https://connect.microsoft.com/VisualStudio/feedback/details/3082622
Change 3099546 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'.
Change 3099561 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'.
Change 3099571 on 2016/08/24 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did.
Change 3099600 on 2016/08/24 by Steve.Robb
Static analysis fix:
warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read.
warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read.
warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written.
Change 3099912 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099923 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'.
Change 3100977 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory '*VectorRef'.
warning C6001: Using uninitialized memory '*PointRef'.
warning C6001: Using uninitialized memory '*PolyRef'.
Coding standard fixes.
Change 3100985 on 2016/08/25 by Steve.Robb
Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3100987 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'.
warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'.
Change 3100992 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3101000 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory 'tmpMemReq'.
warning C6001: Using uninitialized memory 'TmpCreateInfo'.
Change 3101004 on 2016/08/25 by Steve.Robb
warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did.
Change 3101009 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'.
Change 3101115 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'.
Change 3101120 on 2016/08/25 by Steve.Robb
Fixes to previous fixes.
Change 3101128 on 2016/08/25 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'.
Change 3101281 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6001: Using uninitialized memory 'Pixel'.
Change 3101292 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'.
Change 3101299 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'.
Change 3101300 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'.
Change 3101304 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'.
Change 3101311 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'.
Change 3101323 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'.
Change 3101329 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'.
Change 3101333 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'.
Change 3101339 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ImportData'.
warning C6011: Dereferencing NULL pointer 'CurveToImport'.
Change 3101485 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'.
Change 3101583 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'.
Change 3105721 on 2016/08/30 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3105724 on 2016/08/30 by Steven.Hutton
Change users page to more responsive paginated version.
Change 3105725 on 2016/08/30 by Steven.Hutton
Added field for crash processor failed
Change 3105786 on 2016/08/30 by Steve.Robb
Reintroduced missing operator<< for enum classes.
Change 3105803 on 2016/08/30 by Steve.Robb
Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too.
Change 3106251 on 2016/08/30 by Steve.Robb
Switch static analysis node to build editor instead of just the engine.
Change 3107556 on 2016/08/31 by Steven.Hutton
Added build version data from CRP to DB as part of add crash #rb none
Change 3107557 on 2016/08/31 by Steven.Hutton
Passed build version data to CRW through crash description #rb none
Change 3107634 on 2016/08/31 by Graeme.Thornton
Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension
#jira UE-20147
Change 3107797 on 2016/08/31 by Steve.Robb
Fix for UHT debugging manifest, after paths changed in CL# 3088416.
Change 3107964 on 2016/08/31 by Steve.Robb
TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive.
New case-sensitive TCString::Strfind added, based on GitHub PR #2453.
Change 3108023 on 2016/08/31 by Steve.Robb
Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks.
Change 3108160 on 2016/08/31 by Steven.Hutton
Update to add new filter to website front page #rb none
Change 3109556 on 2016/09/01 by Steven.Hutton
Fixing compile warning #rb none
Change 3110001 on 2016/09/01 by Steve.Robb
PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything)
Change 3111835 on 2016/09/02 by Steve.Robb
Enforce uint8 on UENUM() enum classes.
#jira UE-35224
Change 3111867 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.
Change 3111880 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
Change 3111886 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written.
Change 3112025 on 2016/09/02 by Steve.Robb
Static analysis fix:
warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'.
warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'.
Change 3112051 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'.
Change 3112066 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
Change 3112093 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'.
Change 3112110 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'.
Change 3112123 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'CurDriver'.
warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
warning C6011: Dereferencing NULL pointer 'CurWorld'.
Change 3112157 on 2016/09/02 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'.
Change 3112283 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'.
Change 3113455 on 2016/09/05 by Chris.Wood
CRP performance improvements (v1.1.25)
Change 3113468 on 2016/09/05 by Steve.Robb
Reverting unnecessary merge in CL# 3112464.
Change 3113508 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'.
Change 3113588 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration
Change 3113863 on 2016/09/06 by Steve.Robb
Fix for this error:
Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'.
Change 3113864 on 2016/09/06 by Steve.Robb
Misc static analysis fixes for VS2015 Update 2.
Change 3113918 on 2016/09/06 by Ben.Marsh
Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception.
Change 3114293 on 2016/09/06 by Steve.Robb
Static analysis fixes for Visual Studio Update 2.
Change 3115732 on 2016/09/07 by Steve.Robb
Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
Change 3115754 on 2016/09/07 by Steve.Robb
GObjectArrayForDebugVisualizers init order fix.
Removal of obsolete FName visualizer helper code.
Change 3115774 on 2016/09/07 by Steve.Robb
Fix for ICE by moving static variables into their own file and removing const return types.
#jira UE-35597
Change 3116061 on 2016/09/07 by Steve.Robb
Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774.
Change 3117478 on 2016/09/08 by Steve.Robb
Static analysis fixes in third party code, using a new macro-based system.
Change 3119152 on 2016/09/09 by Steve.Robb
TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error.
Change 3119200 on 2016/09/09 by Steve.Robb
Fix for destructors not being called in TSparseArray move assignment.
Change 3119568 on 2016/09/09 by Steve.Robb
Fix for TSparseArray visualizer.
Change 3119591 on 2016/09/09 by Steve.Robb
New MakeShared function which allocates the object and reference controller in a single block.
Change 3120281 on 2016/09/09 by Steve.Robb
Fix for ICE on static analysis build.
#jira UE-35596
Change 3120786 on 2016/09/12 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'.
Change 3120787 on 2016/09/12 by Steve.Robb
Removal of TEnumAsByte on enum classes.
Change 3120789 on 2016/09/12 by Steve.Robb
Static analysis fixes:
warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read.
warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter.
Change 3121234 on 2016/09/12 by Steve.Robb
Unused ToBuildInfoString function declaration removed.
Change 3122616 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'.
Change 3123070 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did.
[CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
check ( ExpressionPreviewMaterial ) ;
2014-03-14 14:13:41 -04:00
// The preview material's expressions array must stay up to date before recompiling
// So that RebuildMaterialFunctionInfo will see all the nested material functions that may need to be updated
ExpressionPreviewMaterial - > Expressions = Material - > Expressions ;
2015-01-28 17:30:08 -05:00
FMaterialUpdateContext UpdateContext ( FMaterialUpdateContext : : EOptions : : SyncWithRenderingThread ) ;
2015-01-15 11:51:31 -05:00
UpdateContext . AddMaterial ( ExpressionPreviewMaterial ) ;
2014-03-14 14:13:41 -04:00
// If we are previewing an expression, update the expression preview material
ExpressionPreviewMaterial - > PreEditChange ( NULL ) ;
ExpressionPreviewMaterial - > PostEditChange ( ) ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
2014-03-14 14:13:41 -04:00
{
2015-01-28 17:30:08 -05:00
FMaterialUpdateContext UpdateContext ( FMaterialUpdateContext : : EOptions : : SyncWithRenderingThread ) ;
2015-01-15 11:51:31 -05:00
UpdateContext . AddMaterial ( Material ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
// Update the regular preview material even when previewing an expression to allow code view regeneration.
Material - > PreEditChange ( NULL ) ;
2014-03-14 14:13:41 -04:00
Material - > PostEditChange ( ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
if ( ! PreviewExpression )
{
2014-04-23 20:20:58 -04:00
UpdateStatsMaterials ( ) ;
2014-03-14 14:13:41 -04:00
// Null out the expression preview material so they can be GC'ed
ExpressionPreviewMaterial = NULL ;
}
2014-04-02 18:09:23 -04:00
2014-03-14 14:13:41 -04:00
// Reregister all components that use the preview material, since UMaterial::PEC does not reregister components using a bIsPreviewMaterial=true material
RefreshPreviewViewport ( ) ;
}
void FMaterialEditor : : RebuildMaterialInstanceEditors ( UMaterialInstance * MatInst )
{
FAssetEditorManager & AssetEditorManager = FAssetEditorManager : : Get ( ) ;
TArray < UObject * > EditedAssets = AssetEditorManager . GetAllEditedAssets ( ) ;
for ( int32 AssetIdx = 0 ; AssetIdx < EditedAssets . Num ( ) ; AssetIdx + + )
{
UObject * EditedAsset = EditedAssets [ AssetIdx ] ;
UMaterialInstance * SourceInstance = Cast < UMaterialInstance > ( EditedAsset ) ;
if ( ! SourceInstance )
{
// Check to see if the EditedAssets are from material instance editor
UMaterialEditorInstanceConstant * EditorInstance = Cast < UMaterialEditorInstanceConstant > ( EditedAsset ) ;
if ( EditorInstance & & EditorInstance - > SourceInstance )
{
SourceInstance = Cast < UMaterialInstance > ( EditorInstance - > SourceInstance ) ;
}
}
// Ensure the material instance is valid and not a UMaterialInstanceDynamic, as that doesn't use FMaterialInstanceEditor as its editor
if ( SourceInstance ! = NULL & & ! SourceInstance - > IsA ( UMaterialInstanceDynamic : : StaticClass ( ) ) )
{
UMaterial * MICOriginalMaterial = SourceInstance - > GetMaterial ( ) ;
if ( MICOriginalMaterial = = OriginalMaterial )
{
IAssetEditorInstance * EditorInstance = AssetEditorManager . FindEditorForAsset ( EditedAsset , false ) ;
if ( EditorInstance ! = NULL )
{
FMaterialInstanceEditor * OtherEditor = static_cast < FMaterialInstanceEditor * > ( EditorInstance ) ;
OtherEditor - > RebuildMaterialInstanceEditor ( ) ;
}
}
}
}
}
void FMaterialEditor : : UpdateOriginalMaterial ( )
{
// If the Material has compilation errors, warn the user
for ( int32 i = ERHIFeatureLevel : : SM5 ; i > = 0 ; - - i )
{
ERHIFeatureLevel : : Type FeatureLevel = ( ERHIFeatureLevel : : Type ) i ;
if ( Material - > GetMaterialResource ( FeatureLevel ) - > GetCompileErrors ( ) . Num ( ) > 0 )
{
FString FeatureLevelName ;
GetFeatureLevelName ( FeatureLevel , FeatureLevelName ) ;
FSuppressableWarningDialog : : FSetupInfo Info (
FText : : Format ( NSLOCTEXT ( " UnrealEd " , " Warning_CompileErrorsInMaterial " , " The current material has compilation errors, so it will not render correctly in feature level {0}. \n Are you sure you wish to continue? " ) , FText : : FromString ( * FeatureLevelName ) ) ,
NSLOCTEXT ( " UnrealEd " , " Warning_CompileErrorsInMaterial_Title " , " Warning: Compilation errors in this Material " ) , " Warning_CompileErrorsInMaterial " ) ;
Info . ConfirmText = NSLOCTEXT ( " ModalDialogs " , " CompileErrorsInMaterialConfirm " , " Continue " ) ;
Info . CancelText = NSLOCTEXT ( " ModalDialogs " , " CompileErrorsInMaterialCancel " , " Abort " ) ;
FSuppressableWarningDialog CompileErrorsWarning ( Info ) ;
if ( CompileErrorsWarning . ShowModal ( ) = = FSuppressableWarningDialog : : Cancel )
{
return ;
}
}
}
// Make sure any graph position changes that might not have been copied are taken into account
2014-04-23 18:21:07 -04:00
Material - > MaterialGraph - > LinkMaterialExpressionsFromGraph ( ) ;
2014-03-14 14:13:41 -04:00
//remove any memory copies of shader files, so they will be reloaded from disk
//this way the material editor can be used for quick shader iteration
FlushShaderFileCache ( ) ;
//recompile and refresh the preview material so it will be updated if there was a shader change
2014-07-03 09:13:33 -04:00
//Force it even if bLivePreview is false.
UpdatePreviewMaterial ( true ) ;
2014-07-08 10:58:56 -04:00
RegenerateCodeView ( true ) ;
2014-03-14 14:13:41 -04:00
const FScopedBusyCursor BusyCursor ;
const FText LocalizedMaterialEditorApply = NSLOCTEXT ( " UnrealEd " , " ToolTip_MaterialEditorApply " , " Apply changes to original material and its use in the world. " ) ;
GWarn - > BeginSlowTask ( LocalizedMaterialEditorApply , true ) ;
GWarn - > StatusUpdate ( 1 , 1 , LocalizedMaterialEditorApply ) ;
// Handle propagation of the material function being edited
if ( MaterialFunction )
{
// Copy the expressions back from the preview material
MaterialFunction - > FunctionExpressions = Material - > Expressions ;
MaterialFunction - > FunctionEditorComments = Material - > EditorComments ;
// Preserve the thumbnail info
UThumbnailInfo * OriginalThumbnailInfo = MaterialFunction - > ParentFunction - > ThumbnailInfo ;
UThumbnailInfo * ThumbnailInfo = MaterialFunction - > ThumbnailInfo ;
MaterialFunction - > ParentFunction - > ThumbnailInfo = NULL ;
MaterialFunction - > ThumbnailInfo = NULL ;
// overwrite the original material function in place by constructing a new one with the same name
MaterialFunction - > ParentFunction = ( UMaterialFunction * ) StaticDuplicateObject (
MaterialFunction ,
MaterialFunction - > ParentFunction - > GetOuter ( ) ,
Copying //UE4/Dev-Framework to //UE4/Main @ 2775446
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2720537 on 2015/10/07 by Aaron.McLeran
Audio Optimization: Implementing an audio update delta time so audio isn't updated with every engine tick
Change 2746582 on 2015/10/29 by Aaron.McLeran
Implementing single ray-cast sound occlusion
- Fixing/Implementing sound occlusion using one ray cast
- Update rate of the ray cast is conifgurable by the user
- User can enabled/disable occlusion and set various properties of the occlusion at the audio component level
- Occlusion ray-casts are made at a slower rate than the audio engine is updated
- The following properties are supported:
* LowPassFilterFrequency (the LPF cutoff frequency of the per-voice filter to apply if a sound is occluded)
* OcclusionVolumeAttenuation (the volume attenuation to apply to sounds that are occluded)
* OcclusionInterpolationTime (how fast a sound moves from occluded to unoccluded... allows user-defined interpolation times, avoids fast parameter setting for smoother transitions)
- Fixed how low-pass filter frequency is applied on platforms that support it.
* Changed the older HighFrequencyGain parameter to a more understandable and correct LowPassFilterFrequency parameter
* Updated the parameter for the various other features that use per-voice LPF (e.g. audio volumes, distance-based filtering)
* Added backward-compatibility code to take old HighFrequencyGain params to new LowPassFilterFrequency params.
* At the lowest level, there is only one filter which is applied to a sound, but the parameter that has the lowest cutoff frequency is the one used
* Fixed how the parameter is applied at the lower-level in XAudio2 and CoreAudio. The old parameter was incorrectly applied.
* XAudio2 documentation on the low-pass-fitler frequency cutoff param is confirmed incorrect through testing.
#rb zak.middleton
Change 2765174 on 2015/11/12 by Aaron.McLeran
UE-23091 More fixage for NaN audio log spam
Last checkin for this (CL 2760896) was fixing a legit issue but there was still an issue that I was rarely catching during the FN gate encounter in AITestbed after about 5 min of gate defense.
To track down, I added a lot more logging and asserts on NaN numbers in the audio code, enabled ENABLE_NAN_DIAGNOSTIC in UnrealMathUtility.h.
- Was able to trace another cause of the NaNs in audio to 2 uninitialized variables in SoundAttenuationSettings struct: OmniRadius and StereoSpread.
- Zak M suggested the change of the const ref position vector in ListenerPosition and the usage of GetSafeNormal() in Audio.cpp since the value returned by GetLocation() is a temporary and Normalize() is unsafe.
- I removed the flag for the XAudio2 call to compute doppler since we don't use that value and it could've been as source of more NaNs in X3DAudioCalculate
#codereview Zak.Middleton
#rb Zak.Middleton
Change 2765467 on 2015/11/13 by James.Golding
- Allow -ms option to work with 'stat dumphitches' for controlling min time logged
#rb gil.gribb
Change 2765746 on 2015/11/13 by Benn.Gallagher
Added buckets for update rate shift tags (for staggering anim updates)
#jira UE-23213
#rb Bruce.Nesbit
Change 2765747 on 2015/11/13 by Benn.Gallagher
Fixes for bone length calculation in anim dynamics chains.
#rb Bruce.Nesbit
Change 2765749 on 2015/11/13 by Benn.Gallagher
Removed allocations from local CS blends for skeletal controls.
#rb Bruce.Nesbit
Change 2765752 on 2015/11/13 by Benn.Gallagher
Lod mapping support for URO customization
#jira UE-23211
#rb Bruce.Nesbit
Change 2765965 on 2015/11/13 by Marc.Audy
Remove outdated code in LoadMap previously used for matching up downloaded packages from servers. These code paths no longer operate, but in the case where a PIE client was connecting to a non-PIE server (not really supported, but possible), it would cause the Editor Level package to be flagged as as PIE package and cause a crash on exit of PIE
#jira UE-21181
#rb Josh.Markiewicz
Change 2766071 on 2015/11/13 by Mieszko.Zielinski
Fixed dumb mistake in AEQSTestingPawn::PostLoad #UE4
the 'bTickDuringGame == bTickDuringGame' thing
#rb John.Abercrombie
Change 2766086 on 2015/11/13 by Mieszko.Zielinski
Exposing NavModifierComponent to ENGINE_API #UE4
#codereview Lukasz.Furman
Change 2766345 on 2015/11/13 by Mieszko.Zielinski
No longer compiling AISystem's creation out from client builds #UE4
Instead AISystem's instantiation on clients is configurable via UAISystemBase::bInstantiateAISystemOnClient config variable
Change 2766346 on 2015/11/13 by Mieszko.Zielinski
Improvements to EQS test scoring function preview #UE4
#rb Lukasz.Furman
Change 2766528 on 2015/11/13 by Stan.Melax
multiple materials/chunks on a single cloth sim mesh
This supposedly used to work in 4.7 but broke for 4.8
It looks like previous change 2493547 may have introduced the condition statement that makes multiple materials not include all of there verts.
Changing this to instead check for the bounds on the skinningmap instead of the NumRealSimVerts which doesn't look like it takes the offset into consideration.
jira:
#UE-23300
https://jira.ol.epicgames.net/browse/UE-23300
https://answers.unrealengine.com/questions/287833/apex-not-working-on-multiple-materials-since-48.html
Double tested code change with test asset from https://jira.ol.epicgames.net/browse/UE-10674
#rb Benn.Gallagher
Change 2766546 on 2015/11/13 by Marc.Audy
Throw warning for orphaned looping sounds caused by a looping sound node
Don't do somewhat expensive (due to weak pointer) orphaned sound checks in test or shipping
#rb Aaron.McLeran
Change 2766917 on 2015/11/14 by Jurre.deBaare
Fix UE4-23349 Simplygon doens't support sub 64 pixel textures
Change 2767742 on 2015/11/16 by Marc.Audy
Restructure SignificanceManager to store significance manager references in a FGCObject Module class instead of using a singleton.
Improve performance by eliminating StaticFindObjectFast calls in ::Get and force inlining Get calls
#rb Zak.Middleton, Rob.Manuszewski
Change 2767827 on 2015/11/16 by Zak.Middleton
#ue4 - Perf: avoid SmoothClientPosition() calls once the target mesh offset has been reached.
- New flag bNetworkSmoothingComplete indicates whether smoothing has reached the destination. This is set to false when a new network position is received.
- Also fixes trying to smooth rotation towards identity rotation before receiving network updates.
- Deprecated FNetworkPredictionData_Client_Character::CurrentSmoothTime in favor of saving last update time, to prevent needing to update time every tick (since we skip updates now).
#rb Dan.Youhon
Change 2768070 on 2015/11/16 by Marc.Audy
Change StaticDuplicateObject and DuplicateObject to take FName instead of char* (existing usages can automatically convert to FName so no backwards compatibility issues)
Fixup usages to avoid unnecessary string -> char* -> name conversions
Change AActor::CreateComponentFromTemplate to take an FName instead of FString, deprecated FString version
#rb Gil.Gribb
Change 2768121 on 2015/11/16 by Marc.Audy
Forceinline GetFName
Change 2768161 on 2015/11/16 by Aaron.McLeran
Checking occlusion back in
- Bug was due to improper interpolation of LPFFrequency values in audio volumes.
Change 2769428 on 2015/11/17 by Thomas.Sarkanen
Fixed backwards-compatibility issues with FExposedValueCopyRecord
Added PostSerialize function to patch up older data to the new format (copies properties->property FNames).
Made sure to zero FExposedValueCopyRecord in its constructor, prevents uninitialized variable issues when generating CRCs. This is necessary despite these members being UPROPERTYs because they are simply built on the stack then stuffed into the new CDO during compilation.
UE-23268 - EDITOR CRASH: Assertion failed: ((UObject*)ContainerPtr)->IsA((UClass*)GetOuter())
#rb James.Golding
#codereview Mike.Beach,Bob.Tellez
Change 2769488 on 2015/11/17 by Benn.Gallagher
DrawCanvas and debug string support for skeletal controls - accessed using "Skeletal Controls" option in Show->Display Info in Persona
#rb Martin.Wilson
Change 2769545 on 2015/11/17 by Benn.Gallagher
Added space conversion options to copy bone node.
#jira OR-9430
#rb Martin.Wilson
Change 2770228 on 2015/11/17 by Marc.Audy
Fix cause of assert firing when detaching if AttachTo(AttachParent) returns false
#rb Ori.Cohen
#jira UE-23366
Change 2770489 on 2015/11/17 by Marc.Audy
Make ::Serialize WITH_EDITORONLY_DATA since it did nothing otherwise
Change 2770761 on 2015/11/17 by Aaron.McLeran
Removing optimization disablement
- Forgot to remove these lines before checking in/testing.
Change 2771375 on 2015/11/18 by Thomas.Sarkanen
Added initialzation of internal state machine desc ptrs to (finally) remove random crashes when using sub-state machines
#rb Benn.Gallagher
Change 2771697 on 2015/11/18 by Jeff.Farris
Sensible defaults for APlayerController::ClientPlayCameraAnim and ClientPlayCameraShake
#rb marc.audy
Change 2771755 on 2015/11/18 by Marc.Audy
Put back in the recursion block for destroy actor
#rb James.Golding
Change 2772217 on 2015/11/18 by Marc.Audy
Update axis inversion to work the same way as sensitivity instead of old problematic way
Also change to use Reset instead of Empty(Array.Num())
#rb Jeff.Farris
Change 2772686 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization coordinate bug.
Don't need to convert to xaudio2 coordinates for HRTF spatialization
#rb chad.taylor
Change 2772766 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization with xaudio2 voice pools
- Issue was caused by 2 issues:
- effect chains weren't properly clearing their state between uses (SetEffectChain(nullptr) releases the effect for use with other voices)
- Not re-setting MaxEffectChainChannels = 0 in CreateSource() was causing re-used SoundSources to release their XAudio2 voices to the wrong pool.
#rb chad.taylor
Change 2773027 on 2015/11/19 by Thomas.Sarkanen
PR #1765: Git Plugin can find the git.exe binary installed on the Local AppData user directory (Contributed by SRombauts)
#rb Thomas.Sarkanen
Change 2773142 on 2015/11/19 by Benn.Gallagher
Optimized SafeSetCSBoneTransforms, no longer doing 2 iterations over the whole pose.
- Only iterating beyond the index of the first bone transform, cutting off all bones before
- No longer using a bone mask the size of the skeleton, just an array of interesting nodes
- No longer attempting to convert a transform if it isn't necessary (which was happening a lot)
#rb Laurent.Delayen
Change 2773212 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Removing ugly comment. Not going to remove the node itself for backward compatibility.
Change 2773351 on 2015/11/19 by Zak.Middleton
#orion - Make sure we don't skip a final visual update when character mesh interpolation tries to stop smoothing once it reaches its destination. We keep setting bNetworkSmoothingComplete to false until the first visual update, at which point if it remains true we will stop getting updates.
#rb Dan.Youhon
Change 2773599 on 2015/11/19 by Marc.Audy
Fix shadow variable, initialization order, and incorrect placement of ENGINE_API that fails compiles on clang
#codereview Aaron.McLeran
Change 2773661 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Following up by deprecating the CastToPlayerController function for 4.11.
Change 2774707 on 2015/11/19 by Stan.Melax
FCollisionQueryParams constructor API pitfall
Deprecating something that will call the unintended constructor if the programmer provides a string literal instead of explicitly creating an FName.
So this line of code:
FCollisionQueryParams Param(FName(TEXT("DragDropTrace")));
will invoke:
FCollisionQueryParams::FCollisionQueryParams(FName,bool=false,...)
But this line of code:
FCollisionQueryParams Param(TEXT("DragDropTrace"));
invokes:
FCollisionQueryParams::FCollisionQueryParams(bool)
Yes that actually happens, the string literal (the TEXT("whatever")) ends up specifies a bool parameter instead of a FName parameter. So the name is lost and a flag (that is usually set to false) is now set to true (since the string literal address is non-NULL). Yeah, that's could potentially be not what the programmer had intended.
It looks like this interface was introduced in CL 1792949
back in august 2013. Since its been a couple of years, we'll phase it out using the deprecation approach.
Making an API change would break things for existing projects.
If it had been a more recent change we could have probably just gone down to a single constructor right away.
Figured out that going one step further and removing bool param's default and adding a default constructor would minimize the number of places that will be hit with this deprecation. So, yes this is *increasing* the number of construtors temporarily, but this solution has minimal impact on the community. Later after other to-be-deprecated constructor gets removed, the two remaining can be combined into one with defaults for all parameters.
see also
https://udn.unrealengine.com/questions/269512/dangerous-fcollisionqueryparams-overloads.html
#codereview ori.cohen
[CL 2775460 by Marc Audy in Main branch]
2015-11-20 11:02:37 -05:00
MaterialFunction - > ParentFunction - > GetFName ( ) ,
2014-03-14 14:13:41 -04:00
RF_AllFlags ,
MaterialFunction - > ParentFunction - > GetClass ( ) ) ;
// Restore the thumbnail info
MaterialFunction - > ParentFunction - > ThumbnailInfo = OriginalThumbnailInfo ;
MaterialFunction - > ThumbnailInfo = ThumbnailInfo ;
// Restore RF_Standalone on the original material function, as it had been removed from the preview material so that it could be GC'd.
MaterialFunction - > ParentFunction - > SetFlags ( RF_Standalone ) ;
for ( int32 ExpressionIndex = 0 ; ExpressionIndex < MaterialFunction - > ParentFunction - > FunctionExpressions . Num ( ) ; ExpressionIndex + + )
{
UMaterialExpression * CurrentExpression = MaterialFunction - > ParentFunction - > FunctionExpressions [ ExpressionIndex ] ;
Copying //UE4/Orion-Staging to //UE4/Main (originated from //Orion/Dev-General @ 2831630)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2831624 on 2016/01/17 by Marcus.Wassmer
Merge disable of FCachedReadPlatformData on PS4. Reduces memory spikes. 2830986
#rb none
#test none
#codereview Michael.Noland,James.Golding
Change 2831402 on 2016/01/17 by Marcus.Wassmer
HLOD priority and streamout changes.
Give texture pool an extra 200MB which we can afford thanks to James/Michael
#rb Chris.Gagnon
#test run agora, notice nice textures.
#lockdown Andrew.Grant
Change 2831398 on 2016/01/17 by Marcus.Wassmer
Fix 3 logic bugs with Relocate
#rb chris.gagnon
#test run game, look for corruption.
#lockdown Andrew.Grant
Change 2831372 on 2016/01/16 by Marcus.Wassmer
Update param.sfo's and lockdown version in prep for good PS4 playtest build.
#rb none
#test build from last night...
#lockdown Andrew.Grant
Change 2831274 on 2016/01/16 by Graeme.Thornton
Disable platform file cache wrapper on PS4
#codereview James.Golding
#rb none
#tests ran cooked ps4 build, timed loading (no real change), measured memory used for file handles (small)
Change 2831237 on 2016/01/16 by Sammy.James
Fix PS4 compile error
#codereview Andrew.Grant
#rb none
#tests none
Change 2831219 on 2016/01/16 by Matt.Kuhlenschmidt
Fix possible invalid access to shared movie player resource across threads causing startup crash.
#codereview marcus.wassmer
#rb none, #tests initial load
Change 2831218 on 2016/01/16 by Marcus.Wassmer
Fix bad warning case.
#codereview Martin.Mittring
#rb none
#test none
Change 2831201 on 2016/01/16 by Andrew.Grant
Added extra info about referencer to missing asset reference message
#rb none
#tests cooked, ran editor
Change 2831183 on 2016/01/16 by David.Nikdel
#OSS #PS4 #Purchasing #StoreV2
- Force failure if we have no receipts after a "successful" checkout.
- Report consumed entitlements as well as unconsumed but leave ValidationInfo empty so we can tell the difference at the application level
- Convert productIds to skuIds at checkout time
- Added PS4 Implementation of IOnlineStoreV2
- Bugfix: set bSuccessfullyStartedUp=false when InitNPGameSettings() fails
- Adjusted FOnlineStoreOffer to use FText::AsCurrencyBase
#RB: Paul.Moore
#TESTS: login, purchase redemption, store MTX purchasing on PS4 & PC
Change 2831129 on 2016/01/16 by David.Nikdel
#MCP
- Added a ctor to make converting from FOnlineError to FMcpQueryResult easier (for stuff that was already using FMcpQueryResult).
#RB: none
#TESTS: frontend
Change 2830986 on 2016/01/15 by Michael.Noland
PS4: Disabling FCachedReadPlatformFile on PS4 to significantly reduce high watermark memory consumption during blocking loads
#rb marcus.wassmer
#tests Ran Paragon PS4 down a bad path that currently does a blocking map and hero load
#lockdown andrew.grant
Change 2830943 on 2016/01/15 by Max.Chen
Sequencer: Fix bug introduced with preroll. It was also causing a crash in particle track instance.
#tests Master sequence trailer plays without crashing
#rb none
Change 2830912 on 2016/01/15 by Michael.Noland
Rendering: Exposed GRHIDeviceId (only filled in on D3D11 and D3D12 RHI's under the same circumstances as GRHIAdapterName, etc..., 0 otherwise)
#rb mieszko.zielinski
#tests Tested printing the value out
#codereview martin.mittring
Change 2830910 on 2016/01/15 by Michael.Noland
Rendering: Improved GPU driver detection logic to handle more cases
#codereview martin.mittring
#rb mieszko.zielinski
#tests Tested on my machine which was previous reporting Unknown for the values as some entries contained the key in the Settings subfolder
Change 2830776 on 2016/01/15 by Martin.Mittring
from Dev-Rendering
added ensure to track down multiple issues like
OR-11771 CRASH: User Crashed when pressing the Play button
OR-12430 CRASH: OT2 user crashed with FRHIResource::AddRef()
#rb:Gil.Gribb
#code_review:Gil.Gribb,Mark.Satterthwaite,Marcus.Wassmer
2016-01-20 11:32:08 -05:00
ensureMsgf ( CurrentExpression , TEXT ( " Invalid expression at index [%i] whilst saving material function. " ) , ExpressionIndex ) ;
2014-03-14 14:13:41 -04:00
// Link the expressions back to their function
Copying //UE4/Orion-Staging to //UE4/Main (originated from //Orion/Dev-General @ 2831630)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2831624 on 2016/01/17 by Marcus.Wassmer
Merge disable of FCachedReadPlatformData on PS4. Reduces memory spikes. 2830986
#rb none
#test none
#codereview Michael.Noland,James.Golding
Change 2831402 on 2016/01/17 by Marcus.Wassmer
HLOD priority and streamout changes.
Give texture pool an extra 200MB which we can afford thanks to James/Michael
#rb Chris.Gagnon
#test run agora, notice nice textures.
#lockdown Andrew.Grant
Change 2831398 on 2016/01/17 by Marcus.Wassmer
Fix 3 logic bugs with Relocate
#rb chris.gagnon
#test run game, look for corruption.
#lockdown Andrew.Grant
Change 2831372 on 2016/01/16 by Marcus.Wassmer
Update param.sfo's and lockdown version in prep for good PS4 playtest build.
#rb none
#test build from last night...
#lockdown Andrew.Grant
Change 2831274 on 2016/01/16 by Graeme.Thornton
Disable platform file cache wrapper on PS4
#codereview James.Golding
#rb none
#tests ran cooked ps4 build, timed loading (no real change), measured memory used for file handles (small)
Change 2831237 on 2016/01/16 by Sammy.James
Fix PS4 compile error
#codereview Andrew.Grant
#rb none
#tests none
Change 2831219 on 2016/01/16 by Matt.Kuhlenschmidt
Fix possible invalid access to shared movie player resource across threads causing startup crash.
#codereview marcus.wassmer
#rb none, #tests initial load
Change 2831218 on 2016/01/16 by Marcus.Wassmer
Fix bad warning case.
#codereview Martin.Mittring
#rb none
#test none
Change 2831201 on 2016/01/16 by Andrew.Grant
Added extra info about referencer to missing asset reference message
#rb none
#tests cooked, ran editor
Change 2831183 on 2016/01/16 by David.Nikdel
#OSS #PS4 #Purchasing #StoreV2
- Force failure if we have no receipts after a "successful" checkout.
- Report consumed entitlements as well as unconsumed but leave ValidationInfo empty so we can tell the difference at the application level
- Convert productIds to skuIds at checkout time
- Added PS4 Implementation of IOnlineStoreV2
- Bugfix: set bSuccessfullyStartedUp=false when InitNPGameSettings() fails
- Adjusted FOnlineStoreOffer to use FText::AsCurrencyBase
#RB: Paul.Moore
#TESTS: login, purchase redemption, store MTX purchasing on PS4 & PC
Change 2831129 on 2016/01/16 by David.Nikdel
#MCP
- Added a ctor to make converting from FOnlineError to FMcpQueryResult easier (for stuff that was already using FMcpQueryResult).
#RB: none
#TESTS: frontend
Change 2830986 on 2016/01/15 by Michael.Noland
PS4: Disabling FCachedReadPlatformFile on PS4 to significantly reduce high watermark memory consumption during blocking loads
#rb marcus.wassmer
#tests Ran Paragon PS4 down a bad path that currently does a blocking map and hero load
#lockdown andrew.grant
Change 2830943 on 2016/01/15 by Max.Chen
Sequencer: Fix bug introduced with preroll. It was also causing a crash in particle track instance.
#tests Master sequence trailer plays without crashing
#rb none
Change 2830912 on 2016/01/15 by Michael.Noland
Rendering: Exposed GRHIDeviceId (only filled in on D3D11 and D3D12 RHI's under the same circumstances as GRHIAdapterName, etc..., 0 otherwise)
#rb mieszko.zielinski
#tests Tested printing the value out
#codereview martin.mittring
Change 2830910 on 2016/01/15 by Michael.Noland
Rendering: Improved GPU driver detection logic to handle more cases
#codereview martin.mittring
#rb mieszko.zielinski
#tests Tested on my machine which was previous reporting Unknown for the values as some entries contained the key in the Settings subfolder
Change 2830776 on 2016/01/15 by Martin.Mittring
from Dev-Rendering
added ensure to track down multiple issues like
OR-11771 CRASH: User Crashed when pressing the Play button
OR-12430 CRASH: OT2 user crashed with FRHIResource::AddRef()
#rb:Gil.Gribb
#code_review:Gil.Gribb,Mark.Satterthwaite,Marcus.Wassmer
2016-01-20 11:32:08 -05:00
if ( CurrentExpression )
{
CurrentExpression - > Material = NULL ;
CurrentExpression - > Function = MaterialFunction - > ParentFunction ;
}
2014-03-14 14:13:41 -04:00
}
for ( int32 ExpressionIndex = 0 ; ExpressionIndex < MaterialFunction - > ParentFunction - > FunctionEditorComments . Num ( ) ; ExpressionIndex + + )
{
UMaterialExpressionComment * CurrentExpression = MaterialFunction - > ParentFunction - > FunctionEditorComments [ ExpressionIndex ] ;
Copying //UE4/Orion-Staging to //UE4/Main (originated from //Orion/Dev-General @ 2831630)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2831624 on 2016/01/17 by Marcus.Wassmer
Merge disable of FCachedReadPlatformData on PS4. Reduces memory spikes. 2830986
#rb none
#test none
#codereview Michael.Noland,James.Golding
Change 2831402 on 2016/01/17 by Marcus.Wassmer
HLOD priority and streamout changes.
Give texture pool an extra 200MB which we can afford thanks to James/Michael
#rb Chris.Gagnon
#test run agora, notice nice textures.
#lockdown Andrew.Grant
Change 2831398 on 2016/01/17 by Marcus.Wassmer
Fix 3 logic bugs with Relocate
#rb chris.gagnon
#test run game, look for corruption.
#lockdown Andrew.Grant
Change 2831372 on 2016/01/16 by Marcus.Wassmer
Update param.sfo's and lockdown version in prep for good PS4 playtest build.
#rb none
#test build from last night...
#lockdown Andrew.Grant
Change 2831274 on 2016/01/16 by Graeme.Thornton
Disable platform file cache wrapper on PS4
#codereview James.Golding
#rb none
#tests ran cooked ps4 build, timed loading (no real change), measured memory used for file handles (small)
Change 2831237 on 2016/01/16 by Sammy.James
Fix PS4 compile error
#codereview Andrew.Grant
#rb none
#tests none
Change 2831219 on 2016/01/16 by Matt.Kuhlenschmidt
Fix possible invalid access to shared movie player resource across threads causing startup crash.
#codereview marcus.wassmer
#rb none, #tests initial load
Change 2831218 on 2016/01/16 by Marcus.Wassmer
Fix bad warning case.
#codereview Martin.Mittring
#rb none
#test none
Change 2831201 on 2016/01/16 by Andrew.Grant
Added extra info about referencer to missing asset reference message
#rb none
#tests cooked, ran editor
Change 2831183 on 2016/01/16 by David.Nikdel
#OSS #PS4 #Purchasing #StoreV2
- Force failure if we have no receipts after a "successful" checkout.
- Report consumed entitlements as well as unconsumed but leave ValidationInfo empty so we can tell the difference at the application level
- Convert productIds to skuIds at checkout time
- Added PS4 Implementation of IOnlineStoreV2
- Bugfix: set bSuccessfullyStartedUp=false when InitNPGameSettings() fails
- Adjusted FOnlineStoreOffer to use FText::AsCurrencyBase
#RB: Paul.Moore
#TESTS: login, purchase redemption, store MTX purchasing on PS4 & PC
Change 2831129 on 2016/01/16 by David.Nikdel
#MCP
- Added a ctor to make converting from FOnlineError to FMcpQueryResult easier (for stuff that was already using FMcpQueryResult).
#RB: none
#TESTS: frontend
Change 2830986 on 2016/01/15 by Michael.Noland
PS4: Disabling FCachedReadPlatformFile on PS4 to significantly reduce high watermark memory consumption during blocking loads
#rb marcus.wassmer
#tests Ran Paragon PS4 down a bad path that currently does a blocking map and hero load
#lockdown andrew.grant
Change 2830943 on 2016/01/15 by Max.Chen
Sequencer: Fix bug introduced with preroll. It was also causing a crash in particle track instance.
#tests Master sequence trailer plays without crashing
#rb none
Change 2830912 on 2016/01/15 by Michael.Noland
Rendering: Exposed GRHIDeviceId (only filled in on D3D11 and D3D12 RHI's under the same circumstances as GRHIAdapterName, etc..., 0 otherwise)
#rb mieszko.zielinski
#tests Tested printing the value out
#codereview martin.mittring
Change 2830910 on 2016/01/15 by Michael.Noland
Rendering: Improved GPU driver detection logic to handle more cases
#codereview martin.mittring
#rb mieszko.zielinski
#tests Tested on my machine which was previous reporting Unknown for the values as some entries contained the key in the Settings subfolder
Change 2830776 on 2016/01/15 by Martin.Mittring
from Dev-Rendering
added ensure to track down multiple issues like
OR-11771 CRASH: User Crashed when pressing the Play button
OR-12430 CRASH: OT2 user crashed with FRHIResource::AddRef()
#rb:Gil.Gribb
#code_review:Gil.Gribb,Mark.Satterthwaite,Marcus.Wassmer
2016-01-20 11:32:08 -05:00
ensureMsgf ( CurrentExpression , TEXT ( " Invalid comment at index [%i] whilst saving material function. " ) , ExpressionIndex ) ;
2014-03-14 14:13:41 -04:00
// Link the expressions back to their function
Copying //UE4/Orion-Staging to //UE4/Main (originated from //Orion/Dev-General @ 2831630)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2831624 on 2016/01/17 by Marcus.Wassmer
Merge disable of FCachedReadPlatformData on PS4. Reduces memory spikes. 2830986
#rb none
#test none
#codereview Michael.Noland,James.Golding
Change 2831402 on 2016/01/17 by Marcus.Wassmer
HLOD priority and streamout changes.
Give texture pool an extra 200MB which we can afford thanks to James/Michael
#rb Chris.Gagnon
#test run agora, notice nice textures.
#lockdown Andrew.Grant
Change 2831398 on 2016/01/17 by Marcus.Wassmer
Fix 3 logic bugs with Relocate
#rb chris.gagnon
#test run game, look for corruption.
#lockdown Andrew.Grant
Change 2831372 on 2016/01/16 by Marcus.Wassmer
Update param.sfo's and lockdown version in prep for good PS4 playtest build.
#rb none
#test build from last night...
#lockdown Andrew.Grant
Change 2831274 on 2016/01/16 by Graeme.Thornton
Disable platform file cache wrapper on PS4
#codereview James.Golding
#rb none
#tests ran cooked ps4 build, timed loading (no real change), measured memory used for file handles (small)
Change 2831237 on 2016/01/16 by Sammy.James
Fix PS4 compile error
#codereview Andrew.Grant
#rb none
#tests none
Change 2831219 on 2016/01/16 by Matt.Kuhlenschmidt
Fix possible invalid access to shared movie player resource across threads causing startup crash.
#codereview marcus.wassmer
#rb none, #tests initial load
Change 2831218 on 2016/01/16 by Marcus.Wassmer
Fix bad warning case.
#codereview Martin.Mittring
#rb none
#test none
Change 2831201 on 2016/01/16 by Andrew.Grant
Added extra info about referencer to missing asset reference message
#rb none
#tests cooked, ran editor
Change 2831183 on 2016/01/16 by David.Nikdel
#OSS #PS4 #Purchasing #StoreV2
- Force failure if we have no receipts after a "successful" checkout.
- Report consumed entitlements as well as unconsumed but leave ValidationInfo empty so we can tell the difference at the application level
- Convert productIds to skuIds at checkout time
- Added PS4 Implementation of IOnlineStoreV2
- Bugfix: set bSuccessfullyStartedUp=false when InitNPGameSettings() fails
- Adjusted FOnlineStoreOffer to use FText::AsCurrencyBase
#RB: Paul.Moore
#TESTS: login, purchase redemption, store MTX purchasing on PS4 & PC
Change 2831129 on 2016/01/16 by David.Nikdel
#MCP
- Added a ctor to make converting from FOnlineError to FMcpQueryResult easier (for stuff that was already using FMcpQueryResult).
#RB: none
#TESTS: frontend
Change 2830986 on 2016/01/15 by Michael.Noland
PS4: Disabling FCachedReadPlatformFile on PS4 to significantly reduce high watermark memory consumption during blocking loads
#rb marcus.wassmer
#tests Ran Paragon PS4 down a bad path that currently does a blocking map and hero load
#lockdown andrew.grant
Change 2830943 on 2016/01/15 by Max.Chen
Sequencer: Fix bug introduced with preroll. It was also causing a crash in particle track instance.
#tests Master sequence trailer plays without crashing
#rb none
Change 2830912 on 2016/01/15 by Michael.Noland
Rendering: Exposed GRHIDeviceId (only filled in on D3D11 and D3D12 RHI's under the same circumstances as GRHIAdapterName, etc..., 0 otherwise)
#rb mieszko.zielinski
#tests Tested printing the value out
#codereview martin.mittring
Change 2830910 on 2016/01/15 by Michael.Noland
Rendering: Improved GPU driver detection logic to handle more cases
#codereview martin.mittring
#rb mieszko.zielinski
#tests Tested on my machine which was previous reporting Unknown for the values as some entries contained the key in the Settings subfolder
Change 2830776 on 2016/01/15 by Martin.Mittring
from Dev-Rendering
added ensure to track down multiple issues like
OR-11771 CRASH: User Crashed when pressing the Play button
OR-12430 CRASH: OT2 user crashed with FRHIResource::AddRef()
#rb:Gil.Gribb
#code_review:Gil.Gribb,Mark.Satterthwaite,Marcus.Wassmer
2016-01-20 11:32:08 -05:00
if ( CurrentExpression )
{
CurrentExpression - > Material = NULL ;
CurrentExpression - > Function = MaterialFunction - > ParentFunction ;
}
2014-03-14 14:13:41 -04:00
}
// mark the parent function as changed
MaterialFunction - > ParentFunction - > PreEditChange ( NULL ) ;
MaterialFunction - > ParentFunction - > PostEditChange ( ) ;
MaterialFunction - > ParentFunction - > MarkPackageDirty ( ) ;
// clear the dirty flag
bMaterialDirty = false ;
bStatsFromPreviewMaterial = false ;
// Create a material update context so we can safely update materials using this function.
{
FMaterialUpdateContext UpdateContext ;
// Go through all materials in memory and recompile them if they use this material function
for ( TObjectIterator < UMaterial > It ; It ; + + It )
{
UMaterial * CurrentMaterial = * It ;
if ( CurrentMaterial ! = Material )
{
bool bRecompile = false ;
// Preview materials often use expressions for rendering that are not in their Expressions array,
// And therefore their MaterialFunctionInfos are not up to date.
// However we don't want to trigger this if the Material is a preview material itself. This can now be the case with thumbnail preview materials for material functions.
if ( CurrentMaterial - > bIsPreviewMaterial & & ! Material - > bIsPreviewMaterial )
{
bRecompile = true ;
}
else
{
for ( int32 FunctionIndex = 0 ; FunctionIndex < CurrentMaterial - > MaterialFunctionInfos . Num ( ) ; FunctionIndex + + )
{
if ( CurrentMaterial - > MaterialFunctionInfos [ FunctionIndex ] . Function = = MaterialFunction - > ParentFunction )
{
bRecompile = true ;
break ;
}
}
}
if ( bRecompile )
{
UpdateContext . AddMaterial ( CurrentMaterial ) ;
// Propagate the function change to this material
CurrentMaterial - > PreEditChange ( NULL ) ;
CurrentMaterial - > PostEditChange ( ) ;
CurrentMaterial - > MarkPackageDirty ( ) ;
if ( CurrentMaterial - > MaterialGraph )
{
CurrentMaterial - > MaterialGraph - > RebuildGraph ( ) ;
}
}
}
}
}
// update the world's viewports
FEditorDelegates : : RefreshEditor . Broadcast ( ) ;
FEditorSupportDelegates : : RedrawAllViewports . Broadcast ( ) ;
}
// Handle propagation of the material being edited
else
{
2014-08-22 06:53:27 -04:00
FNavigationLockContext NavUpdateLock ( ENavigationLockReason : : MaterialUpdate ) ;
2014-03-14 14:13:41 -04:00
// Create a material update context so we can safely update materials.
{
FMaterialUpdateContext UpdateContext ;
UpdateContext . AddMaterial ( OriginalMaterial ) ;
// ensure the original copy of the material is removed from the editor's selection set
// or it will end up containing a stale, invalid entry
if ( OriginalMaterial - > IsSelected ( ) )
{
GEditor - > GetSelectedObjects ( ) - > Deselect ( OriginalMaterial ) ;
}
// Preserve the thumbnail info
UThumbnailInfo * OriginalThumbnailInfo = OriginalMaterial - > ThumbnailInfo ;
UThumbnailInfo * ThumbnailInfo = Material - > ThumbnailInfo ;
OriginalMaterial - > ThumbnailInfo = NULL ;
Material - > ThumbnailInfo = NULL ;
// A bit hacky, but disable material compilation in post load when we duplicate the material.
UMaterial : : ForceNoCompilationInPostLoad ( true ) ;
// overwrite the original material in place by constructing a new one with the same name
Copying //UE4/Dev-Framework to //UE4/Main @ 2775446
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2720537 on 2015/10/07 by Aaron.McLeran
Audio Optimization: Implementing an audio update delta time so audio isn't updated with every engine tick
Change 2746582 on 2015/10/29 by Aaron.McLeran
Implementing single ray-cast sound occlusion
- Fixing/Implementing sound occlusion using one ray cast
- Update rate of the ray cast is conifgurable by the user
- User can enabled/disable occlusion and set various properties of the occlusion at the audio component level
- Occlusion ray-casts are made at a slower rate than the audio engine is updated
- The following properties are supported:
* LowPassFilterFrequency (the LPF cutoff frequency of the per-voice filter to apply if a sound is occluded)
* OcclusionVolumeAttenuation (the volume attenuation to apply to sounds that are occluded)
* OcclusionInterpolationTime (how fast a sound moves from occluded to unoccluded... allows user-defined interpolation times, avoids fast parameter setting for smoother transitions)
- Fixed how low-pass filter frequency is applied on platforms that support it.
* Changed the older HighFrequencyGain parameter to a more understandable and correct LowPassFilterFrequency parameter
* Updated the parameter for the various other features that use per-voice LPF (e.g. audio volumes, distance-based filtering)
* Added backward-compatibility code to take old HighFrequencyGain params to new LowPassFilterFrequency params.
* At the lowest level, there is only one filter which is applied to a sound, but the parameter that has the lowest cutoff frequency is the one used
* Fixed how the parameter is applied at the lower-level in XAudio2 and CoreAudio. The old parameter was incorrectly applied.
* XAudio2 documentation on the low-pass-fitler frequency cutoff param is confirmed incorrect through testing.
#rb zak.middleton
Change 2765174 on 2015/11/12 by Aaron.McLeran
UE-23091 More fixage for NaN audio log spam
Last checkin for this (CL 2760896) was fixing a legit issue but there was still an issue that I was rarely catching during the FN gate encounter in AITestbed after about 5 min of gate defense.
To track down, I added a lot more logging and asserts on NaN numbers in the audio code, enabled ENABLE_NAN_DIAGNOSTIC in UnrealMathUtility.h.
- Was able to trace another cause of the NaNs in audio to 2 uninitialized variables in SoundAttenuationSettings struct: OmniRadius and StereoSpread.
- Zak M suggested the change of the const ref position vector in ListenerPosition and the usage of GetSafeNormal() in Audio.cpp since the value returned by GetLocation() is a temporary and Normalize() is unsafe.
- I removed the flag for the XAudio2 call to compute doppler since we don't use that value and it could've been as source of more NaNs in X3DAudioCalculate
#codereview Zak.Middleton
#rb Zak.Middleton
Change 2765467 on 2015/11/13 by James.Golding
- Allow -ms option to work with 'stat dumphitches' for controlling min time logged
#rb gil.gribb
Change 2765746 on 2015/11/13 by Benn.Gallagher
Added buckets for update rate shift tags (for staggering anim updates)
#jira UE-23213
#rb Bruce.Nesbit
Change 2765747 on 2015/11/13 by Benn.Gallagher
Fixes for bone length calculation in anim dynamics chains.
#rb Bruce.Nesbit
Change 2765749 on 2015/11/13 by Benn.Gallagher
Removed allocations from local CS blends for skeletal controls.
#rb Bruce.Nesbit
Change 2765752 on 2015/11/13 by Benn.Gallagher
Lod mapping support for URO customization
#jira UE-23211
#rb Bruce.Nesbit
Change 2765965 on 2015/11/13 by Marc.Audy
Remove outdated code in LoadMap previously used for matching up downloaded packages from servers. These code paths no longer operate, but in the case where a PIE client was connecting to a non-PIE server (not really supported, but possible), it would cause the Editor Level package to be flagged as as PIE package and cause a crash on exit of PIE
#jira UE-21181
#rb Josh.Markiewicz
Change 2766071 on 2015/11/13 by Mieszko.Zielinski
Fixed dumb mistake in AEQSTestingPawn::PostLoad #UE4
the 'bTickDuringGame == bTickDuringGame' thing
#rb John.Abercrombie
Change 2766086 on 2015/11/13 by Mieszko.Zielinski
Exposing NavModifierComponent to ENGINE_API #UE4
#codereview Lukasz.Furman
Change 2766345 on 2015/11/13 by Mieszko.Zielinski
No longer compiling AISystem's creation out from client builds #UE4
Instead AISystem's instantiation on clients is configurable via UAISystemBase::bInstantiateAISystemOnClient config variable
Change 2766346 on 2015/11/13 by Mieszko.Zielinski
Improvements to EQS test scoring function preview #UE4
#rb Lukasz.Furman
Change 2766528 on 2015/11/13 by Stan.Melax
multiple materials/chunks on a single cloth sim mesh
This supposedly used to work in 4.7 but broke for 4.8
It looks like previous change 2493547 may have introduced the condition statement that makes multiple materials not include all of there verts.
Changing this to instead check for the bounds on the skinningmap instead of the NumRealSimVerts which doesn't look like it takes the offset into consideration.
jira:
#UE-23300
https://jira.ol.epicgames.net/browse/UE-23300
https://answers.unrealengine.com/questions/287833/apex-not-working-on-multiple-materials-since-48.html
Double tested code change with test asset from https://jira.ol.epicgames.net/browse/UE-10674
#rb Benn.Gallagher
Change 2766546 on 2015/11/13 by Marc.Audy
Throw warning for orphaned looping sounds caused by a looping sound node
Don't do somewhat expensive (due to weak pointer) orphaned sound checks in test or shipping
#rb Aaron.McLeran
Change 2766917 on 2015/11/14 by Jurre.deBaare
Fix UE4-23349 Simplygon doens't support sub 64 pixel textures
Change 2767742 on 2015/11/16 by Marc.Audy
Restructure SignificanceManager to store significance manager references in a FGCObject Module class instead of using a singleton.
Improve performance by eliminating StaticFindObjectFast calls in ::Get and force inlining Get calls
#rb Zak.Middleton, Rob.Manuszewski
Change 2767827 on 2015/11/16 by Zak.Middleton
#ue4 - Perf: avoid SmoothClientPosition() calls once the target mesh offset has been reached.
- New flag bNetworkSmoothingComplete indicates whether smoothing has reached the destination. This is set to false when a new network position is received.
- Also fixes trying to smooth rotation towards identity rotation before receiving network updates.
- Deprecated FNetworkPredictionData_Client_Character::CurrentSmoothTime in favor of saving last update time, to prevent needing to update time every tick (since we skip updates now).
#rb Dan.Youhon
Change 2768070 on 2015/11/16 by Marc.Audy
Change StaticDuplicateObject and DuplicateObject to take FName instead of char* (existing usages can automatically convert to FName so no backwards compatibility issues)
Fixup usages to avoid unnecessary string -> char* -> name conversions
Change AActor::CreateComponentFromTemplate to take an FName instead of FString, deprecated FString version
#rb Gil.Gribb
Change 2768121 on 2015/11/16 by Marc.Audy
Forceinline GetFName
Change 2768161 on 2015/11/16 by Aaron.McLeran
Checking occlusion back in
- Bug was due to improper interpolation of LPFFrequency values in audio volumes.
Change 2769428 on 2015/11/17 by Thomas.Sarkanen
Fixed backwards-compatibility issues with FExposedValueCopyRecord
Added PostSerialize function to patch up older data to the new format (copies properties->property FNames).
Made sure to zero FExposedValueCopyRecord in its constructor, prevents uninitialized variable issues when generating CRCs. This is necessary despite these members being UPROPERTYs because they are simply built on the stack then stuffed into the new CDO during compilation.
UE-23268 - EDITOR CRASH: Assertion failed: ((UObject*)ContainerPtr)->IsA((UClass*)GetOuter())
#rb James.Golding
#codereview Mike.Beach,Bob.Tellez
Change 2769488 on 2015/11/17 by Benn.Gallagher
DrawCanvas and debug string support for skeletal controls - accessed using "Skeletal Controls" option in Show->Display Info in Persona
#rb Martin.Wilson
Change 2769545 on 2015/11/17 by Benn.Gallagher
Added space conversion options to copy bone node.
#jira OR-9430
#rb Martin.Wilson
Change 2770228 on 2015/11/17 by Marc.Audy
Fix cause of assert firing when detaching if AttachTo(AttachParent) returns false
#rb Ori.Cohen
#jira UE-23366
Change 2770489 on 2015/11/17 by Marc.Audy
Make ::Serialize WITH_EDITORONLY_DATA since it did nothing otherwise
Change 2770761 on 2015/11/17 by Aaron.McLeran
Removing optimization disablement
- Forgot to remove these lines before checking in/testing.
Change 2771375 on 2015/11/18 by Thomas.Sarkanen
Added initialzation of internal state machine desc ptrs to (finally) remove random crashes when using sub-state machines
#rb Benn.Gallagher
Change 2771697 on 2015/11/18 by Jeff.Farris
Sensible defaults for APlayerController::ClientPlayCameraAnim and ClientPlayCameraShake
#rb marc.audy
Change 2771755 on 2015/11/18 by Marc.Audy
Put back in the recursion block for destroy actor
#rb James.Golding
Change 2772217 on 2015/11/18 by Marc.Audy
Update axis inversion to work the same way as sensitivity instead of old problematic way
Also change to use Reset instead of Empty(Array.Num())
#rb Jeff.Farris
Change 2772686 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization coordinate bug.
Don't need to convert to xaudio2 coordinates for HRTF spatialization
#rb chad.taylor
Change 2772766 on 2015/11/18 by Aaron.McLeran
Fixing HRTF spatialization with xaudio2 voice pools
- Issue was caused by 2 issues:
- effect chains weren't properly clearing their state between uses (SetEffectChain(nullptr) releases the effect for use with other voices)
- Not re-setting MaxEffectChainChannels = 0 in CreateSource() was causing re-used SoundSources to release their XAudio2 voices to the wrong pool.
#rb chad.taylor
Change 2773027 on 2015/11/19 by Thomas.Sarkanen
PR #1765: Git Plugin can find the git.exe binary installed on the Local AppData user directory (Contributed by SRombauts)
#rb Thomas.Sarkanen
Change 2773142 on 2015/11/19 by Benn.Gallagher
Optimized SafeSetCSBoneTransforms, no longer doing 2 iterations over the whole pose.
- Only iterating beyond the index of the first bone transform, cutting off all bones before
- No longer using a bone mask the size of the skeleton, just an array of interesting nodes
- No longer attempting to convert a transform if it isn't necessary (which was happening a lot)
#rb Laurent.Delayen
Change 2773212 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Removing ugly comment. Not going to remove the node itself for backward compatibility.
Change 2773351 on 2015/11/19 by Zak.Middleton
#orion - Make sure we don't skip a final visual update when character mesh interpolation tries to stop smoothing once it reaches its destination. We keep setting bNetworkSmoothingComplete to false until the first visual update, at which point if it remains true we will stop getting updates.
#rb Dan.Youhon
Change 2773599 on 2015/11/19 by Marc.Audy
Fix shadow variable, initialization order, and incorrect placement of ENGINE_API that fails compiles on clang
#codereview Aaron.McLeran
Change 2773661 on 2015/11/19 by Richard.Hinckley
#jira UEDOC-2685
Following up by deprecating the CastToPlayerController function for 4.11.
Change 2774707 on 2015/11/19 by Stan.Melax
FCollisionQueryParams constructor API pitfall
Deprecating something that will call the unintended constructor if the programmer provides a string literal instead of explicitly creating an FName.
So this line of code:
FCollisionQueryParams Param(FName(TEXT("DragDropTrace")));
will invoke:
FCollisionQueryParams::FCollisionQueryParams(FName,bool=false,...)
But this line of code:
FCollisionQueryParams Param(TEXT("DragDropTrace"));
invokes:
FCollisionQueryParams::FCollisionQueryParams(bool)
Yes that actually happens, the string literal (the TEXT("whatever")) ends up specifies a bool parameter instead of a FName parameter. So the name is lost and a flag (that is usually set to false) is now set to true (since the string literal address is non-NULL). Yeah, that's could potentially be not what the programmer had intended.
It looks like this interface was introduced in CL 1792949
back in august 2013. Since its been a couple of years, we'll phase it out using the deprecation approach.
Making an API change would break things for existing projects.
If it had been a more recent change we could have probably just gone down to a single constructor right away.
Figured out that going one step further and removing bool param's default and adding a default constructor would minimize the number of places that will be hit with this deprecation. So, yes this is *increasing* the number of construtors temporarily, but this solution has minimal impact on the community. Later after other to-be-deprecated constructor gets removed, the two remaining can be combined into one with defaults for all parameters.
see also
https://udn.unrealengine.com/questions/269512/dangerous-fcollisionqueryparams-overloads.html
#codereview ori.cohen
[CL 2775460 by Marc Audy in Main branch]
2015-11-20 11:02:37 -05:00
OriginalMaterial = ( UMaterial * ) StaticDuplicateObject ( Material , OriginalMaterial - > GetOuter ( ) , OriginalMaterial - > GetFName ( ) ,
2014-03-14 14:13:41 -04:00
RF_AllFlags ,
OriginalMaterial - > GetClass ( ) ) ;
// Post load has been called, allow materials to be compiled in PostLoad.
UMaterial : : ForceNoCompilationInPostLoad ( false ) ;
// Restore the thumbnail info
OriginalMaterial - > ThumbnailInfo = OriginalThumbnailInfo ;
Material - > ThumbnailInfo = ThumbnailInfo ;
// Change the original material object to the new original material
OriginalMaterialObject = OriginalMaterial ;
// Restore RF_Standalone on the original material, as it had been removed from the preview material so that it could be GC'd.
OriginalMaterial - > SetFlags ( RF_Standalone ) ;
// Manually copy bUsedAsSpecialEngineMaterial as it is duplicate transient to prevent accidental creation of new special engine materials
OriginalMaterial - > bUsedAsSpecialEngineMaterial = Material - > bUsedAsSpecialEngineMaterial ;
// If we are showing stats for mobile materials, compile the full material for ES2 here. That way we can see if permutations
// not used for preview materials fail to compile.
if ( bShowMobileStats )
{
OriginalMaterial - > SetFeatureLevelToCompile ( ERHIFeatureLevel : : ES2 , true ) ;
}
// let the material update itself if necessary
OriginalMaterial - > PreEditChange ( NULL ) ;
OriginalMaterial - > PostEditChange ( ) ;
OriginalMaterial - > MarkPackageDirty ( ) ;
// clear the dirty flag
bMaterialDirty = false ;
bStatsFromPreviewMaterial = false ;
// update the world's viewports
FEditorDelegates : : RefreshEditor . Broadcast ( ) ;
FEditorSupportDelegates : : RedrawAllViewports . Broadcast ( ) ;
// Force particle components to update their view relevance.
for ( TObjectIterator < UParticleSystemComponent > It ; It ; + + It )
{
It - > bIsViewRelevanceDirty = true ;
}
2015-05-01 11:01:10 -04:00
// Update parameter names on any child material instances
for ( TObjectIterator < UMaterialInstance > It ; It ; + + It )
{
if ( It - > Parent = = OriginalMaterial )
{
It - > UpdateParameterNames ( ) ;
}
}
2014-03-14 14:13:41 -04:00
// Leaving this scope will update all dependent material instances.
}
2015-05-01 11:01:10 -04:00
2014-03-14 14:13:41 -04:00
RebuildMaterialInstanceEditors ( NULL ) ;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3169859)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3154832 on 2016/10/07 by Rolando.Caloca
DR - vk - Fix crash on framebuffers with missing textures
Change 3154838 on 2016/10/07 by Rolando.Caloca
DR - vk - Enable clip distance
Change 3154840 on 2016/10/07 by Rolando.Caloca
DR - Remove branch per codereview
Change 3155118 on 2016/10/07 by Rolando.Caloca
DR - vk - Compute pipeline fixes
Change 3155129 on 2016/10/07 by Rolando.Caloca
DR - Added draw events for reflection captures
Change 3155167 on 2016/10/07 by Rolando.Caloca
DR - Use shader clear for platforms that can't use viewport or scissor
Change 3155168 on 2016/10/07 by Rolando.Caloca
DR - vk - Added submit gpu
- Some fixes for Geometry and Compute
Change 3155595 on 2016/10/07 by Rolando.Caloca
DR - vk - Use new render pass system
Change 3155720 on 2016/10/07 by Rolando.Caloca
DR - vk - static analysis fix
Change 3155732 on 2016/10/07 by Rolando.Caloca
DR - Fix clears for platforms that can't use viewports, excluderects or scissor on clear
Change 3156787 on 2016/10/10 by Rolando.Caloca
DR - Fix mem leaks
Change 3156805 on 2016/10/10 by Rolando.Caloca
DR - Improve check msg per licensee
Change 3156815 on 2016/10/10 by Rolando.Caloca
DR - Fix infinite recursion
Change 3157041 on 2016/10/10 by Rolando.Caloca
DR - vk - Fix key access from multiple threads
Change 3158253 on 2016/10/11 by Rolando.Caloca
DR - Fix comment
#jira UE-37128
PR #2852
Change 3158606 on 2016/10/11 by Rolando.Caloca
DR - vk - Accessors
Change 3160418 on 2016/10/12 by Daniel.Wright
Lightmap textures are now outered to UMapBuildDataRegistry so that the UMapBuildDataRegistry can be moved in the content browser
Change 3160644 on 2016/10/12 by Arne.Schober
DR - [UE-32613] - OpenGL used to have custom code in the compiler to modify the source so that the same data and matricies can be used as DirectX, unfortunately that causes precission problem. Fortunately there is an extension available (glClipControl) which enables DirectX behaviour in OpenGL and it is widely supported. We only tested Linux and Windows and therfore only default enable on those platforms.
Change 3161219 on 2016/10/13 by Luke.Thatcher
[RENDERING] [!] Fix incorrect shader used in GPU Benchmark causing crash in OpenGL.
Change 3161838 on 2016/10/13 by Daniel.Wright
Fixed level getting added to the dirty list twice when legacy lightmaps are present
Change 3161884 on 2016/10/13 by Arne.Schober
DR - Fix Mac and DCC build
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3162491 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3162397:
More fixed type-casting on material attributes.
Swapped compiler::forcecast booleans to flags (and fixed a regression).
Change 3163266 on 2016/10/14 by Daniel.Wright
Fixed sublevels with legacy lighting data being added to the dirty packages list redundantly
Change 3163524 on 2016/10/14 by Mark.Satterthwaite
Bring over specific changes from Unicorn branch that increases the size of shader optional data so that it is considerably more useful.
Change 3163529 on 2016/10/14 by Mark.Satterthwaite
Move the Metal shader source code and compilation path into the newly enlarged shader optional data.
Change 3163553 on 2016/10/14 by Mark.Satterthwaite
Speculative fix for FORT-31590 also seen by a licensee - the Metal command buffer handler will be called from a dispatch queue thread that won't be registered with the stats system.
#jira FORT-31590
Change 3163562 on 2016/10/14 by Mark.Satterthwaite
Tidy up and extend the Metal debugging options:
- Added rhi.Metal.BufferScribble which when enabled will fill freed buffer regions with 0xCD to help identify any areas where we are writing to a buffer while it is still being processed on the GPU.
- Added rhi.Metal.BufferZeroFill which will zero-fill newly allocated buffer regions before any other data is read/written. Useful for catching cases where we might be reading uninitialised memory.
- Added rhi.Metal.ResourcePurgeOnDelete which will purge the backing store of resources prior to releasing them back to the system or the respective pool. This will make any use-after-free conditions much more likely.
- Added rhi.Metal.ResourceDeferDeleteNumFrames to defer releasing resources to the system or the resource pool by the specified number of frames (in addition to the current policy of waiting for the current end of frame & command-buffer completion). Useful for tracking down resource lifetime errors.
- Fixed a number of bugs related to the modifications to vertex stream handling and addition of the SetShaderBytes API.
- Track the start & end of FRingBuffer ranges - it appeared that the ring-buffer usage was invalid but it was in fact only my assumptions about the range that needed to be scribbled for rhi.Metal.BufferScribble. There is still the possibility that command-buffers that are implicitly parallelised by the driver may cause the ring-buffer range tracking to go awry - but with our data dependencies and the separation of the async. compute context I don't believe this is likely.
- Fix up the "nometalv2" flag so that we can disable the features only available on iOS/tvOS-10/macOS-10.12 on newer devices to save having to reboot all the time.
- Fixed the flickering geometry when enabling rhi.Metal.RuntimeDebugLevel=4 which breaks render passes into separate command-buffers - the occlusion query was waiting on the wrong command buffer in this case.
Change 3163752 on 2016/10/14 by Mark.Satterthwaite
Add missing parenthesis to fix compile error on iOS.
Change 3164151 on 2016/10/16 by Benjamin.Hyder
Submitting TM-AutoLOD level to QAGame
#jira UE-29618
Change 3164190 on 2016/10/16 by Uriel.Doyon
Materials now hold texture streaming data in the form of (UV scale X UV channel) for each texture.
This data can be disabled through "r.Streaming.UseMaterialData"
Defined a common framework in MeshComponent for texture streaming, used by both StaticMeshes and SkeletalMeshes.
Simplified component interface for using the texture streaming build framework.
Removed intermediate texture streaming build data from the static mesh components.
Fixed shader compilation errors with the decals (from merge with main).
Change 3164636 on 2016/10/17 by Rolando.Caloca
DR - vk - Fix validation spam
Change 3164679 on 2016/10/17 by Arne.Schober
DR - [OR-28457] Part1, Scene View Refactoring - Removed Previous VewMatrices from SceneInfo and pass in Previous and Current ViewMatrices into Uniform Buffer creation to uniform UseCase for Shadows and CustomDepth, Fixed a Bug in Shadows with help of Daniel where the SceneView was copied unnecessary copied again. Also simplified the code in that area.
Change 3164705 on 2016/10/17 by Daniel.Wright
When new levels are loaded, only the Indirect Lighting Cache Allocations intersecting the level's light probes are updated to minimize hitches. This optimization requires a lighting build to compute PrecomputedLightVolume bounds.
Change 3164834 on 2016/10/17 by Daniel.Wright
Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear)
Change 3164870 on 2016/10/17 by Arne.Schober
DR - [OR-28457] Part2, Custom Depth Jitter - Allowed to overwite the viewconstant buffer in the custom depth pass. There ia also a new Project Setting available. The default constructor of the ContextDataType has been explicitly deleted to enforce compile errors when the templated code like the StaticMeshDrawList accidently tries to create a context without ViewUniformBuffer.
Change 3164949 on 2016/10/17 by Rolando.Caloca
DR - vk - First version of pooled occlusion queries
Change 3165100 on 2016/10/17 by Rolando.Caloca
DR - vk - Added driver version for Nvidia. AMD doesn't have one yet.
Change 3165160 on 2016/10/17 by Rolando.Caloca
DR - vk - Fix for queries not ready
Change 3165230 on 2016/10/17 by Rolando.Caloca
DR - vk - More fixes for occlusion queries
Change 3165839 on 2016/10/18 by Rolando.Caloca
DR - hlslcc - Fix default parameters getting wrong values
Change 3166029 on 2016/10/18 by Rolando.Caloca
DR - Switch some clears to DrawClearQuad()
Change 3166066 on 2016/10/18 by Mark.Satterthwaite
Update ShaderVersion due to CL #3163524
Change 3166067 on 2016/10/18 by Mark.Satterthwaite
Update Mac hlslcc for RCO's 3165839.
Change 3166370 on 2016/10/18 by Brian.Karis
Improved hair AA
Change 3166389 on 2016/10/18 by Uriel.Doyon
Fixed lightmap having bigger resolutions than the engine can handle
#jira UE-34737
#review-3166193 @daniel.wright
Change 3166495 on 2016/10/18 by Rolando.Caloca
DR - vk - Fix occlusion queries
Change 3166516 on 2016/10/18 by Arne.Schober
DR - Fix shaderbuild issue
Change 3166650 on 2016/10/18 by Rolando.Caloca
DR - vk - Enable GRHISupportsFirstInstance
Change 3166799 on 2016/10/18 by Arne.Schober
DR - [OR-28508] - The velocity Rendering pass was missing the adjustment for the PDO
Change 3167855 on 2016/10/19 by Rolando.Caloca
DR - vk - Implemented texture streaming
Change 3168365 on 2016/10/19 by Rolando.Caloca
DR - Fix static analysis
Change 3168405 on 2016/10/19 by Mark.Satterthwaite
Fix the optional shader data changes from Unicorn to prevent FindOptionalData from erronesouly testing against the trailing optional data size, which can match the tag for optional data entries if you are unlucky.
#jira UE-37489
Change 3169467 on 2016/10/20 by Arne.Schober
DR - UE-28039 - Fixed flickering cached shadows on dynamic objects: Adding preshadows whose depths are cached so that GatherDynamicMeshElements will still happen, which is necessary for preshadow receiver stenciling.
Change 3169478 on 2016/10/20 by Arne.Schober
DR - UE-28039 - missing comment
Change 3169845 on 2016/10/20 by Arne.Schober
DR - UE-35937 - readd Merged out check
Change 3169859 on 2016/10/20 by Rolando.Caloca
DR - vk - Stop popping up dialog on every run as the device name in the API doesn't match our driver database
[CL 3170066 by Marcus Wassmer in Main branch]
2016-10-20 20:09:22 -04:00
FMaterialEditorUtilities : : BuildTextureStreamingData ( OriginalMaterial ) ;
2014-03-14 14:13:41 -04:00
}
GWarn - > EndSlowTask ( ) ;
}
void FMaterialEditor : : UpdateMaterialInfoList ( bool bForceDisplay )
{
TArray < TSharedRef < class FTokenizedMessage > > Messages ;
TArray < TSharedPtr < FMaterialInfo > > TempMaterialInfoList ;
ERHIFeatureLevel : : Type FeatureLevelsToDisplay [ 2 ] ;
int32 NumFeatureLevels = 0 ;
// Always show basic features so that errors aren't hidden
2014-10-01 09:08:51 -04:00
FeatureLevelsToDisplay [ NumFeatureLevels + + ] = GMaxRHIFeatureLevel ;
2014-03-14 14:13:41 -04:00
if ( bShowMobileStats )
{
FeatureLevelsToDisplay [ NumFeatureLevels + + ] = ERHIFeatureLevel : : ES2 ;
}
if ( NumFeatureLevels > 0 )
{
UMaterial * MaterialForStats = bStatsFromPreviewMaterial ? Material : OriginalMaterial ;
for ( int32 i = 0 ; i < NumFeatureLevels ; + + i )
{
TArray < FString > CompileErrors ;
ERHIFeatureLevel : : Type FeatureLevel = FeatureLevelsToDisplay [ i ] ;
const FMaterialResource * MaterialResource = MaterialForStats - > GetMaterialResource ( FeatureLevel ) ;
if ( MaterialFunction & & ExpressionPreviewMaterial )
{
// Add a compile error message for functions missing an output
CompileErrors = ExpressionPreviewMaterial - > GetMaterialResource ( FeatureLevel ) - > GetCompileErrors ( ) ;
bool bFoundFunctionOutput = false ;
for ( int32 ExpressionIndex = 0 ; ExpressionIndex < Material - > Expressions . Num ( ) ; ExpressionIndex + + )
{
if ( Material - > Expressions [ ExpressionIndex ] - > IsA ( UMaterialExpressionFunctionOutput : : StaticClass ( ) ) )
{
bFoundFunctionOutput = true ;
break ;
}
}
if ( ! bFoundFunctionOutput )
{
CompileErrors . Add ( TEXT ( " Missing a function output " ) ) ;
}
}
else
{
CompileErrors = MaterialResource - > GetCompileErrors ( ) ;
}
// Only show general info if stats enabled
if ( ! MaterialFunction & & bShowStats )
{
// Display any errors and messages in the upper left corner of the viewport.
TArray < FString > Descriptions ;
TArray < int32 > InstructionCounts ;
2014-04-23 20:20:58 -04:00
TArray < FString > EmptyDescriptions ;
TArray < int32 > EmptyInstructionCounts ;
2014-03-14 14:13:41 -04:00
MaterialResource - > GetRepresentativeInstructionCounts ( Descriptions , InstructionCounts ) ;
2014-08-26 14:02:18 -04:00
//Built in stats is no longer exposed to the UI but may still be useful so they're still in the code.
2014-04-23 20:20:58 -04:00
bool bBuiltinStats = false ;
const FMaterialResource * EmptyMaterialResource = EmptyMaterial ? EmptyMaterial - > GetMaterialResource ( FeatureLevel ) : NULL ;
if ( bShowBuiltinStats & & bStatsFromPreviewMaterial & & EmptyMaterialResource & & InstructionCounts . Num ( ) > 0 )
{
EmptyMaterialResource - > GetRepresentativeInstructionCounts ( EmptyDescriptions , EmptyInstructionCounts ) ;
if ( EmptyInstructionCounts . Num ( ) > 0 )
{
//The instruction counts should match. If not, the preview material has been changed without the EmptyMaterial being updated to match.
if ( ensure ( InstructionCounts . Num ( ) = = EmptyInstructionCounts . Num ( ) ) )
{
bBuiltinStats = true ;
}
}
}
2014-04-02 18:09:23 -04:00
2014-03-14 14:13:41 -04:00
for ( int32 InstructionIndex = 0 ; InstructionIndex < Descriptions . Num ( ) ; InstructionIndex + + )
{
2014-04-23 20:20:58 -04:00
FString InstructionCountString = FString : : Printf ( TEXT ( " %s: %u instructions " ) , * Descriptions [ InstructionIndex ] , InstructionCounts [ InstructionIndex ] ) ;
if ( bBuiltinStats )
2014-04-02 18:09:23 -04:00
{
2014-04-23 20:20:58 -04:00
InstructionCountString + = FString : : Printf ( TEXT ( " - Built-in instructions: %u " ) , EmptyInstructionCounts [ InstructionIndex ] ) ;
2014-04-02 18:09:23 -04:00
}
2014-03-14 14:13:41 -04:00
TempMaterialInfoList . Add ( MakeShareable ( new FMaterialInfo ( InstructionCountString , FLinearColor : : Yellow ) ) ) ;
2014-04-23 20:20:58 -04:00
TSharedRef < FTokenizedMessage > Line = FTokenizedMessage : : Create ( EMessageSeverity : : Info ) ;
Line - > AddToken ( FTextToken : : Create ( FText : : FromString ( InstructionCountString ) ) ) ;
2014-03-14 14:13:41 -04:00
Messages . Add ( Line ) ;
}
// Display the number of samplers used by the material.
const int32 SamplersUsed = MaterialResource - > GetSamplerUsage ( ) ;
if ( SamplersUsed > = 0 )
{
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948319 on 2016/04/19 by Nick.Shin
update zlib to v1.2.8
part 1 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948661 on 2016/04/19 by Nick.Shin
keep using old zlibs until they are recompiled with the newer version
Change 2948737 on 2016/04/19 by Nick.Shin
build warning fix
Change 2949334 on 2016/04/20 by Nick.Shin
fix library path
for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...
Change 2951556 on 2016/04/21 by Nick.Shin
static libs double checked
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951559 on 2016/04/21 by Nick.Shin
static libs double checked
forgot these files - they were in another changelist
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2952411 on 2016/04/22 by Nick.Shin
add win32 build targets for zlib openssl libcurl libwebsockets
part 1 of 2: these are the C# build scripts
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3118163 on 2016/09/08 by Josh.Adams
perm test 2, not a useful file at all
Change 3121142 on 2016/09/12 by Daniel.Lamb
Attempt to fix deterministic cooking issue for particlelodlevel.
Ensure the spawn module has had postload called on it before using.
#test Paragon cook
Change 3121150 on 2016/09/12 by Daniel.Lamb
Added warning logs to help track down issue UE-33453.
Change 3121201 on 2016/09/12 by Keith.Judge
Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix.
Change 3121302 on 2016/09/12 by Joe.Graf
Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors
Change 3121379 on 2016/09/12 by Dmitry.Rekman
Linux: only link libraries that export needed symbols (UE-35720).
- Fixes very long startup times of modular builds.
- Includes PR #2778 by slonopotamus.
#jira UE-35720
Change 3121383 on 2016/09/12 by Dmitry.Rekman
Linux: added some missing _API declarations on symbols used externally.
- Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't).
Change 3121456 on 2016/09/12 by Daniel.Lamb
Attempt to fix deterministic cooking issue for particlelodlevel.
Ensure the spawn module has had postload called on it before using.
#test Paragon cook
Change 3122939 on 2016/09/13 by Luke.Thatcher
[PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service.
- Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone.
Change 3123040 on 2016/09/13 by Brent.Pease
+ Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now.
Change 3123664 on 2016/09/13 by Nick.Shin
this was originally checked into: release 4.13.1
bringing here to dev-platform
-- original submit comments --
first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing"
next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop
jira UE-35363 - Huge game window when launching onto Safari 9.1.2
Change 3125282 on 2016/09/14 by Michael.Trepka
Fixed iOS and tvOS code indexing in Xcode project
Change 3126812 on 2016/09/15 by Josh.Adams
Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes:
- Added Parse function to JsonObject.cs to be able to parse a string
- Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU()
- Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME
- Converted the PS4MallocCrash class into a generic one (that Wolf is now also using)
- Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread
- Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere
- Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects
- Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever)
- Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool.
- Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini)
- Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain.
- Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening
- Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct.
- Renamed a UT copy of a global function to not linker-conflict
- Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4.
- Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists)
- Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority()
- Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads?
- Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move.
Change 3126842 on 2016/09/15 by Michael.Trepka
Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation.
Change 3126956 on 2016/09/15 by Michael.Trepka
Added support for compiling Vulkan shaders for Android on Mac
Change 3127206 on 2016/09/15 by Michael.Trepka
PR #2604: Remove some warnings. (Contributed by reapazor)
Change 3127324 on 2016/09/15 by Michael.Trepka
Allow third party dylibs on Mac to be loaded from plugin subfolders
Change 3127924 on 2016/09/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3128369 on 2016/09/16 by Nick.Shin
zlib 1.2.8
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128377 on 2016/09/16 by Nick.Shin
openssl 1_0_2h
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128383 on 2016/09/16 by Nick.Shin
libcurl 7_48_0
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128384 on 2016/09/16 by Nick.Shin
libwebsockets 1.7.4
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128464 on 2016/09/16 by Nick.Shin
webRTC rev.12643
NOTE: VS2015
- only Win64 is available
- Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment
NOTE: VS2013
- not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist
- also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways
FUTURE NOTE:
- will continue to try to get VS2015 Win32 functional
- and am working on trying to get VS2013 tested
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128500 on 2016/09/16 by Nick.Shin
zlib 1.2.8 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128504 on 2016/09/16 by Nick.Shin
openssl 1_0_2h - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128506 on 2016/09/16 by Nick.Shin
libcurl 7_48_0 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128508 on 2016/09/16 by Nick.Shin
libwebsockets 1.7.4 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128513 on 2016/09/16 by Nick.Shin
webRTC rev.12643 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128602 on 2016/09/16 by Nick.Shin
webRTC rev.9862 - Win64 VS2013
NOTE:
- not tested (i'm working on getting a VS2013 pro license)
- checking in for testing purposes
WARNING:
- VS2013 is no longer supported by webRTC latest
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128605 on 2016/09/16 by Nick.Shin
re-enabling updated ThirdParySoftware libs:
- zlib (v.1.2.8)
- openssl (1.0.2h)
- libcurl (7_48_0)
- libwebsocket (v.1.7.4)
- webRTC (rev.12643)
to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build...
Change 3128651 on 2016/09/16 by Nick.Shin
fix Win32 build error from CL: #3128605
Change 3128704 on 2016/09/16 by Nick.Shin
fix Win32 build error from CL: #3128605 - this time actually compiling it...
Change 3128825 on 2016/09/16 by Dmitry.Rekman
Linux: proper fix for too slow startup times (UE-35967).
- Pull request #2793 by slonopotamus.
- Now without stripping dependencies on libraries specified before.
- Contains a work around for ld bug <2.25.
Change 3128972 on 2016/09/16 by Nick.Shin
fix to local build error.
Change 3129283 on 2016/09/16 by Brent.Pease
+ Add Android local notification support based on existing system used for iOS
+ Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release
Change 3129494 on 2016/09/17 by Nick.Shin
fix CIS build errors
Change 3129503 on 2016/09/17 by Dmitry.Rekman
Fix Linux build (case sensitivity issue).
Change 3129514 on 2016/09/17 by Nick.Shin
fix CIS build errors for consoles - missing zlib include path
special thanks to Dmitry.Rekman for pointing me in the right direction
Change 3129647 on 2016/09/17 by Dmitry.Rekman
Linux: fix non-unity build.
Change 3131043 on 2016/09/19 by Nick.Shin
archiving build instructions/steps when building:
- zlib (v.1.2.8)
win: #3128369
osx: #3128500
- openssl (1.0.2h)
win: #3128377
osx: #3128504
- libcurl (7_48_0)
win: #3128383
osx: #3128506
- libwebsocket (v.1.7.4)
win: #3128384
osx: #3128508
- webRTC
win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP
osx: #3128513
Change 3132801 on 2016/09/20 by Dmitry.Rekman
Linux: support specifying default OpenGL version via configs (UE-34777).
- The first targeted RHI is going to be used.
Change 3132905 on 2016/09/20 by Josh.Adams
- Fixed up some paths with the WolfPlat rename
Change 3133148 on 2016/09/20 by Josh.Adams
- Only show UT EULA if PLATFORM_DESKTOP
Change 3133152 on 2016/09/20 by Josh.Adams
- Beginning support for applets. Disabled unless you have a special SDK with applet support.
Change 3133169 on 2016/09/20 by Josh.Adams
- Fixed issue with Wolf access but no SDK installed
Change 3133344 on 2016/09/20 by Daniel.Lamb
Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile.
Added new flag to limit number of concurrent shader compiles.
#test Cook QAGame, Cook Paragon
Change 3133345 on 2016/09/20 by Daniel.Lamb
FRedirectCollector collects string asset references all the time when running the editor.
#test Cook paragon cook QAGame.
Change 3133852 on 2016/09/21 by Luke.Thatcher
[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated.
Change 3133875 on 2016/09/21 by Luke.Thatcher
[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2)
Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick
Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'.
Change 3134544 on 2016/09/21 by Josh.Adams
- Reduced UT textures for Wolf
Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick
FPS4Time::SystemTime now calculates the local machine time, instead of UTC.
#jira UE-35170
Change 3135036 on 2016/09/21 by Michael.Trepka
Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process
Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick
GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32
Change 3135292 on 2016/09/21 by Jeff.Campeau
Change include order to favor the XDK edition specific headers where available.
Change 3136414 on 2016/09/22 by Josh.Adams
- Fixed a checkf() that had the case reversed
#jira ue-36311
Change 3137082 on 2016/09/22 by Dmitry.Rekman
Added support for Linux installed builds to 4.14
Change 3137220 on 2016/09/22 by Dmitry.Rekman
Linux: do not rebuild hlslcc on each setup.
- Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary.
Change 3137227 on 2016/09/22 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3137259 on 2016/09/22 by Dmitry.Rekman
Linux installed build: fix CIS (missed one .csproj)
Change 3137290 on 2016/09/22 by Dmitry.Rekman
Linux installed builds: fix for the resulting directory.
Change 3137291 on 2016/09/22 by Chris.Babcock
Restore texture filtering mode properly when movie played on Android
#jira UE-36342
#ue4
#android
Change 3137376 on 2016/09/22 by Dmitry.Rekman
Linux: re-enabled crash handler stack smash protection.
- Race condition in FRunnableThreadPThread has been previously fixed.
Change 3138498 on 2016/09/23 by Dmitry.Rekman
Linux: add missed package for installed builds.
- mono-devel package for resgen2.
Change 3138523 on 2016/09/23 by Dmitry.Rekman
Linux: Update hlslcc now that we're not rebuilding it each time.
Change 3138658 on 2016/09/23 by Josh.Adams
- Moved UT's Social Plugin into NotForLicensees
Change 3139042 on 2016/09/23 by Dmitry.Rekman
Linux: more robust check of installed packages.
- Also added mono-devel to the list of packages installed on 14.04.
Change 3139674 on 2016/09/26 by Dmitry.Rekman
Fix crash when editing widget blueprints (UE-35185).
- Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping.
- Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795).
Change 3140203 on 2016/09/26 by Josh.Adams
- Wolf Fix for SHIPPING
Change 3140206 on 2016/09/26 by Josh.Adams
- NEX work, still in progress
Change 3140276 on 2016/09/26 by Josh.Adams
- Fixed Wolf compile error
Change 3140485 on 2016/09/26 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3140570 on 2016/09/26 by Dmitry.Rekman
SDL2: Delete obsolete files.
- We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space.
Change 3140577 on 2016/09/26 by Dmitry.Rekman
Fix CudaTest monolithic build.
- Not the best fix, the better fix is to build against bundled libc++.
Change 3141184 on 2016/09/27 by Keith.Judge
Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert.
#jira UE-35973
Change 3141623 on 2016/09/27 by Chris.Babcock
Support hiding virtual keyboard on Android
#jira UE-34201
#ue4
#android
Change 3141887 on 2016/09/27 by Joe.Graf
Added support for additional plugin directories that are specified by the .uproject file
New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins
Change 3141916 on 2016/09/27 by Josh.Adams
- Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925)
Change 3141926 on 2016/09/27 by Josh.Adams
- Support for skipping Wolf user selector (-nologinui)
Change 3141938 on 2016/09/27 by Chris.Babcock
Allow Android media player to seek past 999ms (contributed by rcywongaa)
#jira UE-36453
#PR #2797
#ue4
#android
Change 3142207 on 2016/09/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3142219 on 2016/09/27 by Josh.Adams
- Wolf PhysX 3.4 libs and includes
Change 3142220 on 2016/09/27 by Josh.Adams
- File that had to be fixed up after main merge (missed adding it to the huge integrate CL)
Change 3142314 on 2016/09/27 by Chase.McAllister
#jira UE-35011 fixes to some assets to remove redundancies/output log spam
Change 3142510 on 2016/09/27 by Daniel.Lamb
Fixed up resave lightmaps commandlet so that world transforms don't get applied twice.
#jira UE-35942
Change 3142650 on 2016/09/27 by Chris.Babcock
Android support for Linux by yaakuro
- requires CodeWorks for Android Linux installed and OpenJDK 1.8
- need to set Android SDK paths manually in Project Settings
#jira UE-32752
#jira UE-32753
#PR #2564
#PR #2565
#ue4
#android
#linux
Change 3142802 on 2016/09/27 by Dmitry.Rekman
Upgrade to SDL 2.0.5-ish (still technically 2.0.4).
- Upstream revision 10374:dccf51aee79b.
- Merged all our changes hopefully.
Change 3143075 on 2016/09/28 by Luke.Thatcher
[RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro.
#jira UE-33077
Change 3143219 on 2016/09/28 by Daniel.Lamb
Added new is compiling function which tells you if it's really compiling instead of lying.
If def out additional logging for debugging shader compilation issue for 4.14 release.
Change 3143428 on 2016/09/28 by Luke.Thatcher
[PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061
Change 3143488 on 2016/09/28 by Daniel.Lamb
Changed defaults for skip cooking editor content to true.
Change 3143526 on 2016/09/28 by Daniel.Lamb
Increased the concurrent shader compile limit while in the cooker.
#test Cook paragon
Change 3143874 on 2016/09/28 by Chris.Babcock
Read Android environment variables from .bashrc on Linux
#jira UE-36565
#ue4
#android
#linux
Change 3143911 on 2016/09/28 by Dmitry.Rekman
Fix SDL EGL API binding (UE-18979).
- Contains PR #1398 by x414e54.
- Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade.
Change 3143929 on 2016/09/28 by Daniel.Lamb
Removed some more temporary logging.
#test Cook paragon
Change 3143959 on 2016/09/28 by Jeff.Campeau
Media Player for Xbox One
Change 3143997 on 2016/09/28 by Dmitry.Rekman
Linux: faster linking in Debug.
- Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating.
Change 3144004 on 2016/09/28 by Dmitry.Rekman
Linux: make SCW dump core on crash in debug builds.
- If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space).
Change 3144007 on 2016/09/28 by Dmitry.Rekman
Linux: Allow equals character in command line parameter value (UE-26406).
- PR #2019 by bozzaro.
- Allows passing parameters like -Switch=Key=Value.
Change 3144042 on 2016/09/28 by Jeff.Campeau
Add tag for DX12 support being experimental in target settings.
#jira UE-36150
Change 3144068 on 2016/09/28 by Dmitry.Rekman
Linux: enable using xgConsole in UAT (UE-28096).
- PR #2144 by bozzaro.
- Picks correct xgConsole binary.
- Allegedly fixes crash in CombineXGEItemFile on mono.
Change 3144120 on 2016/09/28 by Michael.Trepka
Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/...
Change 3144172 on 2016/09/28 by Chris.Babcock
Add libpng 1.5.27 for Android
#jira UE-36573
#ue4
#android
Change 3144318 on 2016/09/28 by Chris.Babcock
Correct logic for checking .bashrc on Linux
#ue4
#android
Change 3144331 on 2016/09/28 by Dmitry.Rekman
Linux: repair ARM server builds.
- Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1).
Change 3144354 on 2016/09/28 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
this is intermediate, not fully working
Change 3144368 on 2016/09/28 by Josh.Adams
- Moved the new Social files into NFL
Change 3144395 on 2016/09/28 by Chris.Babcock
Add missing functions for AndroidWebBrowserWindow
#ue4
#android
Change 3144417 on 2016/09/28 by Josh.Adams
- Probable fix for FWebBrowserWindow missing virtuals
Change 3144438 on 2016/09/28 by Jeff.Campeau
XDK updated to 160802
Change 3144569 on 2016/09/29 by Dmitry.Rekman
Linux: allow a selectable clock source (UE-36564).
- The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew.
- Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there.
#tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm).
Change 3145108 on 2016/09/29 by Joe.Graf
Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools)
Change 3145245 on 2016/09/29 by Joe.Graf
#wolf
Checking in removal of plugin use on Win64 per Josh's request
Change 3145514 on 2016/09/29 by Will.Fissler
Updated Mac Info.plist files to disable high DPI on macOS 10.12
Change 3145538 on 2016/09/29 by Josh.Adams
- Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots.
Change 3145540 on 2016/09/29 by Josh.Adams
- Fix for checking some Wolf dev tool installation existence
- Fix for various Wolf build issues
- Fix for Wolf devices not showing up in Launch on
Change 3145542 on 2016/09/29 by Josh.Adams
- Pulled over Wolf changes from Wolf branch into Dev-Platform
Change 3145572 on 2016/09/29 by Josh.Adams
- Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people.
#jira UE-36591
Change 3145769 on 2016/09/29 by Chris.Babcock
Remove duplicate platforms from deploy list in UFE
#jira UE-36636
#ue4
Change 3146061 on 2016/09/29 by Chris.Babcock
Linux: be less spammy in log when launching external procs
#jira UE-36638
#ue4
#linux
Change 3146208 on 2016/09/29 by Dmitry.Rekman
Linux: fix PhysX crash (UE-36613).
- PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above.
- This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun.
#jira UE-36613
Change 3146476 on 2016/09/30 by Josh.Adams
- Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose
Change 3146554 on 2016/09/30 by Josh.Adams
- Removed another wolf secret log
Change 3146626 on 2016/09/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3146712 on 2016/09/30 by Josh.Adams
- Fixed case for building Android on Linux
#jira #UE-36652
Change 3146844 on 2016/09/30 by Josh.Adams
- Removed ES2 shader compiling from TVOS, and force Metal compiling
#jira UE-36306
Change 3146865 on 2016/09/30 by Daniel.Lamb
Removed temp logging for materials
#test Launch on paragon
Change 3146874 on 2016/09/30 by Dmitry.Rekman
Linux: add rpath for libTextureConverter.so (UE-36620).
Change 3147030 on 2016/09/30 by Josh.Adams
- Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks
#jira UE-36623
Change 3147151 on 2016/09/30 by Josh.Adams
- Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling?
Change 3147621 on 2016/09/30 by Michael.Trepka
Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac
Change 3147712 on 2016/09/30 by Josh.Adams
- Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform.
#jira UE-36225
Change 3147725 on 2016/09/30 by Josh.Adams
- Fixed yet another Wolf log for people with Wolf access but no SDK
[CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
int32 MaxSamplers = GetExpectedFeatureLevelMaxTextureSamplers ( MaterialResource - > GetFeatureLevel ( ) ) ;
2015-04-16 13:02:21 -04:00
FString SamplersString = FString : : Printf ( TEXT ( " %s samplers: %u/%u " ) , FeatureLevel < = ERHIFeatureLevel : : ES3_1 ? TEXT ( " Mobile texture " ) : TEXT ( " Texture " ) , SamplersUsed , MaxSamplers ) ;
2014-03-14 14:13:41 -04:00
TempMaterialInfoList . Add ( MakeShareable ( new FMaterialInfo ( SamplersString , FLinearColor : : Yellow ) ) ) ;
TSharedRef < FTokenizedMessage > Line = FTokenizedMessage : : Create ( EMessageSeverity : : Info ) ;
Line - > AddToken ( FTextToken : : Create ( FText : : FromString ( SamplersString ) ) ) ;
Messages . Add ( Line ) ;
}
2017-02-16 17:52:21 -05:00
// Display the number of custom/user interpolators used by the material.
uint32 UVScalarsUsed , CustomInterpolatorScalarsUsed ;
MaterialResource - > GetUserInterpolatorUsage ( UVScalarsUsed , CustomInterpolatorScalarsUsed ) ;
if ( UVScalarsUsed > 0 | | CustomInterpolatorScalarsUsed > 0 )
{
uint32 TotalScalars = UVScalarsUsed + CustomInterpolatorScalarsUsed ;
uint32 MaxScalars = FMath : : DivideAndRoundUp ( TotalScalars , 4u ) * 4 ;
FString InterpolatorsString = FString : : Printf ( TEXT ( " User interpolators: %u/%u Scalars (%u/4 Vectors) (TexCoords: %i, Custom: %i) " ) ,
TotalScalars , MaxScalars , MaxScalars / 4 , UVScalarsUsed , CustomInterpolatorScalarsUsed ) ;
TempMaterialInfoList . Add ( MakeShareable ( new FMaterialInfo ( InterpolatorsString , FLinearColor : : Yellow ) ) ) ;
TSharedRef < FTokenizedMessage > Line = FTokenizedMessage : : Create ( EMessageSeverity : : Info ) ;
Line - > AddToken ( FTextToken : : Create ( FText : : FromString ( InterpolatorsString ) ) ) ;
Messages . Add ( Line ) ;
}
2014-03-14 14:13:41 -04:00
}
FString FeatureLevelName ;
GetFeatureLevelName ( FeatureLevel , FeatureLevelName ) ;
for ( int32 ErrorIndex = 0 ; ErrorIndex < CompileErrors . Num ( ) ; ErrorIndex + + )
{
FString ErrorString = FString : : Printf ( TEXT ( " [%s] %s " ) , * FeatureLevelName , * CompileErrors [ ErrorIndex ] ) ;
TempMaterialInfoList . Add ( MakeShareable ( new FMaterialInfo ( ErrorString , FLinearColor : : Red ) ) ) ;
TSharedRef < FTokenizedMessage > Line = FTokenizedMessage : : Create ( EMessageSeverity : : Error ) ;
Line - > AddToken ( FTextToken : : Create ( FText : : FromString ( ErrorString ) ) ) ;
Messages . Add ( Line ) ;
bForceDisplay = true ;
}
}
}
bool bNeedsRefresh = false ;
if ( TempMaterialInfoList . Num ( ) ! = MaterialInfoList . Num ( ) )
{
bNeedsRefresh = true ;
}
for ( int32 Index = 0 ; ! bNeedsRefresh & & Index < TempMaterialInfoList . Num ( ) ; + + Index )
{
if ( TempMaterialInfoList [ Index ] - > Color ! = MaterialInfoList [ Index ] - > Color )
{
bNeedsRefresh = true ;
break ;
}
if ( TempMaterialInfoList [ Index ] - > Text ! = MaterialInfoList [ Index ] - > Text )
{
bNeedsRefresh = true ;
break ;
}
}
if ( bNeedsRefresh )
{
MaterialInfoList = TempMaterialInfoList ;
/*TSharedPtr<SWidget> TitleBar = GraphEditor->GetTitleBar();
if ( TitleBar . IsValid ( ) )
{
StaticCastSharedPtr < SMaterialEditorTitleBar > ( TitleBar ) - > RequestRefresh ( ) ;
} */
StatsListing - > ClearMessages ( ) ;
StatsListing - > AddMessages ( Messages ) ;
if ( bForceDisplay )
{
TabManager - > InvokeTab ( StatsTabId ) ;
}
}
}
void FMaterialEditor : : UpdateGraphNodeStates ( )
{
2014-10-01 09:08:51 -04:00
const FMaterialResource * ErrorMaterialResource = PreviewExpression ? ExpressionPreviewMaterial - > GetMaterialResource ( GMaxRHIFeatureLevel ) : Material - > GetMaterialResource ( GMaxRHIFeatureLevel ) ;
2014-03-14 14:13:41 -04:00
const FMaterialResource * ErrorMaterialResourceES2 = NULL ;
if ( bShowMobileStats )
{
ErrorMaterialResourceES2 = PreviewExpression ? ExpressionPreviewMaterial - > GetMaterialResource ( ERHIFeatureLevel : : ES2 ) : Material - > GetMaterialResource ( ERHIFeatureLevel : : ES2 ) ;
}
bool bUpdatedErrorState = false ;
// Have to loop through everything here as there's no way to be notified when the material resource updates
for ( int32 Index = 0 ; Index < Material - > MaterialGraph - > Nodes . Num ( ) ; + + Index )
{
UMaterialGraphNode * MaterialNode = Cast < UMaterialGraphNode > ( Material - > MaterialGraph - > Nodes [ Index ] ) ;
if ( MaterialNode )
{
MaterialNode - > bIsPreviewExpression = ( PreviewExpression = = MaterialNode - > MaterialExpression ) ;
MaterialNode - > bIsErrorExpression = ( ErrorMaterialResource - > GetErrorExpressions ( ) . Find ( MaterialNode - > MaterialExpression ) ! = INDEX_NONE )
| | ( ErrorMaterialResourceES2 & & ErrorMaterialResourceES2 - > GetErrorExpressions ( ) . Find ( MaterialNode - > MaterialExpression ) ! = INDEX_NONE ) ;
if ( MaterialNode - > bIsErrorExpression & & ! MaterialNode - > bHasCompilerMessage )
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3125172)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3053250 on 2016/07/18 by Steve.Robb
TNot metafunction added.
Change 3053252 on 2016/07/18 by Steve.Robb
New TIsEnumClass trait.
Change 3061345 on 2016/07/22 by Robert.Manuszewski
Changing FMallocStomp::GetAllocationSize() to return the requested allocation size instead of the physical allocation size to make FMallocStomp work properly with FMallocPoisonProxy
Change 3061377 on 2016/07/22 by Graeme.Thornton
Added bStripAnimationDataOnDedicatedServer option to UAnimationSettings which will remove all compressed data from cooked server data. Disabled by default
Change 3064592 on 2016/07/26 by Steven.Hutton
Uploading repository files
Change 3064595 on 2016/07/26 by Steven.Hutton
Assign crashes to buggs based not just on Callstack but also based on Error message.
Error messages have "data" masked out and are then compared to a table of error messages to find similar messages. Ensures are not currently filtered by error message.
Change 3066046 on 2016/07/27 by Graeme.Thornton
Better dedicated client/server class exclusion during cooking
- Add class lists to cooker settings so they can be modified in the editor
Change 3066077 on 2016/07/27 by Graeme.Thornton
Move Paragon NeedsLoadForServer calls over to the new config based system
Change 3066203 on 2016/07/27 by Chris.Wood
CrashReportProcess logging and Slack reporting improvements to monitor disk space.
[UE-31129] - Crash Report server need to alert on Slack when the PDB cache is full
Change 3066276 on 2016/07/27 by Graeme.Thornton
Move simple NeedsLoadForClient implementations over to new config based system
Change 3068019 on 2016/07/28 by Graeme.Thornton
Don't call ReleaseResources on UStaticMesh if we never render, and therefore never actually initialize the resources
- Corrects some bad stats
Change 3068218 on 2016/07/28 by Chris.Wood
CrashReportProcess 1.1.18 passes BuildVersion to MinidumpDiagnostics
[UE-31706] - Add new BuildVersion string to crash context and website
Also modified command line log file ini settings to stop MDD stalling trying to sort and delete its logs.
Change 3071665 on 2016/08/01 by Robert.Manuszewski
Moving RemoveNamesFromMasterList from UEnum destructor to BeginDestroy to avoid potential issues when its package has already been destroyed.
Change 3073388 on 2016/08/02 by Graeme.Thornton
Invalidate string asset reference tags after finishing up loading of an async package
Change 3073745 on 2016/08/02 by Robert.Manuszewski
Disabling logging to memory in shipping by default. From now on FOutputDeviceMemory will be an opt-in for games.
#jira FORT-27839
Change 3074866 on 2016/08/03 by Robert.Manuszewski
PR #2650: Fixed a bug where newline escape sequence wasnt written to the pipe (Contributed by ozturkhakki)
Change 3075128 on 2016/08/03 by Steve.Robb
Static analysis fixes: error C2065: 'ThisOuterWorld': undeclared identifier
Change 3075130 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LODLevel'
Change 3075131 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Owner'
Change 3075235 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AnimToOperateOn'
Change 3075248 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ParentProfile'
Change 3075662 on 2016/08/03 by Steve.Robb
Static analysis/buffer size fix: warning C28020: The expression '_Param_(7)>=sizeof(ICMP_ECHO_REPLY)+_Param_(4)+8' is not true at this call
Change 3075668 on 2016/08/03 by Steve.Robb
Static analysis fix: warning C6326: Potential comparison of a constant with another constant
Change 3075679 on 2016/08/03 by Chris.Wood
Added -NoTrimCallstack command line arg to MDD calls from CRP 1.1.19
[OR-26335] - 29.1 crash reporter generating reports with no callstacks / info
New MDD has -NoTrimCallstack option to leave possibly irrelevant entires in the stack. Trimming is somewhat arbitrary and based on string matching. I'd rather see the whole thing.
Change 3077070 on 2016/08/04 by Steve.Robb
Dead array slack tracking code removed.
Change 3077113 on 2016/08/04 by Steve.Robb
TEnumAsByte is now deprecated for enum classes.
All current uses fixed (which tidies up that code anyway).
New FArchive::op<< for enum classes.
Generated code now never uses TEnumAsByte for enum classes.
Change 3077117 on 2016/08/04 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'DefaultSettings'
Change 3078709 on 2016/08/05 by Steve.Robb
FUNCTION_NO_NULL_RETURN_* macros added to statically annotate a function to say that it never returns a null pointer.
TObjectIterator annotated to never return null.
NewObject annotated to never return null.
Change 3078836 on 2016/08/05 by Graeme.Thornton
Silently skip creating exports from a package where the outer is also an export and has been filtered at runtime during loading
Change 3082217 on 2016/08/09 by Steve.Robb
Missing #include for FUniqueNetIdRepl added.
Change 3083679 on 2016/08/10 by Chris.Wood
CrashReportProcess performance improvements. CRP v1.1.22
[UE-34402] - Crash Reporter: Improve CRP performance by allowing multiple MDD instances
[UE-34403] - Crash Reporter: CRP should throw away crashes when backlog is too large to avoid runaway
Passing lock details to MDD on command line and managing multiple MDD tasks in CRP.
Configurable values for range of queue sizes that cause us to throw away crashes.
Change 3085362 on 2016/08/11 by Steve.Robb
Rule-of-three fixes for FAIMessageObserver, to prevent accidents.
From here: https://udn.unrealengine.com/questions/306507/tstaticarray-doesnt-call-destructor-on-elements-be.html
Change 3085396 on 2016/08/11 by Steve.Robb
Swap can now be configured via the TUseBitwiseSwap trait to not use Memswap, which can be less optimal for certain types.
Change 3088840 on 2016/08/15 by Steve.Robb
TRemoveReference moved to its own header.
Change 3088858 on 2016/08/15 by Steve.Robb
TDecay moved to its own header.
Change 3088963 on 2016/08/15 by Steve.Robb
Invoke function, for doing a generic call on a generic callable thing. Equivalent to std::invoke.
Change 3089144 on 2016/08/15 by Steve.Robb
Algo::Transform updated to use Invoke. Algorithm tests updated to test the new features.
Change 3089147 on 2016/08/15 by Steve.Robb
TLess and TGreater moved to their own headers and defaulted to void as a type-deducing version, as per std::.
Change 3090243 on 2016/08/16 by Steve.Robb
New Algo::Sort and Algo::SortBy algorithms.
Change 3090387 on 2016/08/16 by Steve.Robb
Improved bitwise swapping for Swap.
See: https://udn.unrealengine.com/questions/306922/swap-is-painfully-slow.html
Change 3090444 on 2016/08/16 by Steve.Robb
Ptr+Size overloads removed after discussion - MakeArrayView should be used instead.
Change 3090495 on 2016/08/16 by Steve.Robb
Assert when FString::Mid is passed a negative count.
#jira UE-18756
Change 3093455 on 2016/08/18 by Steve.Robb
Debuggability and efficiency improvements to UScriptStruct::DeferCppStructOps.
Change 3094476 on 2016/08/19 by Steve.Robb
BOM removed from InvariantCulture.h.
Change 3094697 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3094702 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Interactor'.
Change 3094715 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Order': the readable size is '256' bytes, but '8160' bytes may be read.
Change 3094737 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OwnedComponent'.
warning C28182: Dereferencing NULL pointer. 'Child' contains the same NULL value as 'AttachToComponent' did.
Change 3094750 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094768 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'LevelSequence'.
warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3094774 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'CallFunctionNode'.
Change 3094783 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'TargetPin'.
Change 3094807 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094815 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'VarNode'.
warning C6011: Dereferencing NULL pointer 'SourceClass'.
Change 3094840 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TunnelGraph'.
warning C28182: Dereferencing NULL pointer. 'GraphNode' contains the same NULL value as 'SourceNode' did.
Change 3094864 on 2016/08/19 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3094880 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PrevIfIndexMatchesStatement'.
Change 3094886 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnBlueprintPin'.
Change 3094903 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'K2Node'.
Change 3094916 on 2016/08/19 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer 'CompilerContext'.
Change 3094931 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VariablePin'.
Change 3094935 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3094943 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'TargetGraph' did.
Change 3094960 on 2016/08/19 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastOutPin'.
Change 3095046 on 2016/08/19 by Steve.Robb
Single parameter version of CastChecked tagged to never return null.
Change 3095054 on 2016/08/19 by Steve.Robb
Committed wrong version in CL# 3095046.
Change 3095089 on 2016/08/19 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'.
Change 3096035 on 2016/08/22 by Steve.Robb
Fix for static lighting in pixel inspector.
Change 3096039 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'World'.
Change 3096045 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Actor'.
Change 3096058 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OtherPin'.
Change 3096059 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MainMesh'.
Change 3096066 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceType'.
Change 3096070 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LastPushStatement'.
Change 3096074 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OriginalDataTableInPin'.
Change 3096075 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurrentPin'.
Change 3096081 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RunningPlatformData'.
Change 3096156 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'BP'.
warning C6011: Dereferencing NULL pointer 'Object'.
Change 3096308 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'TopMipData'.
warning C6011: Dereferencing NULL pointer 'MipCoverageData[0]'.
Change 3096315 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'OldParent'.
warning C6011: Dereferencing NULL pointer 'TestExecutionInfo'.
Change 3096318 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OwnerClass'.
Change 3096322 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshInstanceData'.
Change 3096337 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Pin'.
warning C6011: Dereferencing NULL pointer 'SpawnVarPin'.
Change 3096345 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6246: Local declaration of 'NumTris' hides declaration of the same name in outer scope.
Change 3096356 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InWorld'.
Change 3096387 on 2016/08/22 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ExpressionPreviewMaterial'.
warning C6011: Dereferencing NULL pointer 'MaterialNode->MaterialExpression'.
Change 3096400 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'FunctionInputs'.
Change 3096413 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'LODPackage' contains the same NULL value as 'AssetsOuter' did.
Change 3096416 on 2016/08/22 by Steve.Robb
Static analysis fixes: warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects.
Change 3096423 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'RedirectorRefs.Redirector'.
Change 3096439 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NewObject'.
Change 3096446 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BaseClass'.
Change 3096454 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldSkeleton'.
Change 3096464 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MyNode'.
Change 3096469 on 2016/08/22 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VRInteractor'.
Change 3097559 on 2016/08/23 by Steve.Robb
Alternate fix to CL# 3096439.
Change 3097583 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'SourceCategoryEnum'.
warning C6011: Dereferencing NULL pointer 'CurrentWorld'.
Change 3097584 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LocalizationTarget'.
Change 3097585 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'VariableSetNode' contains the same NULL value as 'AssignmentNode' did.
warning C6011: Dereferencing NULL pointer 'FirstNativeClass'.
Change 3097588 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OutputObjClass'.
Change 3097589 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Term' contains the same NULL value as 'RValueTerm' did.
Change 3097591 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Schema'.
Change 3097597 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'LayerInfo'.
Change 3097598 on 2016/08/23 by Steve.Robb
Const-correctness fix for ILandscapeEditorModule::GetHeightmapFormatByExtension and ILandscapeEditorModule::GetWeightmapFormatByExtension.
Change 3097600 on 2016/08/23 by Steve.Robb
Fix for incorrect null check.
Change 3097605 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'TexDataPtr'.
Bug filed here: https://connect.microsoft.com/VisualStudio/feedback/details/3078125
Change 3097609 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'BaseClass' did.
Change 3097613 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'InEdGraph'.
Change 3097620 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThisScalableFloat'.
Change 3097627 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'AnimBlueprint'.
Change 3097629 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Pin' contains the same NULL value as 'PoseNet' did.
Change 3097631 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IPOverlayInfo.Brush'.
Change 3097634 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Survey'.
Change 3097639 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Settings'.
Change 3097650 on 2016/08/23 by Steve.Robb
Alternate fix for CL# 3097597.
Change 3097725 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'BodySetup'.
Change 3097764 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'FoundMode' contains the same NULL value as 'ElementType * FoundMode=LoopModes.FindByPredicate(<lambda>)' did.
Change 3097770 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Triangle'.
Change 3097775 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurGroup'.
Change 3097796 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SourceComponent'.
Change 3097797 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: warning C6011: Dereferencing NULL pointer 'HitComponent'.
Change 3097843 on 2016/08/23 by Steve.Robb
Spurious static analysis fix: Dereferencing NULL pointer. 'MatchingNewPin' contains the same NULL value as 'UEdGraphPin ** MatchingNewPin=this->Pins.FindByPredicate(<lambda>)' did.
Change 3097864 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ObjectClass'.
warning C6011: Dereferencing NULL pointer 'Client'.
Change 3097871 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'SMLightingMesh->StaticMesh' contains the same NULL value as 'StaticMesh' did.
Change 3098015 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094864.
Change 3098024 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094943.
Change 3098052 on 2016/08/23 by Steve.Robb
Alternative fix for CL# 3094886.
Change 3098080 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'PrimitiveComponent' contains the same NULL value as 'ReplacementComponent' did.
Change 3098102 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'IndexTermPtr'.
Change 3098148 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Node'.
warning C6011: Dereferencing NULL pointer 'OldNode'.
warning C6011: Dereferencing NULL pointer 'LinkedPin'.
warning C6011: Dereferencing NULL pointer 'RootNode'.
Change 3098156 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BTGraphNode'.
Change 3098176 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'NewSection'.
Change 3098182 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Sprite'.
Change 3098197 on 2016/08/23 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Node'.
Coding standards fixes.
Change 3098202 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ExistingEventNode'.
Change 3098208 on 2016/08/23 by Steve.Robb
Static analysis fixes:
warning C28182: Dereferencing NULL pointer. 'Graph' contains the same NULL value as 'GraphNew' did.
warning C28182: Dereferencing NULL pointer. 'GoodGraph' contains the same NULL value as 'GraphNew' did.
Change 3098229 on 2016/08/23 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3099188 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099195 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'NodeProperty'.
Change 3099205 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'VarDesc'.
Change 3099228 on 2016/08/24 by Steve.Robb
Spurious static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'ParentNode' did.
Change 3099539 on 2016/08/24 by Steve.Robb
Spurious static analysis fixes:
warning C6011: Dereferencing NULL pointer 'InBlueprint'.
warning C28182: Dereferencing NULL pointer. 'TestObj' contains the same NULL value as 'TestOuter' did.
https://connect.microsoft.com/VisualStudio/feedback/details/3082362
https://connect.microsoft.com/VisualStudio/feedback/details/3082622
Change 3099546 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'OldNode'.
Change 3099561 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ReferencedObject'.
Change 3099571 on 2016/08/24 by Steve.Robb
Static analysis fix: Dereferencing NULL pointer. 'ObjClass' contains the same NULL value as 'CommonBaseClass' did.
Change 3099600 on 2016/08/24 by Steve.Robb
Static analysis fix:
warning C6385: Reading invalid data from 'this->Packages': the readable size is '24' bytes, but '32' bytes may be read.
warning C6385: Reading invalid data from 'Diff.ObjectSets': the readable size is '24' bytes, but '32' bytes may be read.
warning C6386: Buffer overrun while writing to 'Objects': the writable size is '24' bytes, but '32' bytes might be written.
Change 3099912 on 2016/08/24 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'SharedBaseClass'.
Change 3099923 on 2016/08/24 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ThumbnailInfo'.
Change 3100977 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory '*VectorRef'.
warning C6001: Using uninitialized memory '*PointRef'.
warning C6001: Using uninitialized memory '*PolyRef'.
Coding standard fixes.
Change 3100985 on 2016/08/25 by Steve.Robb
Static analyis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3100987 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C28183: 'Resources.BitmapHandle' could be '0', and is a copy of the value found in 'CreateDIBSection()`829': this does not adhere to the specification for the function 'SelectObject'.
warning C6387: '_Param_(4)' could be '0': this does not adhere to the specification for the function 'CreateDIBSection'.
Change 3100992 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3101000 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6001: Using uninitialized memory 'tmpMemReq'.
warning C6001: Using uninitialized memory 'TmpCreateInfo'.
Change 3101004 on 2016/08/25 by Steve.Robb
warning C28182: Dereferencing NULL pointer. 'FoliageActor' contains the same NULL value as 'Actor' did.
Change 3101009 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StaticMeshComponent'.
Change 3101115 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Canvas'.
Change 3101120 on 2016/08/25 by Steve.Robb
Fixes to previous fixes.
Change 3101128 on 2016/08/25 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'Stream'.
Change 3101281 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6262: Function uses '99256' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6001: Using uninitialized memory 'Pixel'.
Change 3101292 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'BulkDataPointer'.
Change 3101299 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UnrealMaterial'.
Change 3101300 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'AssetObject'.
Change 3101304 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'MeshRootNode'.
Change 3101311 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Cluster'.
Change 3101323 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'StartNode'.
Change 3101329 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Object'.
Change 3101333 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ArrayRef'.
Change 3101339 on 2016/08/25 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ImportData'.
warning C6011: Dereferencing NULL pointer 'CurveToImport'.
Change 3101485 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'ObjectProperty'.
Change 3101583 on 2016/08/25 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'UserDefinedStruct'.
Change 3105721 on 2016/08/30 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SpawnClassPin'.
Change 3105724 on 2016/08/30 by Steven.Hutton
Change users page to more responsive paginated version.
Change 3105725 on 2016/08/30 by Steven.Hutton
Added field for crash processor failed
Change 3105786 on 2016/08/30 by Steve.Robb
Reintroduced missing operator<< for enum classes.
Change 3105803 on 2016/08/30 by Steve.Robb
Removal of obsolete code and state. PrepareCppStructOps() has several unreachable blocks, one of which sets UScriptStruct::bCppStructOpsFromBaseClass which is otherwise never true, so it can be removed too.
Change 3106251 on 2016/08/30 by Steve.Robb
Switch static analysis node to build editor instead of just the engine.
Change 3107556 on 2016/08/31 by Steven.Hutton
Added build version data from CRP to DB as part of add crash #rb none
Change 3107557 on 2016/08/31 by Steven.Hutton
Passed build version data to CRW through crash description #rb none
Change 3107634 on 2016/08/31 by Graeme.Thornton
Only accept "log=<filename>" and "abslog=<filename>" command line values if the filename has a "log" or "txt" extension
#jira UE-20147
Change 3107797 on 2016/08/31 by Steve.Robb
Fix for UHT debugging manifest, after paths changed in CL# 3088416.
Change 3107964 on 2016/08/31 by Steve.Robb
TCString::Strfind renamed to TCString::Strifind, as it is case-insensitive.
New case-sensitive TCString::Strfind added, based on GitHub PR #2453.
Change 3108023 on 2016/08/31 by Steve.Robb
Removal of test code which no longer compiles now that we emit errors on skipped preprocessor blocks.
Change 3108160 on 2016/08/31 by Steven.Hutton
Update to add new filter to website front page #rb none
Change 3109556 on 2016/09/01 by Steven.Hutton
Fixing compile warning #rb none
Change 3110001 on 2016/09/01 by Steve.Robb
PR #2468: Fix for UnrealHeaderTool TArray<TScriptInterface<>> UFUNCTION parameters (Contributed by UnrealEverything)
Change 3111835 on 2016/09/02 by Steve.Robb
Enforce uint8 on UENUM() enum classes.
#jira UE-35224
Change 3111867 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.
Change 3111880 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'Views': the writable size is 'ShaderBindings.ResourceViews.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11ShaderResourceView> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
warning C6386: Buffer overrun while writing to 'ConstantBuffers': the writable size is 'ShaderBindings.ConstantBuffers.public: int __cdecl TArray<class TSlateD3DTypedShaderParameter<struct ID3D11Buffer> *,class FDefaultAllocator>::Num(void)const ()*8' bytes, but '16' bytes might be written.
Change 3111886 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'DistortionMeshIndices': the writable size is 'NumIndices*2' bytes, but '4' bytes might be written.
Change 3112025 on 2016/09/02 by Steve.Robb
Static analysis fix:
warning C6011: Dereferencing NULL pointer 'pInputProcessParameters'.
warning C6011: Dereferencing NULL pointer 'pOutputProcessParameters'.
Change 3112051 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Command'.
Change 3112066 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
Change 3112093 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'byteArray'.
Change 3112110 on 2016/09/02 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'PersistentParty'.
Change 3112123 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'CurDriver'.
warning C6011: Dereferencing NULL pointer 'CurNetDriver'.
warning C6011: Dereferencing NULL pointer 'CurWorld'.
Change 3112157 on 2016/09/02 by Steve.Robb
Static analysis fixes: warning C6011: Dereferencing NULL pointer 'UnitTest'.
Change 3112283 on 2016/09/02 by Steve.Robb
Static analysis fixes:
warning C6244: Local declaration of 'None' hides previous declaration at line '173' of 'netcodeunittest.h'.
Change 3113455 on 2016/09/05 by Chris.Wood
CRP performance improvements (v1.1.25)
Change 3113468 on 2016/09/05 by Steve.Robb
Reverting unnecessary merge in CL# 3112464.
Change 3113508 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6031: Return value ignored: 'CoCreateGuid'.
Change 3113588 on 2016/09/05 by Steve.Robb
Static analysis fix: warning C6244: Local declaration of 'hInstance' hides previous declaration
Change 3113863 on 2016/09/06 by Steve.Robb
Fix for this error:
Could not find a part of the path 'D:\Build\++UE4+Dev-Core+Compile\Sync\Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor.modules'.
Change 3113864 on 2016/09/06 by Steve.Robb
Misc static analysis fixes for VS2015 Update 2.
Change 3113918 on 2016/09/06 by Ben.Marsh
Explicitly check for version manifest existing before trying to delete it, rather than swallowing the exception.
Change 3114293 on 2016/09/06 by Steve.Robb
Static analysis fixes for Visual Studio Update 2.
Change 3115732 on 2016/09/07 by Steve.Robb
Static analysis fix: warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
Change 3115754 on 2016/09/07 by Steve.Robb
GObjectArrayForDebugVisualizers init order fix.
Removal of obsolete FName visualizer helper code.
Change 3115774 on 2016/09/07 by Steve.Robb
Fix for ICE by moving static variables into their own file and removing const return types.
#jira UE-35597
Change 3116061 on 2016/09/07 by Steve.Robb
Redundant LOCTEXT_NAMESPACE removed - was missed in CL# 3115774.
Change 3117478 on 2016/09/08 by Steve.Robb
Static analysis fixes in third party code, using a new macro-based system.
Change 3119152 on 2016/09/09 by Steve.Robb
TArray::RemoveAt and RemoveAtSwap with a bool Count is now a compile error.
Change 3119200 on 2016/09/09 by Steve.Robb
Fix for destructors not being called in TSparseArray move assignment.
Change 3119568 on 2016/09/09 by Steve.Robb
Fix for TSparseArray visualizer.
Change 3119591 on 2016/09/09 by Steve.Robb
New MakeShared function which allocates the object and reference controller in a single block.
Change 3120281 on 2016/09/09 by Steve.Robb
Fix for ICE on static analysis build.
#jira UE-35596
Change 3120786 on 2016/09/12 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'SavedGame'.
Change 3120787 on 2016/09/12 by Steve.Robb
Removal of TEnumAsByte on enum classes.
Change 3120789 on 2016/09/12 by Steve.Robb
Static analysis fixes:
warning C6385: Reading invalid data from 'D3D11X_CERAM_OFFSET_BY_SET_STAGE': the readable size is '28' bytes, but '64' bytes may be read.
warning C6101: Returning uninitialized memory '*pDescriptorDst'. A successful path through the function does not set the named _Out_ parameter.
Change 3121234 on 2016/09/12 by Steve.Robb
Unused ToBuildInfoString function declaration removed.
Change 3122616 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Compiler'.
Change 3123070 on 2016/09/13 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'top' contains the same NULL value as 'edge' did.
[CL 3126145 by Robert Manuszewski in Main branch]
2016-09-15 00:21:42 -04:00
check ( MaterialNode - > MaterialExpression ) ;
2014-03-14 14:13:41 -04:00
bUpdatedErrorState = true ;
MaterialNode - > bHasCompilerMessage = true ;
MaterialNode - > ErrorMsg = MaterialNode - > MaterialExpression - > LastErrorText ;
MaterialNode - > ErrorType = EMessageSeverity : : Error ;
}
else if ( ! MaterialNode - > bIsErrorExpression & & MaterialNode - > bHasCompilerMessage )
{
bUpdatedErrorState = true ;
MaterialNode - > bHasCompilerMessage = false ;
}
}
}
if ( bUpdatedErrorState )
{
// Rebuild the SGraphNodes to display/hide error block
GraphEditor - > NotifyGraphChanged ( ) ;
}
}
void FMaterialEditor : : AddReferencedObjects ( FReferenceCollector & Collector )
{
Collector . AddReferencedObject ( EditorOptions ) ;
Collector . AddReferencedObject ( Material ) ;
Collector . AddReferencedObject ( OriginalMaterial ) ;
Collector . AddReferencedObject ( MaterialFunction ) ;
Collector . AddReferencedObject ( ExpressionPreviewMaterial ) ;
2014-04-23 20:20:58 -04:00
Collector . AddReferencedObject ( EmptyMaterial ) ;
2014-03-14 14:13:41 -04:00
}
void FMaterialEditor : : BindCommands ( )
{
const FMaterialEditorCommands & Commands = FMaterialEditorCommands : : Get ( ) ;
ToolkitCommands - > MapAction (
Commands . Apply ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnApply ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnApplyEnabled ) ) ;
ToolkitCommands - > MapAction (
FEditorViewportCommands : : Get ( ) . ToggleRealTime ,
2015-06-22 15:55:50 -04:00
FExecuteAction : : CreateSP ( PreviewViewport . ToSharedRef ( ) , & SMaterialEditor3DPreviewViewport : : OnToggleRealtime ) ,
2014-03-14 14:13:41 -04:00
FCanExecuteAction ( ) ,
2015-06-22 15:55:50 -04:00
FIsActionChecked : : CreateSP ( PreviewViewport . ToSharedRef ( ) , & SMaterialEditor3DPreviewViewport : : IsRealtime ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
FGenericCommands : : Get ( ) . Undo ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : UndoGraphAction ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
FGenericCommands : : Get ( ) . Redo ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : RedoGraphAction ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . CameraHome ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnCameraHome ) ,
FCanExecuteAction ( ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . CleanUnusedExpressions ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : CleanUnusedExpressions ) ,
FCanExecuteAction ( ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ShowHideConnectors ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnShowConnectors ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateSP ( this , & FMaterialEditor : : IsOnShowConnectorsChecked ) ) ;
2014-03-14 14:13:41 -04:00
2014-07-03 09:13:33 -04:00
ToolkitCommands - > MapAction (
Commands . ToggleLivePreview ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : ToggleLivePreview ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateSP ( this , & FMaterialEditor : : IsToggleLivePreviewChecked ) ) ;
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ToggleRealtimeExpressions ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : ToggleRealTimeExpressions ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateSP ( this , & FMaterialEditor : : IsToggleRealTimeExpressionsChecked ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . AlwaysRefreshAllPreviews ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnAlwaysRefreshAllPreviews ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateSP ( this , & FMaterialEditor : : IsOnAlwaysRefreshAllPreviews ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ToggleMaterialStats ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : ToggleStats ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateSP ( this , & FMaterialEditor : : IsToggleStatsChecked ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ToggleMobileStats ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : ToggleMobileStats ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateSP ( this , & FMaterialEditor : : IsToggleMobileStatsChecked ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . UseCurrentTexture ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnUseCurrentTexture ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ConvertObjects ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertObjects ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ConvertToTextureObjects ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertTextures ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ConvertToTextureSamples ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertTextures ) ) ;
2014-03-14 14:13:41 -04:00
2014-10-23 21:38:06 -04:00
ToolkitCommands - > MapAction (
Commands . ConvertToConstant ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertObjects ) ) ;
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . StopPreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnPreviewNode ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . StartPreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnPreviewNode ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . EnableRealtimePreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnToggleRealtimePreview ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . DisableRealtimePreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnToggleRealtimePreview ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . SelectDownstreamNodes ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnSelectDownsteamNodes ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . SelectUpstreamNodes ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnSelectUpsteamNodes ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . RemoveFromFavorites ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : RemoveSelectedExpressionFromFavorites ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . AddToFavorites ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : AddSelectedExpressionToFavorites ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
ToolkitCommands - > MapAction (
Commands . ForceRefreshPreviews ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnForceRefreshPreviews ) ) ;
ToolkitCommands - > MapAction (
Commands . FindInMaterial ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnFindInMaterial ) ) ;
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : OnApply ( )
{
UE_LOG ( LogMaterialEditor , Log , TEXT ( " Applying material %s " ) , * GetEditingObjects ( ) [ 0 ] - > GetName ( ) ) ;
UpdateOriginalMaterial ( ) ;
}
bool FMaterialEditor : : OnApplyEnabled ( ) const
{
return bMaterialDirty = = true ;
}
void FMaterialEditor : : OnCameraHome ( )
{
RecenterEditor ( ) ;
}
void FMaterialEditor : : OnShowConnectors ( )
{
bHideUnusedConnectors = ! bHideUnusedConnectors ;
GraphEditor - > SetPinVisibility ( bHideUnusedConnectors ? SGraphEditor : : Pin_HideNoConnection : SGraphEditor : : Pin_Show ) ;
}
bool FMaterialEditor : : IsOnShowConnectorsChecked ( ) const
{
return bHideUnusedConnectors = = false ;
}
2014-07-03 09:13:33 -04:00
void FMaterialEditor : : ToggleLivePreview ( )
{
bLivePreview = ! bLivePreview ;
if ( bLivePreview )
{
UpdatePreviewMaterial ( ) ;
2014-07-08 10:58:56 -04:00
RegenerateCodeView ( ) ;
2014-07-03 09:13:33 -04:00
}
}
bool FMaterialEditor : : IsToggleLivePreviewChecked ( ) const
{
return bLivePreview ;
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : ToggleRealTimeExpressions ( )
{
bIsRealtime = ! bIsRealtime ;
}
bool FMaterialEditor : : IsToggleRealTimeExpressionsChecked ( ) const
{
return bIsRealtime = = true ;
}
void FMaterialEditor : : OnAlwaysRefreshAllPreviews ( )
{
bAlwaysRefreshAllPreviews = ! bAlwaysRefreshAllPreviews ;
if ( bAlwaysRefreshAllPreviews )
{
RefreshExpressionPreviews ( ) ;
}
}
bool FMaterialEditor : : IsOnAlwaysRefreshAllPreviews ( ) const
{
return bAlwaysRefreshAllPreviews = = true ;
}
void FMaterialEditor : : ToggleStats ( )
{
// Toggle the showing of material stats each time the user presses the show stats button
bShowStats = ! bShowStats ;
UpdateMaterialInfoList ( bShowStats ) ;
}
bool FMaterialEditor : : IsToggleStatsChecked ( ) const
{
return bShowStats = = true ;
}
void FMaterialEditor : : ToggleMobileStats ( )
{
// Toggle the showing of material stats each time the user presses the show stats button
bShowMobileStats = ! bShowMobileStats ;
UPreviewMaterial * PreviewMaterial = Cast < UPreviewMaterial > ( Material ) ;
if ( PreviewMaterial )
{
{
// Sync with the rendering thread but don't reregister components. We will manually do so.
FMaterialUpdateContext UpdateContext ( FMaterialUpdateContext : : EOptions : : SyncWithRenderingThread ) ;
UpdateContext . AddMaterial ( PreviewMaterial ) ;
PreviewMaterial - > SetFeatureLevelToCompile ( ERHIFeatureLevel : : ES2 , bShowMobileStats ) ;
PreviewMaterial - > ForceRecompileForRendering ( ) ;
if ( ! bStatsFromPreviewMaterial )
{
OriginalMaterial - > SetFeatureLevelToCompile ( ERHIFeatureLevel : : ES2 , bShowMobileStats ) ;
OriginalMaterial - > ForceRecompileForRendering ( ) ;
}
}
2014-04-23 20:20:58 -04:00
UpdateStatsMaterials ( ) ;
2014-03-14 14:13:41 -04:00
RefreshPreviewViewport ( ) ;
}
UpdateMaterialInfoList ( bShowMobileStats ) ;
}
bool FMaterialEditor : : IsToggleMobileStatsChecked ( ) const
{
return bShowMobileStats = = true ;
}
void FMaterialEditor : : OnUseCurrentTexture ( )
{
// Set the currently selected texture in the generic browser
// as the texture to use in all selected texture sample expressions.
FEditorDelegates : : LoadSelectedAssetsIfNeeded . Broadcast ( ) ;
UTexture * SelectedTexture = GEditor - > GetSelectedObjects ( ) - > GetTop < UTexture > ( ) ;
if ( SelectedTexture )
{
const FScopedTransaction Transaction ( NSLOCTEXT ( " UnrealEd " , " UseCurrentTexture " , " Use Current Texture " ) ) ;
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( GraphNode & & GraphNode - > MaterialExpression - > IsA ( UMaterialExpressionTextureBase : : StaticClass ( ) ) )
{
UMaterialExpressionTextureBase * TextureBase = static_cast < UMaterialExpressionTextureBase * > ( GraphNode - > MaterialExpression ) ;
TextureBase - > Modify ( ) ;
TextureBase - > Texture = SelectedTexture ;
TextureBase - > AutoSetSampleType ( ) ;
}
}
// Update the current preview material.
UpdatePreviewMaterial ( ) ;
Material - > MarkPackageDirty ( ) ;
RegenerateCodeView ( ) ;
RefreshExpressionPreviews ( ) ;
SetMaterialDirty ( ) ;
}
}
void FMaterialEditor : : OnConvertObjects ( )
{
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
if ( SelectedNodes . Num ( ) > 0 )
{
2014-10-23 21:38:06 -04:00
const FScopedTransaction Transaction ( LOCTEXT ( " MaterialEditorConvert " , " Material Editor: Convert " ) ) ;
2014-03-14 14:13:41 -04:00
Material - > Modify ( ) ;
Material - > MaterialGraph - > Modify ( ) ;
TArray < class UEdGraphNode * > NodesToDelete ;
TArray < class UEdGraphNode * > NodesToSelect ;
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( GraphNode )
{
// Look for the supported classes to convert from
UMaterialExpression * CurrentSelectedExpression = GraphNode - > MaterialExpression ;
UMaterialExpressionConstant * Constant1Expression = Cast < UMaterialExpressionConstant > ( CurrentSelectedExpression ) ;
UMaterialExpressionConstant2Vector * Constant2Expression = Cast < UMaterialExpressionConstant2Vector > ( CurrentSelectedExpression ) ;
UMaterialExpressionConstant3Vector * Constant3Expression = Cast < UMaterialExpressionConstant3Vector > ( CurrentSelectedExpression ) ;
UMaterialExpressionConstant4Vector * Constant4Expression = Cast < UMaterialExpressionConstant4Vector > ( CurrentSelectedExpression ) ;
UMaterialExpressionTextureSample * TextureSampleExpression = Cast < UMaterialExpressionTextureSample > ( CurrentSelectedExpression ) ;
UMaterialExpressionComponentMask * ComponentMaskExpression = Cast < UMaterialExpressionComponentMask > ( CurrentSelectedExpression ) ;
UMaterialExpressionParticleSubUV * ParticleSubUVExpression = Cast < UMaterialExpressionParticleSubUV > ( CurrentSelectedExpression ) ;
2014-10-23 21:38:06 -04:00
UMaterialExpressionScalarParameter * ScalarParameterExpression = Cast < UMaterialExpressionScalarParameter > ( CurrentSelectedExpression ) ;
UMaterialExpressionVectorParameter * VectorParameterExpression = Cast < UMaterialExpressionVectorParameter > ( CurrentSelectedExpression ) ;
2014-03-14 14:13:41 -04:00
// Setup the class to convert to
UClass * ClassToCreate = NULL ;
if ( Constant1Expression )
{
ClassToCreate = UMaterialExpressionScalarParameter : : StaticClass ( ) ;
}
else if ( Constant2Expression | | Constant3Expression | | Constant4Expression )
{
ClassToCreate = UMaterialExpressionVectorParameter : : StaticClass ( ) ;
}
else if ( ParticleSubUVExpression ) // Has to come before the TextureSample comparison...
{
ClassToCreate = UMaterialExpressionTextureSampleParameterSubUV : : StaticClass ( ) ;
}
else if ( TextureSampleExpression & & TextureSampleExpression - > Texture & & TextureSampleExpression - > Texture - > IsA ( UTextureCube : : StaticClass ( ) ) )
{
ClassToCreate = UMaterialExpressionTextureSampleParameterCube : : StaticClass ( ) ;
}
else if ( TextureSampleExpression )
{
ClassToCreate = UMaterialExpressionTextureSampleParameter2D : : StaticClass ( ) ;
}
else if ( ComponentMaskExpression )
{
ClassToCreate = UMaterialExpressionStaticComponentMaskParameter : : StaticClass ( ) ;
}
2014-10-23 21:38:06 -04:00
else if ( ScalarParameterExpression )
{
ClassToCreate = UMaterialExpressionConstant : : StaticClass ( ) ;
}
else if ( VectorParameterExpression )
{
2014-10-27 20:13:48 -04:00
// Technically should be a constant 4 but UMaterialExpressionVectorParameter has an rgb pin, so using Constant3 to avoid a compile error
ClassToCreate = UMaterialExpressionConstant3Vector : : StaticClass ( ) ;
2014-10-23 21:38:06 -04:00
}
2014-03-14 14:13:41 -04:00
if ( ClassToCreate )
{
UMaterialExpression * NewExpression = CreateNewMaterialExpression ( ClassToCreate , FVector2D ( GraphNode - > NodePosX , GraphNode - > NodePosY ) , false , true ) ;
if ( NewExpression )
{
UMaterialGraphNode * NewGraphNode = CastChecked < UMaterialGraphNode > ( NewExpression - > GraphNode ) ;
NewGraphNode - > ReplaceNode ( GraphNode ) ;
bool bNeedsRefresh = false ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3082391)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3051464 on 2016/07/15 by Nick.Darnell
Regression Testing - Several upgrades to the functional testing system, better tracking of failure cases, some source line failure detection, trying to make it easier to run a specific test on a map. Some UI improvements, easier access to the automation system. Lots more refactoring to come, lots of improvements are still needed in transmitting screenshots and just generally building a automation report we could dump from the build machines.
Change 3051465 on 2016/07/15 by Nick.Darnell
Adding the "Engine Test" project our one stop shope for running automation tests in the engine to try and reduce regressions.
Change 3051847 on 2016/07/15 by Matt.Kuhlenschmidt
Fixed material editor viewport messages being blocked by viewport toolbar
Change 3052025 on 2016/07/15 by Nick.Darnell
Moving the placement mode hooks out of functional testing module, moving them into the editor automation module.
Change 3053508 on 2016/07/18 by Stephan.Jiang
Copy,Cut,Paste tracks, not for mastertracks yet.
#UE-31808
Change 3054723 on 2016/07/18 by Stephan.Jiang
Small fixes for typo & comments
Change 3055996 on 2016/07/19 by Trung.Le
PIE: No longer auto resume game in PIE on focus received
Change 3056106 on 2016/07/19 by Trung.Le
Back out changelist 3055996. Build break.
Change 3056108 on 2016/07/19 by Stephan.Jiang
Updating "SoundConcurrency" asseticon
Change 3056389 on 2016/07/19 by Trung.Le
PIE: No longer auto resume game in PIE on focus received
#jira UE-33339
Change 3056396 on 2016/07/19 by Matt.Kuhlenschmidt
More perf selection improvements:
- Static meshes now go through the static draw path when rendered for selection outline instead of just rendering using the dynamic path
Change 3056758 on 2016/07/19 by Stephan.Jiang
Update SelectedWidgets in WidgetblueprintEditor to match the selected tracks in sequencer.
Change 3057519 on 2016/07/20 by Matt.Kuhlenschmidt
Another fix for selecting lots of objects taking forever. This one is due to repeated Modify calls if there are groups in the selection. Each group actor selected iterates through each object selected during USelection::Modify!
Change 3057635 on 2016/07/20 by Stephan.Jiang
Updating visual logger icon UI
Change 3057645 on 2016/07/20 by Richard.TalbotWatkin
Fixed single player PIE so the window position is correctly fetched and saved, even when running a dedicated server. This does not interfere with stored positions for multiple PIE, which uses ULevelEditorPlaySettings::MultipleInstancePositions.
#jira UE-33416 - New Editor PIE window does not center to screen when running with a dedicated server
Change 3057868 on 2016/07/20 by Richard.TalbotWatkin
Spline component improvements, both tools and runtime:
- SplineComponentVisualizer now works within the Blueprint editor. This works via a generic extension added to the base ComponentVisualizer class which correctly propagates modified properties from the preview actor to the archetype, and then on to any instances whose properties are at the default value.
- The above feature required a breaking change to USplineComponent - namely, the three FInterpCurve properties have been collected together into a struct and added as a single property. This is so that changes to the length of one of the FInterpCurves marks all three as dirty and needing rebuilding.
- Added a custom version for SplineComponent and provded serialization fixes.
- Added a details customization to SplineComponent to hide the raw FInterpCurve properties.
- Added a custom detail builder category which polls the SplineComponentVisualizer each tick and provides numerical editing for spline points which are selected in the visualizer.
- Relaxed the limitation that SplineComponent keys need to have an increment of 1.0. Now any SplineComponent key can be set. The details customization enforces that the sequence remains strictly ascending.
- Allowed an explicit loop point to be specified for closed splines.
- Allowed discontinuous splines by no longer forcing the ArriveTangent and LeaveTangent to be equal.
- Added some new Blueprintable methods for building splines with an FSplinePoint struct, which allows all of a spline point's properties to be specified, and added to the FInterpCurves sorted by the input key.
- Fixed the logic which determines whether the UCS has modified the spline curves.
- Added UActorComponent::RemoveUCSModifiedProperties, which allows a component to remove any properties from the cached list which it doesn't want to be considered as 'modified'. This is used to distinguish the case of properties preserved by the SplineInstanceDataCache from those genuinely modified by the UCS.
- Fixed "Apply Instance Changes to Blueprint" so that edited spline data can be applied to the archetype.
- Fixed some issues with the spline component visualizer to make it generate appropriate up vectors if scale and rotation are enabled.
#jira UETOOL-766 - Spline tool improvements
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
#jira UE-9062 - Spline editing: It would be nice to be able to type in a specific value for a point
#jira UE-7476 - Add ability to edit SplineComponent in BP editor (not just instance in level)
#jira UE-13082 - Users would like a snapping feature for splines
#jira UE-13568 - Additional Spline Component Functionality
#jira UE-17822 - It would be useful to be able to update a bp spline layout from the editor viewport.
Change 3057895 on 2016/07/20 by Richard.TalbotWatkin
Mesh paint bugfixes and improvements.
Changes to RerunConstructionScript so that OnObjectsReplaced is called correctly on all components, whether they have been created by the SCS or the UCS. Previously, components created by the UCS were not being handled, and components created by the SCS were not always being matched. Now a serialized index is maintained for UCS-created objects, which is matched after the construction scripts have been executed.
This will fix issues with the mesh paint tool, and any other editor tool which hooks into the OnObjectsReplaced callback in order to update its internal cache of component pointers, for example, the component visualizer render list.
#jira UE-33010 - Crash changing mesh paint material in blueprint, then changing to a different mode tab
#jira UE-32279 - Editor crashes when reselecting a mesh in paint mode
#jira UE-31763 - [CrashReport] UE4Editor_MeshPaint!FMulticastDelegateBase<FWeakObjectPtr>::RemoveAll() [multicastdelegatebase.h:75]
#jira UE-30661 - Vertex Painting changes collision complexity if the asset is saved while vertex painting
Change 3057966 on 2016/07/20 by Richard.TalbotWatkin
Renamed IsEditingArchetype to IsVisualizingArchetype in the ComponentVisualizer API.
#jira UE-33049 - Transform widget visible in blueprint viewport when editing spline points in editor viewport
Change 3058009 on 2016/07/20 by Richard.TalbotWatkin
Fixed build failure due to changes to FComponentVisualizer API, as of CL 3057868.
Change 3058047 on 2016/07/20 by Stephan.Jiang
Fixing error on previous CL: 3056758
(extra qualification)
Change 3058266 on 2016/07/20 by Nick.Darnell
Automation - Work continues on automation integrating some ideas form a licensee. Continuing to work on the usability aspects, I've made it possible for tests to provide custom open commands, as well as have complex subclasses that do different things. The functional tests now have a custom open command they emit that makes it so clicking on a test opens not the C++ location where the functional test macro lives, but instead the map, AND focuses the functional test actor.
Change 3058282 on 2016/07/20 by Matt.Kuhlenschmidt
PR #2611: Fix spurious component diff when properties are in subcategories (Contributed by CA-ADuran)
Change 3059214 on 2016/07/21 by Richard.TalbotWatkin
Further fixes to visualizers following Component Visualizer API change.
Change 3059260 on 2016/07/21 by Richard.TalbotWatkin
Template specialization not allowed in class scope, but Visual Studio allows it anyway. Fixed for clang.
Change 3059543 on 2016/07/21 by Stephan.Jiang
Changeing level details icon
Change 3059732 on 2016/07/21 by Stephan.Jiang
Directional Light icon update
Change 3060095 on 2016/07/21 by Stephan.Jiang
Directional Light editor icon asset changed
Change 3060129 on 2016/07/21 by Nick.Darnell
Automation - The session browser now attempts to select the app instance if no other thing is selected when it refreshes. This is to try and make it easier to use when you first bring it up and nothing is selected when most of the time you're going to use it on your own instance.
Change 3061735 on 2016/07/22 by Stephan.Jiang
Improve UMG replace with in HierarchyView function
#UE-33582
Change 3062059 on 2016/07/22 by Stephan.Jiang
Strip off "b" in propertyname in replace with function for tracks.
Change 3062146 on 2016/07/22 by Stephan.Jiang
checkin with CL: 3061735
Change 3062182 on 2016/07/22 by Stephan.Jiang
Change both animation bindings' widget name when renameing the widget so the slot content is still valid
Change 3062257 on 2016/07/22 by Stephan.Jiang
comments
Change 3062381 on 2016/07/22 by Nick.Darnell
Build - Adding #undef LOCTEXT_NAMESPACE to try and fix the build.
Change 3062924 on 2016/07/25 by Chris.Wood
Fix a crash in CrashReportClient that happens when the CrashReportReceiver is not responding to pings and there are no PendingReportDirectories.
This is a change in the UE4 stream depot based on a fix in the Fortnite stream depot -> JIRA FORT-27570
Change 3063017 on 2016/07/25 by Matt.Kuhlenschmidt
PR #2618: DebuggerCommand not recording PlayLocationString (Contributed by ungalyant)
Change 3063021 on 2016/07/25 by Matt.Kuhlenschmidt
PR #2619: added a search box to ModuleUI (Contributed by straymist)
Change 3063084 on 2016/07/25 by Matt.Kuhlenschmidt
Fix "YesToAll" when deleting referenced actors overriding the "YesToAll" state for other referenced messages.
https://jira.ol.epicgames.net/browse/UE-33651
#jira UE-33651
Change 3063091 on 2016/07/25 by Alex.Delesky
#jira UE-32949 - Truncating the hue inside the theme color block tooltip to only display whole numbers, to match how the color picker displays the hue value inside the hue scrubber.
Change 3063388 on 2016/07/25 by Matt.Kuhlenschmidt
Selection Perf:
- Fix large FName creation time when selecting thousands of objects
Change 3063568 on 2016/07/25 by Matt.Kuhlenschmidt
Selection Perf:
- Modified how USelection stores classes. Classes are now in a TSet and can be accessed efficiently using IsClassSelected. The old unused way of checking if a selection has a class by iterating through them is deprecated
- USelection no longer directly checks if an item is already selected with a costly n^2 search. The check is done by using the already existing UObject selected annotation
- Object property nodes no longer perform an n^2 check for object uniqueness when objects are added to details panels. This is now left up to the caller to avoid
- Eliminated useless work on FObjectPropertyNode::GetReadAddressUncached. If a read address list is not passed in we'll not attempt to the work to populate it
- Removed expensive checking for brush actors when any actor is selected
Change 3063749 on 2016/07/25 by Stephan.Jiang
Disallow naming the widgetanimation to the same name with a override function in uuserwidget, because it will trigger a breakpoint in Rename()
#jira UE-33711
Change 3064585 on 2016/07/26 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3064612 on 2016/07/26 by Alex.Delesky
#jira UE-33712 - Deleting many assets at once will now batch SourceControl commands rather than executing one for each asset.
Change 3064647 on 2016/07/26 by Alexis.Matte
#jira UE-33274 dont hash the same file over and over when importing multiple asset from one fbx file.
Change 3064739 on 2016/07/26 by Matt.Kuhlenschmidt
Fixed typo
Change 3064795 on 2016/07/26 by Jamie.Dale
Fixed typo in FLocalizationModule::GetLocalizationTargetByName
#jira UE-32961
Change 3066461 on 2016/07/27 by Jamie.Dale
Enabled stable localization keys
Change 3066463 on 2016/07/27 by Jamie.Dale
Set "Build Engine Localization" to upload all cultures to ensure we don't lose translation due to the archive keying changes
Change 3066467 on 2016/07/27 by Jamie.Dale
Updated internationalization archives to store translations per-identity
This allows translators to translate each instance of a piece of text based upon their context, rather than requiring a content producer to go back and give the entry a unique namespace. It also allows us to optionally compile out-of-date translations, as they are now mapped to their source identity (namespace + key) rather than their source text.
Major changes:
- Added FLocTextHelper. This acts as a high-level API for uncompiled localized text, and replaces all the old ad-hoc loading/saving of manifests and archives, ensuring that everything is consistently using source control, and that older archives can be upgraded correctly to the new format. It also takes care of some of the quirks of our archives, such as native translations. All major localization commandlets have been updated to use FLocTextHelper.
- Moved FTextLocalizationResourceGenerator from Core to Internationalization. This also allows IJsonInternationalizationManifestSerializer and IJsonInternationalizationArchiveSerializer to be removed, and for FJsonInternationalizationManifestSerializer and FJsonInternationalizationArchiveSerializer to have all their functions become static.
- FTextLocalizationResourceGenerator being moved from Core meant that FTextLocalizationManager::LoadFromManifestAndArchives was also removed. This functionality is now handled by FTextLocalizationResourceGenerator::GenerateAndUpdateLiveEntriesFromConfig.
- The RepairLocalizationData commandlet has been removed. This existed to fix a change that pre-dated 4.0 so no such data should exist in the wild, and the commandlet couldn't be updated to work with the new API (we handle format upgrades in-place now).
- Removed FInternationalizationArchive::FindEntryBySource as it is no-longer safe to use. All existing code has been updated to use FInternationalizationArchive::FindEntryByKey instead.
Workflow changes:
- Archive conditioning now only adds new entries if they don't exist in the archive. This allows us to persist any existing translations, even if they're for old source text (caveat: native archives still update existing entries if the source is changed).
- PO export now sets the msgctx for each entry to be "namespace,key", rather than only doing it when the entry had key meta-data.
- PO import will now update both the source and translation stored in the archive to match the current PO data. This is the primary method by which stale source->translation pairs are updated.
- LocRes compilation may now optionally compile stale translations. There's an option controlling this (defaulted to off) that can be changed via the Localization Dashboard (or added to an existing config file).
Format changes:
- The archive version was bumped to 2.
- Archive entries now use the "Key" entry to store the key from the source text. Previously this "Key" entry was used to store the key meta-data, but that now exists within a "MetaData" sub-object. Loading handles this correctly based upon the archive version.
#jira UETOOL-897
#jira UETOOL-898
#jira UE-29481
Change 3066487 on 2016/07/27 by Matt.Kuhlenschmidt
Attempt to fix linux compilation
Change 3066504 on 2016/07/27 by Matt.Kuhlenschmidt
Fixed data tables with structs crashing due to recent editor selection optimizations
Change 3066886 on 2016/07/27 by Jamie.Dale
Added required data to accurately detect TZ (needed for DST)
#jira UE-28511
Change 3067122 on 2016/07/27 by Jamie.Dale
Added AsTime, AsDateTime, and AsDate overrides to BP to let you format a UTC time in a given timezone (default is the local timezone).
Previously you could only format times using the "invariant" timezone, which assumed that the time was already specified in the correct timezone for display.
Change 3067227 on 2016/07/27 by Jamie.Dale
Added a test to verify that the ICU timezone is set correctly to produce local time (including DST)
Change 3067313 on 2016/07/27 by Richard.TalbotWatkin
Fixed SplineComponent constructor so that old assets (prior to the property changes) load correctly if they had properties at default values.
#jira UE-33669 - Crash in Dev-Editor
Change 3067736 on 2016/07/27 by Stephan.Jiang
Border changes for experimental classes warning
Change 3067769 on 2016/07/27 by Stephan.Jiang
HERE BE DRAGONS
for experimental class warning
#UE-33780
Change 3068192 on 2016/07/28 by Alexis.Matte
#jira UE-33586 make sure we remove any false warning when running fbx automation test.
Change 3068264 on 2016/07/28 by Jamie.Dale
Removed some code that was no longer needed and could cause a crash
#jira UE-33342
Change 3068293 on 2016/07/28 by Alex.Delesky
#jira UE-33620 - Comments on constant and parameter nodes in the Material Editor will now persist when converting them.
Change 3068481 on 2016/07/28 by Stephan.Jiang
Adding Options to show/hide soft & hard references & dependencies in References Viewer
#jira UE-33746
Change 3068585 on 2016/07/28 by Richard.TalbotWatkin
Fix to Spline Mesh collision building so that geometry does not default to being auto-inflated in PhysX.
Change 3068701 on 2016/07/28 by Matt.Kuhlenschmidt
Fixed some issues with the selected classes not updating when objects are deselected
Change 3069335 on 2016/07/28 by Jamie.Dale
Fixed unintended error when trying to load a manifest/archive that didn't exist
Fixed a warning when trying to load a PO file that didn't exist
Change 3069408 on 2016/07/28 by Alex.Delesky
#jira UE-33429 - The editor should no longer hit an ensure if the user attempts to drop a tab into a tab well before the tab well has a chance to acknowledge its been dragged into a tab well.
Change 3069878 on 2016/07/29 by Jamie.Dale
Fixed include casing
#jira UE-33910
Change 3071807 on 2016/08/01 by Matt.Kuhlenschmidt
PR #2654: Fix the spell'ing of "diff'ing" and "diff'd". (Contributed by geary)
Change 3071813 on 2016/08/01 by Jamie.Dale
Fixed include casing
#jira UE-33936
Change 3072043 on 2016/08/01 by Jamie.Dale
Fixed FText formatting of pre-Gregorian dates
We now convert to an ICU UDate via an ICU GregorianCalendar, as UE4 and ICU have a different time scale for pre-Gregorian dates.
#jira UE-14504
Change 3072066 on 2016/08/01 by Jamie.Dale
PR #2590: FEATURE: Collapse/expand folders in the outliner (Contributed by projectgheist)
Change 3072149 on 2016/08/01 by Jamie.Dale
We no longer use the editor culture when running with -game
Change 3072169 on 2016/08/01 by Richard.TalbotWatkin
A couple of changes to the BSP code:
* Fixed longstanding issue where sometimes BSP geometry is not rebuilt correctly after editing it. This was due to poly normals not being recalculated after translating vertices in Geometry Mode.
* Fixed corruption to FPoly::iLink as it is overloaded to have two meanings: when building BSP, it represents the surface index of the next coplanar surface (and adding a new BSP node uses this to determine whether a new surface needs to be added or not). In other operations it represents an FPoly index, in general this is used more in editor geometry operations. This fixes various crashes which arose from rebuilding BSP resulting in invalid FPoly indices.
#jira UE-12157 - BSP brushes break when non-standard subtractive bsp brushes are used
#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume
Change 3072221 on 2016/08/01 by Jamie.Dale
Fixed "Launch On" not providing the correct cultures to StartCookByTheBookInEditor
#jira UE-33001
Change 3073389 on 2016/08/02 by Matt.Kuhlenschmidt
Added ability to vsync the editor. Disabled by default. Set r.VSyncEditor to 1 to enable it.
Reimplemented this change from the siggraph demo stream
Change 3073396 on 2016/08/02 by Matt.Kuhlenschmidt
Removed unused code as suggested by a pull request
Change 3073750 on 2016/08/02 by Richard.TalbotWatkin
Fixed formatting (broken in CL 3057895) in anticipation of merge from Main.
Change 3073789 on 2016/08/02 by Jamie.Dale
Added a way to mark text in text properties as culture invariant
This allows you to flag properties containing text that doesn't need to be gathered.
#jira UE-33713
Change 3073825 on 2016/08/02 by Stephan.Jiang
Material Editor: Highligh all Nodes connect to an input.
#jira UE-32502
Change 3073947 on 2016/08/02 by Stephan.Jiang
UMG Project settings to show/hide different classes and categories in Palette view.
--under Project Settings ->Editor->UMG Editor
Change 3074012 on 2016/08/02 by Stephan.Jiang
Minor changes and comments for CL: 3073947
Change 3074029 on 2016/08/02 by Jamie.Dale
Deleting folders in the Content Browser now removes the folder from disk
#jira UE-24303
Change 3074054 on 2016/08/02 by Matt.Kuhlenschmidt
Added missing stats to track pooled vertex and index buffer cpu memory
A new slate allocator was added to track memory usage for this case.
Change 3074056 on 2016/08/02 by Matt.Kuhlenschmidt
Renamed a few slate stats for consistency
Change 3074810 on 2016/08/02 by Matt.Kuhlenschmidt
Moved geometry cache asset type to the animation category. It is not a basic asset type
Change 3074826 on 2016/08/02 by Matt.Kuhlenschmidt
Fix a few padding and sizing issues
Change 3075322 on 2016/08/03 by Matt.Kuhlenschmidt
Settings UI improvements
* Added the ability to search through all settings at once
* Settings files which are not checked out are no longer grayed out. The editor now attempts to check out the file automatically if connected to source control and if that fails it marks the settings file writiable so it can save the setting properly
-------
* This change adds a refactor to the details panel to support multiple top level objects existing in the details panel at once instead of combining all passed in objects to a single common base class. This is disabled by default but can be turned on setting bAllowMultipleTopLevelObjects to true in FDetailsViewArgs when creating a details panel.
* Each top level object in a details panel will get their own customization instance. This made it necessary to deprecate a IDetailsView::GetBaseClass since there is no longer guaranteed to be one base class.
*Details panels can have their own customization for each "root object header" in order to customize the look of having multiple top level objects in the details panel.
Change 3075369 on 2016/08/03 by Matt.Kuhlenschmidt
Removed FBX scene as a top level option in asset filter menu in the content browser.
Change 3075556 on 2016/08/03 by Matt.Kuhlenschmidt
Mac warning fix
Change 3075603 on 2016/08/03 by Nick.Darnell
Adding two new plugins to engine, one for editor and one for runtime based testing. Currently the only consumer of these plugins is going to be the EngineTest project.
Change 3075605 on 2016/08/03 by Nick.Darnell
Functional Testing - Continued work on cleanup, reorganization, trying to improve the workflow for using the session browser.
Change 3076084 on 2016/08/03 by Jamie.Dale
Added basic support for localizing plugins
You can now localize plugins! There's no localization dashboard integration for this so it has to be done manually.
You need to define the localization targets your plugin uses in its .uplugin file, eg)
"LocalizationTargets": [
{
"Name": "Paper2D",
"LoadingPolicy": "Always"
}
]
"Name" should match a localization config under the Config/Localization folder for your plugin. These configs are set-up the same as any other localization config.
"LoadingPolicy" may be one of Never, Always, Editor, Game, PropertyNames, or ToolTips. This allows you to control under what conditions your localizations should be loaded (eg, if your plugin has both game and editor data, you can separate the editor data off into its own localization target that's only loaded by the editor).
UAT has been updated to support gathering from plugins. You can use the "IncludePlugins" flag to have it gather all plugins, or you can specify a whitelist of plugins to gather as an argument to "IncludePlugins", or alternatively, may blacklist certain plugins via "ExcludePlugins". It can now also support out-of-source gathering via the "UEProjectRoot" argument (previously it assumed that everything would be under the UE4 install/checkout directory).
UAT has been updated to support staging plugin LocRes files. It will stage any plugin targets that are enabled for a game/client build, and are also from a plugin that's enabled for your project.
#jira UE-4217
Change 3076123 on 2016/08/03 by Stephan.Jiang
Extend "Select all input nodes" function to general blueprint editor
Change 3077103 on 2016/08/04 by Jamie.Dale
Added support for underlined text rendering (including with drop-shadows)
FTextBlockStyle can now specify a brush to use to draw an underline for text (a suitable default would be "DefaultTextUnderline" from FCoreStyle). When a brush is specified here, we inject FSlateTextUnderlineLineHighlighter highlights into the text layout to draw the underline under the relevant pieces of text, using the correct color, position, and thickness.
FSlateFontCache::GetUnderlineMetrics and FSlateFontRenderer::GetUnderlineMetrics have been added to handle getting the underline metrics (which are slightly different to the baseline).
This change also adds FTextLayout::RemoveRunRenderer and FTextLayout::RemoveLineHighlight to fix some bad assumptions that FSlateEditableTextLayout and FTextBlockLayout were making about ownership of run renderers and line highlighters that could cause them to remove instances they didn't own (such as the new underline highlighter) when updating things like the cursor position or highlight.
Change 3077842 on 2016/08/04 by Jamie.Dale
Fixed fallout from API changes
Change 3077999 on 2016/08/04 by Jamie.Dale
Ensured that BULKDATA_SingleUse is only set by UFontBulkData::Serialize when loading
This prevents it being incorrectly set by other operations, such as counting memory used by font data.
#jira UE-34252
Change 3078000 on 2016/08/04 by Trung.Le
Categories VREditor-specific UMG widget assets as "VR Editor"
#jira UE-34134
Change 3078056 on 2016/08/04 by Nick.Darnell
Build - Fixing a mac compiler warning, reodering constructor initializers.
Change 3078813 on 2016/08/05 by Nick.Darnell
Reorganizing editor tests, establishing plugins in the EditorTest project that will house the tests.
Change 3078818 on 2016/08/05 by Nick.Darnell
Additional rename and cleanup associated with test moving.
Change 3078819 on 2016/08/05 by Nick.Darnell
Removing the Oculus performance automation test, not running, and was unclaimed.
Change 3078842 on 2016/08/05 by Nick.Darnell
Continued reorganizing tests.
Change 3078897 on 2016/08/05 by Nick.Darnell
Additional changes to get some moved tests compiling
Change 3079157 on 2016/08/05 by Nick.Darnell
Making it possible to browse provider names thorugh the source control module interface.
Change 3079176 on 2016/08/05 by Stephan.Jiang
Add shortcut Ctrl+Shift+Space to rotate through different viewport options
#jira UE-34140
Change 3079208 on 2016/08/05 by Stephan.Jiang
Fix new animation name check in UMG
Change 3079278 on 2016/08/05 by Nick.Darnell
Fixing the build
Change 3080555 on 2016/08/08 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3081155 on 2016/08/08 by Nick.Darnell
Fixing some issues with the editor tests / runtime tests under certain build configs.
Change 3081243 on 2016/08/08 by Stephan.Jiang
Add gesture in LevelViewport to switch between Top/Bottom...etc.
Change 3082226 on 2016/08/09 by Matt.Kuhlenschmidt
Work around animations not playing in paragon due to bsp rebuilds (UE-34391)
Change 3082254 on 2016/08/09 by Stephan.Jiang
DragTool_ViewportChange init changes
[CL 3082411 by Matt Kuhlenschmidt in Main branch]
2016-08-09 11:28:56 -04:00
// Copy over any common values
if ( GraphNode - > NodeComment . Len ( ) > 0 )
{
bNeedsRefresh = true ;
NewGraphNode - > NodeComment = GraphNode - > NodeComment ;
}
2014-03-14 14:13:41 -04:00
// Copy over expression-specific values
if ( Constant1Expression )
{
bNeedsRefresh = true ;
CastChecked < UMaterialExpressionScalarParameter > ( NewExpression ) - > DefaultValue = Constant1Expression - > R ;
}
else if ( Constant2Expression )
{
bNeedsRefresh = true ;
CastChecked < UMaterialExpressionVectorParameter > ( NewExpression ) - > DefaultValue = FLinearColor ( Constant2Expression - > R , Constant2Expression - > G , 0 ) ;
}
else if ( Constant3Expression )
{
bNeedsRefresh = true ;
CastChecked < UMaterialExpressionVectorParameter > ( NewExpression ) - > DefaultValue = Constant3Expression - > Constant ;
CastChecked < UMaterialExpressionVectorParameter > ( NewExpression ) - > DefaultValue . A = 1.0f ;
}
else if ( Constant4Expression )
{
bNeedsRefresh = true ;
CastChecked < UMaterialExpressionVectorParameter > ( NewExpression ) - > DefaultValue = Constant4Expression - > Constant ;
}
else if ( TextureSampleExpression )
{
bNeedsRefresh = true ;
UMaterialExpressionTextureSampleParameter * NewTextureExpr = CastChecked < UMaterialExpressionTextureSampleParameter > ( NewExpression ) ;
NewTextureExpr - > Texture = TextureSampleExpression - > Texture ;
NewTextureExpr - > Coordinates = TextureSampleExpression - > Coordinates ;
NewTextureExpr - > AutoSetSampleType ( ) ;
NewTextureExpr - > IsDefaultMeshpaintTexture = TextureSampleExpression - > IsDefaultMeshpaintTexture ;
NewTextureExpr - > TextureObject = TextureSampleExpression - > TextureObject ;
NewTextureExpr - > MipValue = TextureSampleExpression - > MipValue ;
2015-07-10 15:55:51 -04:00
NewTextureExpr - > CoordinatesDX = TextureSampleExpression - > CoordinatesDX ;
NewTextureExpr - > CoordinatesDY = TextureSampleExpression - > CoordinatesDY ;
2014-03-14 14:13:41 -04:00
NewTextureExpr - > MipValueMode = TextureSampleExpression - > MipValueMode ;
2015-05-28 09:07:21 -04:00
NewGraphNode - > ReconstructNode ( ) ;
2014-03-14 14:13:41 -04:00
}
else if ( ComponentMaskExpression )
{
bNeedsRefresh = true ;
UMaterialExpressionStaticComponentMaskParameter * ComponentMask = CastChecked < UMaterialExpressionStaticComponentMaskParameter > ( NewExpression ) ;
ComponentMask - > DefaultR = ComponentMaskExpression - > R ;
ComponentMask - > DefaultG = ComponentMaskExpression - > G ;
ComponentMask - > DefaultB = ComponentMaskExpression - > B ;
ComponentMask - > DefaultA = ComponentMaskExpression - > A ;
}
else if ( ParticleSubUVExpression )
{
bNeedsRefresh = true ;
CastChecked < UMaterialExpressionTextureSampleParameterSubUV > ( NewExpression ) - > Texture = ParticleSubUVExpression - > Texture ;
}
2014-10-23 21:38:06 -04:00
else if ( ScalarParameterExpression )
{
bNeedsRefresh = true ;
CastChecked < UMaterialExpressionConstant > ( NewExpression ) - > R = ScalarParameterExpression - > DefaultValue ;
}
else if ( VectorParameterExpression )
{
bNeedsRefresh = true ;
2014-10-28 12:23:01 -04:00
CastChecked < UMaterialExpressionConstant3Vector > ( NewExpression ) - > Constant = VectorParameterExpression - > DefaultValue ;
2014-10-23 21:38:06 -04:00
}
2014-03-14 14:13:41 -04:00
if ( bNeedsRefresh )
{
// Refresh the expression preview if we changed its properties after it was created
NewExpression - > bNeedToUpdatePreview = true ;
RefreshExpressionPreview ( NewExpression , true ) ;
}
NodesToDelete . AddUnique ( GraphNode ) ;
NodesToSelect . Add ( NewGraphNode ) ;
}
}
}
}
// Delete the replaced nodes
DeleteNodes ( NodesToDelete ) ;
// Select each of the newly converted expressions
for ( TArray < UEdGraphNode * > : : TConstIterator NodeIter ( NodesToSelect ) ; NodeIter ; + + NodeIter )
{
GraphEditor - > SetNodeSelection ( * NodeIter , true ) ;
}
}
}
void FMaterialEditor : : OnConvertTextures ( )
{
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
if ( SelectedNodes . Num ( ) > 0 )
{
const FScopedTransaction Transaction ( LOCTEXT ( " MaterialEditorConvertTexture " , " Material Editor: Convert to Texture " ) ) ;
Material - > Modify ( ) ;
Material - > MaterialGraph - > Modify ( ) ;
TArray < class UEdGraphNode * > NodesToDelete ;
TArray < class UEdGraphNode * > NodesToSelect ;
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( GraphNode )
{
// Look for the supported classes to convert from
UMaterialExpression * CurrentSelectedExpression = GraphNode - > MaterialExpression ;
UMaterialExpressionTextureSample * TextureSampleExpression = Cast < UMaterialExpressionTextureSample > ( CurrentSelectedExpression ) ;
UMaterialExpressionTextureObject * TextureObjectExpression = Cast < UMaterialExpressionTextureObject > ( CurrentSelectedExpression ) ;
// Setup the class to convert to
UClass * ClassToCreate = NULL ;
if ( TextureSampleExpression )
{
ClassToCreate = UMaterialExpressionTextureObject : : StaticClass ( ) ;
}
else if ( TextureObjectExpression )
{
ClassToCreate = UMaterialExpressionTextureSample : : StaticClass ( ) ;
}
if ( ClassToCreate )
{
UMaterialExpression * NewExpression = CreateNewMaterialExpression ( ClassToCreate , FVector2D ( GraphNode - > NodePosX , GraphNode - > NodePosY ) , false , true ) ;
if ( NewExpression )
{
UMaterialGraphNode * NewGraphNode = CastChecked < UMaterialGraphNode > ( NewExpression - > GraphNode ) ;
NewGraphNode - > ReplaceNode ( GraphNode ) ;
bool bNeedsRefresh = false ;
// Copy over expression-specific values
if ( TextureSampleExpression )
{
bNeedsRefresh = true ;
UMaterialExpressionTextureObject * NewTextureExpr = CastChecked < UMaterialExpressionTextureObject > ( NewExpression ) ;
NewTextureExpr - > Texture = TextureSampleExpression - > Texture ;
NewTextureExpr - > AutoSetSampleType ( ) ;
NewTextureExpr - > IsDefaultMeshpaintTexture = TextureSampleExpression - > IsDefaultMeshpaintTexture ;
}
else if ( TextureObjectExpression )
{
bNeedsRefresh = true ;
UMaterialExpressionTextureSample * NewTextureExpr = CastChecked < UMaterialExpressionTextureSample > ( NewExpression ) ;
NewTextureExpr - > Texture = TextureObjectExpression - > Texture ;
NewTextureExpr - > AutoSetSampleType ( ) ;
NewTextureExpr - > IsDefaultMeshpaintTexture = TextureObjectExpression - > IsDefaultMeshpaintTexture ;
NewTextureExpr - > MipValueMode = TMVM_None ;
}
if ( bNeedsRefresh )
{
// Refresh the expression preview if we changed its properties after it was created
NewExpression - > bNeedToUpdatePreview = true ;
RefreshExpressionPreview ( NewExpression , true ) ;
}
NodesToDelete . AddUnique ( GraphNode ) ;
NodesToSelect . Add ( NewGraphNode ) ;
}
}
}
}
// Delete the replaced nodes
DeleteNodes ( NodesToDelete ) ;
// Select each of the newly converted expressions
for ( TArray < UEdGraphNode * > : : TConstIterator NodeIter ( NodesToSelect ) ; NodeIter ; + + NodeIter )
{
GraphEditor - > SetNodeSelection ( * NodeIter , true ) ;
}
}
}
void FMaterialEditor : : OnPreviewNode ( )
{
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
if ( SelectedNodes . Num ( ) = = 1 )
{
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( GraphNode )
{
2016-02-01 14:57:29 -05:00
GraphEditor - > NotifyGraphChanged ( ) ;
2014-03-14 14:13:41 -04:00
SetPreviewExpression ( GraphNode - > MaterialExpression ) ;
}
}
}
}
void FMaterialEditor : : OnToggleRealtimePreview ( )
{
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
if ( SelectedNodes . Num ( ) = = 1 )
{
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( GraphNode )
{
UMaterialExpression * SelectedExpression = GraphNode - > MaterialExpression ;
SelectedExpression - > bRealtimePreview = ! SelectedExpression - > bRealtimePreview ;
if ( SelectedExpression - > bRealtimePreview )
{
SelectedExpression - > bCollapsed = false ;
}
RefreshExpressionPreviews ( ) ;
SetMaterialDirty ( ) ;
}
}
}
}
void FMaterialEditor : : OnSelectDownsteamNodes ( )
{
TArray < UMaterialGraphNode * > NodesToCheck ;
TArray < UMaterialGraphNode * > CheckedNodes ;
TArray < UMaterialGraphNode * > NodesToSelect ;
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( GraphNode )
{
NodesToCheck . Add ( GraphNode ) ;
}
}
while ( NodesToCheck . Num ( ) > 0 )
{
UMaterialGraphNode * CurrentNode = NodesToCheck . Last ( ) ;
TArray < UEdGraphPin * > OutputPins ;
CurrentNode - > GetOutputPins ( OutputPins ) ;
for ( int32 Index = 0 ; Index < OutputPins . Num ( ) ; + + Index )
{
for ( int32 LinkIndex = 0 ; LinkIndex < OutputPins [ Index ] - > LinkedTo . Num ( ) ; + + LinkIndex )
{
UMaterialGraphNode * LinkedNode = Cast < UMaterialGraphNode > ( OutputPins [ Index ] - > LinkedTo [ LinkIndex ] - > GetOwningNode ( ) ) ;
if ( LinkedNode )
{
int32 FoundIndex = - 1 ;
CheckedNodes . Find ( LinkedNode , FoundIndex ) ;
if ( FoundIndex < 0 )
{
NodesToSelect . Add ( LinkedNode ) ;
NodesToCheck . Add ( LinkedNode ) ;
}
}
}
}
// This graph node has now been examined
CheckedNodes . Add ( CurrentNode ) ;
NodesToCheck . Remove ( CurrentNode ) ;
}
for ( int32 Index = 0 ; Index < NodesToSelect . Num ( ) ; + + Index )
{
GraphEditor - > SetNodeSelection ( NodesToSelect [ Index ] , true ) ;
}
}
void FMaterialEditor : : OnSelectUpsteamNodes ( )
{
TArray < UMaterialGraphNode * > NodesToCheck ;
TArray < UMaterialGraphNode * > CheckedNodes ;
TArray < UMaterialGraphNode * > NodesToSelect ;
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( GraphNode )
{
NodesToCheck . Add ( GraphNode ) ;
}
}
while ( NodesToCheck . Num ( ) > 0 )
{
UMaterialGraphNode * CurrentNode = NodesToCheck . Last ( ) ;
TArray < UEdGraphPin * > InputPins ;
CurrentNode - > GetInputPins ( InputPins ) ;
for ( int32 Index = 0 ; Index < InputPins . Num ( ) ; + + Index )
{
for ( int32 LinkIndex = 0 ; LinkIndex < InputPins [ Index ] - > LinkedTo . Num ( ) ; + + LinkIndex )
{
UMaterialGraphNode * LinkedNode = Cast < UMaterialGraphNode > ( InputPins [ Index ] - > LinkedTo [ LinkIndex ] - > GetOwningNode ( ) ) ;
if ( LinkedNode )
{
int32 FoundIndex = - 1 ;
CheckedNodes . Find ( LinkedNode , FoundIndex ) ;
if ( FoundIndex < 0 )
{
NodesToSelect . Add ( LinkedNode ) ;
NodesToCheck . Add ( LinkedNode ) ;
}
}
}
}
// This graph node has now been examined
CheckedNodes . Add ( CurrentNode ) ;
NodesToCheck . Remove ( CurrentNode ) ;
}
for ( int32 Index = 0 ; Index < NodesToSelect . Num ( ) ; + + Index )
{
GraphEditor - > SetNodeSelection ( NodesToSelect [ Index ] , true ) ;
}
}
void FMaterialEditor : : OnForceRefreshPreviews ( )
{
ForceRefreshExpressionPreviews ( ) ;
RefreshPreviewViewport ( ) ;
}
void FMaterialEditor : : OnCreateComment ( )
{
CreateNewMaterialExpressionComment ( GraphEditor - > GetPasteLocation ( ) ) ;
}
2014-05-08 05:29:54 -04:00
void FMaterialEditor : : OnCreateComponentMaskNode ( )
{
CreateNewMaterialExpression ( UMaterialExpressionComponentMask : : StaticClass ( ) , GraphEditor - > GetPasteLocation ( ) , true , false ) ;
}
2014-04-23 18:21:07 -04:00
void FMaterialEditor : : OnFindInMaterial ( )
{
TabManager - > InvokeTab ( FindTabId ) ;
FindResults - > FocusForUse ( ) ;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
UClass * FMaterialEditor : : GetOnPromoteToParameterClass ( UEdGraphPin * TargetPin )
{
UMaterialGraphNode_Root * RootPinNode = Cast < UMaterialGraphNode_Root > ( TargetPin - > GetOwningNode ( ) ) ;
UMaterialGraphNode * OtherPinNode = Cast < UMaterialGraphNode > ( TargetPin - > GetOwningNode ( ) ) ;
if ( RootPinNode ! = nullptr )
{
EMaterialProperty propertyId = ( EMaterialProperty ) FCString : : Atoi ( * TargetPin - > PinType . PinSubCategory ) ;
switch ( propertyId )
{
case MP_Opacity :
case MP_Metallic :
case MP_Specular :
case MP_Roughness :
case MP_TessellationMultiplier :
case MP_CustomData0 :
case MP_CustomData1 :
case MP_AmbientOcclusion :
case MP_Refraction :
case MP_PixelDepthOffset :
case MP_OpacityMask : return UMaterialExpressionScalarParameter : : StaticClass ( ) ;
case MP_WorldPositionOffset :
case MP_WorldDisplacement :
case MP_EmissiveColor :
case MP_BaseColor :
case MP_SubsurfaceColor :
case MP_SpecularColor :
case MP_Normal : return UMaterialExpressionVectorParameter : : StaticClass ( ) ;
}
}
else if ( OtherPinNode )
{
const TArray < FExpressionInput * > ExpressionInputs = OtherPinNode - > MaterialExpression - > GetInputs ( ) ;
FString TargetPinName = OtherPinNode - > GetShortenPinName ( TargetPin - > PinName ) ;
for ( int32 Index = 0 ; Index < ExpressionInputs . Num ( ) ; + + Index )
{
FExpressionInput * Input = ExpressionInputs [ Index ] ;
FString InputName = OtherPinNode - > MaterialExpression - > GetInputName ( Index ) ;
InputName = OtherPinNode - > GetShortenPinName ( InputName ) ;
if ( InputName = = TargetPinName )
{
switch ( OtherPinNode - > MaterialExpression - > GetInputType ( Index ) )
{
case MCT_Float1 :
case MCT_Float : return UMaterialExpressionScalarParameter : : StaticClass ( ) ;
case MCT_Float2 :
case MCT_Float3 :
case MCT_Float4 : return UMaterialExpressionVectorParameter : : StaticClass ( ) ;
case MCT_StaticBool : return UMaterialExpressionStaticBoolParameter : : StaticClass ( ) ;
case MCT_Texture2D :
case MCT_TextureCube :
case MCT_Texture : return UMaterialExpressionTextureObjectParameter : : StaticClass ( ) ;
}
break ;
}
}
}
return nullptr ;
}
void FMaterialEditor : : OnPromoteToParameter ( )
{
UEdGraphPin * TargetPin = GraphEditor - > GetGraphPinForMenu ( ) ;
UMaterialGraphNode_Base * PinNode = Cast < UMaterialGraphNode_Base > ( TargetPin - > GetOwningNode ( ) ) ;
FMaterialGraphSchemaAction_NewNode Action ;
Action . MaterialExpressionClass = GetOnPromoteToParameterClass ( TargetPin ) ;
if ( Action . MaterialExpressionClass ! = nullptr )
{
check ( PinNode ) ;
UEdGraph * GraphObj = PinNode - > GetGraph ( ) ;
check ( GraphObj ) ;
const FScopedTransaction Transaction ( LOCTEXT ( " PromoteToParameter " , " Promote To Parameter " ) ) ;
GraphObj - > Modify ( ) ;
// Set position of new node to be close to node we clicked on
FVector2D NewNodePos ;
NewNodePos . X = PinNode - > NodePosX - 100 ;
NewNodePos . Y = PinNode - > NodePosY ;
UMaterialGraphNode * MaterialNode = Cast < UMaterialGraphNode > ( Action . PerformAction ( GraphObj , TargetPin , NewNodePos ) ) ;
if ( MaterialNode - > MaterialExpression - > HasAParameterName ( ) )
{
MaterialNode - > MaterialExpression - > SetParameterName ( FName ( * TargetPin - > PinName ) ) ;
MaterialNode - > MaterialExpression - > ValidateParameterName ( ) ;
}
}
}
bool FMaterialEditor : : OnCanPromoteToParameter ( )
{
UEdGraphPin * TargetPin = GraphEditor - > GetGraphPinForMenu ( ) ;
if ( TargetPin - > LinkedTo . Num ( ) = = 0 )
{
return GetOnPromoteToParameterClass ( TargetPin ) ! = nullptr ;
}
return false ;
}
2014-09-05 08:25:23 -04:00
FString FMaterialEditor : : GetDocLinkForSelectedNode ( )
{
FString DocumentationLink ;
TArray < UObject * > SelectedNodes = GraphEditor - > GetSelectedNodes ( ) . Array ( ) ;
if ( SelectedNodes . Num ( ) = = 1 )
{
UMaterialGraphNode * SelectedGraphNode = Cast < UMaterialGraphNode > ( SelectedNodes [ 0 ] ) ;
if ( SelectedGraphNode ! = NULL )
{
FString DocLink = SelectedGraphNode - > GetDocumentationLink ( ) ;
FString DocExcerpt = SelectedGraphNode - > GetDocumentationExcerptName ( ) ;
DocumentationLink = FEditorClassUtils : : GetDocumentationLinkFromExcerpt ( DocLink , DocExcerpt ) ;
}
}
return DocumentationLink ;
}
void FMaterialEditor : : OnGoToDocumentation ( )
{
FString DocumentationLink = GetDocLinkForSelectedNode ( ) ;
if ( ! DocumentationLink . IsEmpty ( ) )
{
2015-01-14 13:15:22 -05:00
IDocumentation : : Get ( ) - > Open ( DocumentationLink , FDocumentationSourceInfo ( TEXT ( " rightclick_matnode " ) ) ) ;
2014-09-05 08:25:23 -04:00
}
}
bool FMaterialEditor : : CanGoToDocumentation ( )
{
FString DocumentationLink = GetDocLinkForSelectedNode ( ) ;
return ! DocumentationLink . IsEmpty ( ) ;
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : RenameAssetFromRegistry ( const FAssetData & InAddedAssetData , const FString & InNewName )
{
// Grab the asset class, it will be checked for being a material function.
UClass * Asset = FindObject < UClass > ( ANY_PACKAGE , * InAddedAssetData . AssetClass . ToString ( ) ) ;
if ( Asset - > IsChildOf ( UMaterialFunction : : StaticClass ( ) ) )
{
2014-04-23 18:21:07 -04:00
ForceRefreshExpressionPreviews ( ) ;
2014-03-14 14:13:41 -04:00
}
2014-04-23 18:21:07 -04:00
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : OnMaterialUsageFlagsChanged ( UMaterial * MaterialThatChanged , int32 FlagThatChanged )
{
EMaterialUsage Flag = static_cast < EMaterialUsage > ( FlagThatChanged ) ;
if ( MaterialThatChanged = = OriginalMaterial )
{
bool bNeedsRecompile = false ;
Material - > SetMaterialUsage ( bNeedsRecompile , Flag , MaterialThatChanged - > GetUsageByFlag ( Flag ) ) ;
2014-04-23 20:20:58 -04:00
UpdateStatsMaterials ( ) ;
2014-03-14 14:13:41 -04:00
}
}
2014-10-23 21:38:06 -04:00
void FMaterialEditor : : SetVectorParameterDefaultOnDependentMaterials ( FName ParameterName , const FLinearColor & Value , bool bOverride )
{
TArray < UMaterial * > MaterialsToOverride ;
if ( MaterialFunction )
{
// Find all materials that reference this function
for ( TObjectIterator < UMaterial > It ; It ; + + It )
{
UMaterial * CurrentMaterial = * It ;
if ( CurrentMaterial ! = Material )
{
bool bUpdate = false ;
for ( int32 FunctionIndex = 0 ; FunctionIndex < CurrentMaterial - > MaterialFunctionInfos . Num ( ) ; FunctionIndex + + )
{
if ( CurrentMaterial - > MaterialFunctionInfos [ FunctionIndex ] . Function = = MaterialFunction - > ParentFunction )
{
bUpdate = true ;
break ;
}
}
if ( bUpdate )
{
MaterialsToOverride . Add ( CurrentMaterial ) ;
}
}
}
}
else
{
MaterialsToOverride . Add ( OriginalMaterial ) ;
}
const ERHIFeatureLevel : : Type FeatureLevel = GEditor - > GetEditorWorldContext ( ) . World ( ) - > FeatureLevel ;
for ( int32 MaterialIndex = 0 ; MaterialIndex < MaterialsToOverride . Num ( ) ; MaterialIndex + + )
{
UMaterial * CurrentMaterial = MaterialsToOverride [ MaterialIndex ] ;
CurrentMaterial - > OverrideVectorParameterDefault ( ParameterName , Value , bOverride , FeatureLevel ) ;
}
// Update MI's that reference any of the materials affected
for ( TObjectIterator < UMaterialInstance > It ; It ; + + It )
{
UMaterialInstance * CurrentMaterialInstance = * It ;
// Only care about MI's with static parameters, because we are overriding parameter defaults,
// And only MI's with static parameters contain uniform expressions, which contain parameter defaults
if ( CurrentMaterialInstance - > bHasStaticPermutationResource )
{
UMaterial * BaseMaterial = CurrentMaterialInstance - > GetMaterial ( ) ;
if ( MaterialsToOverride . Contains ( BaseMaterial ) )
{
CurrentMaterialInstance - > OverrideVectorParameterDefault ( ParameterName , Value , bOverride , FeatureLevel ) ;
}
}
}
}
void FMaterialEditor : : OnVectorParameterDefaultChanged ( class UMaterialExpression * Expression , FName ParameterName , const FLinearColor & Value )
{
check ( Expression ) ;
if ( Expression - > Material = = Material & & OriginalMaterial )
{
SetVectorParameterDefaultOnDependentMaterials ( ParameterName , Value , true ) ;
OverriddenVectorParametersToRevert . AddUnique ( ParameterName ) ;
}
}
void FMaterialEditor : : SetScalarParameterDefaultOnDependentMaterials ( FName ParameterName , float Value , bool bOverride )
{
TArray < UMaterial * > MaterialsToOverride ;
if ( MaterialFunction )
{
// Find all materials that reference this function
for ( TObjectIterator < UMaterial > It ; It ; + + It )
{
UMaterial * CurrentMaterial = * It ;
if ( CurrentMaterial ! = Material )
{
bool bUpdate = false ;
for ( int32 FunctionIndex = 0 ; FunctionIndex < CurrentMaterial - > MaterialFunctionInfos . Num ( ) ; FunctionIndex + + )
{
if ( CurrentMaterial - > MaterialFunctionInfos [ FunctionIndex ] . Function = = MaterialFunction - > ParentFunction )
{
bUpdate = true ;
break ;
}
}
if ( bUpdate )
{
MaterialsToOverride . Add ( CurrentMaterial ) ;
}
}
}
}
else
{
MaterialsToOverride . Add ( OriginalMaterial ) ;
}
const ERHIFeatureLevel : : Type FeatureLevel = GEditor - > GetEditorWorldContext ( ) . World ( ) - > FeatureLevel ;
for ( int32 MaterialIndex = 0 ; MaterialIndex < MaterialsToOverride . Num ( ) ; MaterialIndex + + )
{
UMaterial * CurrentMaterial = MaterialsToOverride [ MaterialIndex ] ;
CurrentMaterial - > OverrideScalarParameterDefault ( ParameterName , Value , bOverride , FeatureLevel ) ;
}
// Update MI's that reference any of the materials affected
for ( TObjectIterator < UMaterialInstance > It ; It ; + + It )
{
UMaterialInstance * CurrentMaterialInstance = * It ;
// Only care about MI's with static parameters, because we are overriding parameter defaults,
// And only MI's with static parameters contain uniform expressions, which contain parameter defaults
if ( CurrentMaterialInstance - > bHasStaticPermutationResource )
{
UMaterial * BaseMaterial = CurrentMaterialInstance - > GetMaterial ( ) ;
if ( MaterialsToOverride . Contains ( BaseMaterial ) )
{
CurrentMaterialInstance - > OverrideScalarParameterDefault ( ParameterName , Value , bOverride , FeatureLevel ) ;
}
}
}
}
void FMaterialEditor : : OnScalarParameterDefaultChanged ( class UMaterialExpression * Expression , FName ParameterName , float Value )
{
check ( Expression ) ;
if ( Expression - > Material = = Material & & OriginalMaterial )
{
SetScalarParameterDefaultOnDependentMaterials ( ParameterName , Value , true ) ;
OverriddenScalarParametersToRevert . AddUnique ( ParameterName ) ;
}
}
2014-03-14 14:13:41 -04:00
TSharedRef < SDockTab > FMaterialEditor : : SpawnTab_Preview ( const FSpawnTabArgs & Args )
{
TSharedRef < SDockTab > SpawnedTab =
SNew ( SDockTab )
. Label ( LOCTEXT ( " ViewportTabTitle " , " Viewport " ) )
[
2015-06-22 15:55:50 -04:00
SNew ( SOverlay )
+ SOverlay : : Slot ( )
[
PreviewViewport . ToSharedRef ( )
]
+ SOverlay : : Slot ( )
[
PreviewUIViewport . ToSharedRef ( )
]
2014-03-14 14:13:41 -04:00
] ;
2015-06-22 15:55:50 -04:00
PreviewViewport - > OnAddedToTab ( SpawnedTab ) ;
2014-03-14 14:13:41 -04:00
return SpawnedTab ;
}
TSharedRef < SDockTab > FMaterialEditor : : SpawnTab_GraphCanvas ( const FSpawnTabArgs & Args )
{
TSharedRef < SDockTab > SpawnedTab = SNew ( SDockTab )
. Label ( LOCTEXT ( " GraphCanvasTitle " , " Graph " ) ) ;
2014-04-02 18:09:23 -04:00
if ( GraphEditor . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
SpawnedTab - > SetContent ( GraphEditor . ToSharedRef ( ) ) ;
}
return SpawnedTab ;
}
TSharedRef < SDockTab > FMaterialEditor : : SpawnTab_MaterialProperties ( const FSpawnTabArgs & Args )
{
TSharedRef < SDockTab > SpawnedTab = SNew ( SDockTab )
. Icon ( FEditorStyle : : GetBrush ( " LevelEditor.Tabs.Details " ) )
. Label ( LOCTEXT ( " MaterialDetailsTitle " , " Details " ) )
[
MaterialDetailsView . ToSharedRef ( )
] ;
2014-04-02 18:09:23 -04:00
if ( GraphEditor . IsValid ( ) )
2014-03-14 14:13:41 -04:00
{
// Since we're initialising, make sure nothing is selected
GraphEditor - > ClearSelectionSet ( ) ;
}
return SpawnedTab ;
}
TSharedRef < SDockTab > FMaterialEditor : : SpawnTab_HLSLCode ( const FSpawnTabArgs & Args )
{
TSharedRef < SDockTab > SpawnedTab = SNew ( SDockTab )
. Label ( LOCTEXT ( " HLSLCodeTitle " , " HLSL Code " ) )
[
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
CodeViewUtility . ToSharedRef ( )
]
+ SVerticalBox : : Slot ( )
. FillHeight ( 1 )
[
CodeView . ToSharedRef ( )
]
] ;
2014-10-23 21:38:06 -04:00
CodeTab = SpawnedTab ;
2014-03-14 14:13:41 -04:00
RegenerateCodeView ( ) ;
return SpawnedTab ;
}
TSharedRef < SDockTab > FMaterialEditor : : SpawnTab_Palette ( const FSpawnTabArgs & Args )
{
check ( Args . GetTabId ( ) = = PaletteTabId ) ;
TSharedRef < SDockTab > SpawnedTab = SNew ( SDockTab )
. Icon ( FEditorStyle : : GetBrush ( " Kismet.Tabs.Palette " ) )
. Label ( LOCTEXT ( " MaterialPaletteTitle " , " Palette " ) )
[
2014-08-05 09:04:35 -04:00
SNew ( SBox )
2014-09-05 07:39:52 -04:00
. AddMetaData < FTagMetaData > ( FTagMetaData ( TEXT ( " MaterialPalette " ) ) )
2014-03-14 14:13:41 -04:00
[
Palette . ToSharedRef ( )
]
] ;
return SpawnedTab ;
}
TSharedRef < SDockTab > FMaterialEditor : : SpawnTab_Stats ( const FSpawnTabArgs & Args )
{
check ( Args . GetTabId ( ) = = StatsTabId ) ;
TSharedRef < SDockTab > SpawnedTab = SNew ( SDockTab )
. Icon ( FEditorStyle : : GetBrush ( " Kismet.Tabs.CompilerResults " ) )
. Label ( LOCTEXT ( " MaterialStatsTitle " , " Stats " ) )
[
2014-08-05 09:04:35 -04:00
SNew ( SBox )
2014-09-05 07:39:52 -04:00
. AddMetaData < FTagMetaData > ( FTagMetaData ( TEXT ( " MaterialStats " ) ) )
2014-03-14 14:13:41 -04:00
[
Stats . ToSharedRef ( )
]
] ;
return SpawnedTab ;
}
2014-04-23 18:21:07 -04:00
TSharedRef < SDockTab > FMaterialEditor : : SpawnTab_Find ( const FSpawnTabArgs & Args )
2014-03-14 14:13:41 -04:00
{
2014-04-23 18:21:07 -04:00
check ( Args . GetTabId ( ) = = FindTabId ) ;
TSharedRef < SDockTab > SpawnedTab = SNew ( SDockTab )
. Icon ( FEditorStyle : : GetBrush ( " Kismet.Tabs.FindResults " ) )
. Label ( LOCTEXT ( " MaterialFindTitle " , " Find Results " ) )
[
2014-08-05 09:04:35 -04:00
SNew ( SBox )
2014-09-05 07:39:52 -04:00
. AddMetaData < FTagMetaData > ( FTagMetaData ( TEXT ( " MaterialFind " ) ) )
2014-04-23 18:21:07 -04:00
[
FindResults . ToSharedRef ( )
]
] ;
return SpawnedTab ;
2014-03-14 14:13:41 -04:00
}
void FMaterialEditor : : SetPreviewExpression ( UMaterialExpression * NewPreviewExpression )
{
UMaterialExpressionFunctionOutput * FunctionOutput = Cast < UMaterialExpressionFunctionOutput > ( NewPreviewExpression ) ;
2014-06-30 10:45:18 -04:00
if ( ! NewPreviewExpression | | PreviewExpression = = NewPreviewExpression )
2014-03-14 14:13:41 -04:00
{
if ( FunctionOutput )
{
FunctionOutput - > bLastPreviewed = false ;
}
// If we are already previewing the selected expression toggle previewing off
PreviewExpression = NULL ;
ExpressionPreviewMaterial - > Expressions . Empty ( ) ;
SetPreviewMaterial ( Material ) ;
// Recompile the preview material to get changes that might have been made during previewing
UpdatePreviewMaterial ( ) ;
}
else if ( NewPreviewExpression )
{
if ( ExpressionPreviewMaterial = = NULL )
{
// Create the expression preview material if it hasnt already been created
2016-02-01 14:57:29 -05:00
ExpressionPreviewMaterial = NewObject < UPreviewMaterial > ( GetTransientPackage ( ) , NAME_None , RF_Public ) ;
2014-03-14 14:13:41 -04:00
ExpressionPreviewMaterial - > bIsPreviewMaterial = true ;
2016-02-01 14:57:29 -05:00
if ( Material - > IsUIMaterial ( ) )
{
ExpressionPreviewMaterial - > MaterialDomain = MD_UI ;
}
2014-03-14 14:13:41 -04:00
}
if ( FunctionOutput )
{
FunctionOutput - > bLastPreviewed = true ;
}
else
{
//Hooking up the output of the break expression doesn't make much sense, preview the expression feeding it instead.
UMaterialExpressionBreakMaterialAttributes * BreakExpr = Cast < UMaterialExpressionBreakMaterialAttributes > ( NewPreviewExpression ) ;
if ( BreakExpr & & BreakExpr - > GetInput ( 0 ) & & BreakExpr - > GetInput ( 0 ) - > Expression )
{
NewPreviewExpression = BreakExpr - > GetInput ( 0 ) - > Expression ;
}
}
// The expression preview material's expressions array must stay up to date before recompiling
// So that RebuildMaterialFunctionInfo will see all the nested material functions that may need to be updated
ExpressionPreviewMaterial - > Expressions = Material - > Expressions ;
// The preview window should now show the expression preview material
SetPreviewMaterial ( ExpressionPreviewMaterial ) ;
// Set the preview expression
PreviewExpression = NewPreviewExpression ;
// Recompile the preview material
UpdatePreviewMaterial ( ) ;
}
}
2014-04-23 18:21:07 -04:00
void FMaterialEditor : : JumpToNode ( const UEdGraphNode * Node )
{
GraphEditor - > JumpToNode ( Node , false ) ;
}
2014-03-14 14:13:41 -04:00
UMaterialExpression * FMaterialEditor : : CreateNewMaterialExpression ( UClass * NewExpressionClass , const FVector2D & NodePos , bool bAutoSelect , bool bAutoAssignResource )
{
check ( NewExpressionClass - > IsChildOf ( UMaterialExpression : : StaticClass ( ) ) ) ;
if ( ! IsAllowedExpressionType ( NewExpressionClass , MaterialFunction ! = NULL ) )
{
// Disallowed types should not be visible to the ui to be placed, so we don't need a warning here
return NULL ;
}
// Clear the selection
if ( bAutoSelect )
{
GraphEditor - > ClearSelectionSet ( ) ;
}
// Create the new expression.
UMaterialExpression * NewExpression = NULL ;
{
const FScopedTransaction Transaction ( NSLOCTEXT ( " UnrealEd " , " MaterialEditorNewExpression " , " Material Editor: New Expression " ) ) ;
Material - > Modify ( ) ;
UObject * ExpressionOuter = Material ;
if ( MaterialFunction )
{
ExpressionOuter = MaterialFunction ;
}
2015-02-03 05:40:57 -05:00
NewExpression = NewObject < UMaterialExpression > ( ExpressionOuter , NewExpressionClass , NAME_None , RF_Transactional ) ;
2014-03-14 14:13:41 -04:00
Material - > Expressions . Add ( NewExpression ) ;
NewExpression - > Material = Material ;
// Set the expression location.
2014-06-05 12:14:10 -04:00
NewExpression - > MaterialExpressionEditorX = NodePos . X ;
NewExpression - > MaterialExpressionEditorY = NodePos . Y ;
2014-03-14 14:13:41 -04:00
2014-09-11 08:13:08 -04:00
// Create a GUID for the node
NewExpression - > UpdateMaterialExpressionGuid ( true , true ) ;
2014-03-14 14:13:41 -04:00
if ( bAutoAssignResource )
{
// If the user is adding a texture, automatically assign the currently selected texture to it.
UMaterialExpressionTextureBase * METextureBase = Cast < UMaterialExpressionTextureBase > ( NewExpression ) ;
if ( METextureBase )
{
FEditorDelegates : : LoadSelectedAssetsIfNeeded . Broadcast ( ) ;
2014-07-02 07:30:47 -04:00
if ( UTexture * SelectedTexture = GEditor - > GetSelectedObjects ( ) - > GetTop < UTexture > ( ) )
{
METextureBase - > Texture = SelectedTexture ;
}
2014-03-14 14:13:41 -04:00
METextureBase - > AutoSetSampleType ( ) ;
}
UMaterialExpressionMaterialFunctionCall * MEMaterialFunction = Cast < UMaterialExpressionMaterialFunctionCall > ( NewExpression ) ;
if ( MEMaterialFunction )
{
FEditorDelegates : : LoadSelectedAssetsIfNeeded . Broadcast ( ) ;
MEMaterialFunction - > SetMaterialFunction ( MaterialFunction , NULL , GEditor - > GetSelectedObjects ( ) - > GetTop < UMaterialFunction > ( ) ) ;
}
UMaterialExpressionCollectionParameter * MECollectionParameter = Cast < UMaterialExpressionCollectionParameter > ( NewExpression ) ;
if ( MECollectionParameter )
{
FEditorDelegates : : LoadSelectedAssetsIfNeeded . Broadcast ( ) ;
MECollectionParameter - > Collection = GEditor - > GetSelectedObjects ( ) - > GetTop < UMaterialParameterCollection > ( ) ;
}
}
UMaterialExpressionFunctionInput * FunctionInput = Cast < UMaterialExpressionFunctionInput > ( NewExpression ) ;
if ( FunctionInput )
{
FunctionInput - > ConditionallyGenerateId ( true ) ;
FunctionInput - > ValidateName ( ) ;
}
UMaterialExpressionFunctionOutput * FunctionOutput = Cast < UMaterialExpressionFunctionOutput > ( NewExpression ) ;
if ( FunctionOutput )
{
FunctionOutput - > ConditionallyGenerateId ( true ) ;
FunctionOutput - > ValidateName ( ) ;
}
NewExpression - > UpdateParameterGuid ( true , true ) ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
if ( NewExpression - > HasAParameterName ( ) )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
NewExpression - > ValidateParameterName ( ) ;
2014-03-14 14:13:41 -04:00
}
UMaterialExpressionComponentMask * ComponentMaskExpression = Cast < UMaterialExpressionComponentMask > ( NewExpression ) ;
// Setup defaults for the most likely use case
// Can't change default properties as that will affect existing content
if ( ComponentMaskExpression )
{
ComponentMaskExpression - > R = true ;
ComponentMaskExpression - > G = true ;
}
UMaterialExpressionStaticComponentMaskParameter * StaticComponentMaskExpression = Cast < UMaterialExpressionStaticComponentMaskParameter > ( NewExpression ) ;
// Setup defaults for the most likely use case
// Can't change default properties as that will affect existing content
if ( StaticComponentMaskExpression )
{
StaticComponentMaskExpression - > DefaultR = true ;
}
// Setup defaults for the most likely use case
// Can't change default properties as that will affect existing content
UMaterialExpressionTransformPosition * PositionTransform = Cast < UMaterialExpressionTransformPosition > ( NewExpression ) ;
if ( PositionTransform )
{
PositionTransform - > TransformSourceType = TRANSFORMPOSSOURCE_Local ;
PositionTransform - > TransformType = TRANSFORMPOSSOURCE_World ;
}
2014-07-21 04:33:11 -04:00
// Make sure the dynamic parameters are named based on existing ones
UMaterialExpressionDynamicParameter * DynamicExpression = Cast < UMaterialExpressionDynamicParameter > ( NewExpression ) ;
if ( DynamicExpression )
{
2015-06-30 05:54:23 -04:00
DynamicExpression - > UpdateDynamicParameterProperties ( ) ;
2014-07-21 04:33:11 -04:00
}
2014-10-23 21:38:06 -04:00
Material - > AddExpressionParameter ( NewExpression , Material - > EditorParameters ) ;
2014-03-14 14:13:41 -04:00
if ( NewExpression )
{
Material - > MaterialGraph - > AddExpression ( NewExpression ) ;
// Select the new node.
if ( bAutoSelect )
{
GraphEditor - > SetNodeSelection ( NewExpression - > GraphNode , true ) ;
}
}
}
RegenerateCodeView ( ) ;
// Update the current preview material.
UpdatePreviewMaterial ( ) ;
Material - > MarkPackageDirty ( ) ;
RefreshExpressionPreviews ( ) ;
GraphEditor - > NotifyGraphChanged ( ) ;
SetMaterialDirty ( ) ;
return NewExpression ;
}
UMaterialExpressionComment * FMaterialEditor : : CreateNewMaterialExpressionComment ( const FVector2D & NodePos )
{
UMaterialExpressionComment * NewComment = NULL ;
{
Material - > Modify ( ) ;
UObject * ExpressionOuter = Material ;
if ( MaterialFunction )
{
ExpressionOuter = MaterialFunction ;
}
2015-02-03 05:40:57 -05:00
NewComment = NewObject < UMaterialExpressionComment > ( ExpressionOuter , NAME_None , RF_Transactional ) ;
2014-03-14 14:13:41 -04:00
// Add to the list of comments associated with this material.
Material - > EditorComments . Add ( NewComment ) ;
FSlateRect Bounds ;
if ( GraphEditor - > GetBoundsForSelectedNodes ( Bounds , 50.0f ) )
{
NewComment - > MaterialExpressionEditorX = Bounds . Left ;
NewComment - > MaterialExpressionEditorY = Bounds . Top ;
FVector2D Size = Bounds . GetSize ( ) ;
NewComment - > SizeX = Size . X ;
NewComment - > SizeY = Size . Y ;
}
else
{
NewComment - > MaterialExpressionEditorX = NodePos . X ;
NewComment - > MaterialExpressionEditorY = NodePos . Y ;
NewComment - > SizeX = 400 ;
NewComment - > SizeY = 100 ;
}
NewComment - > Text = NSLOCTEXT ( " K2Node " , " CommentBlock_NewEmptyComment " , " Comment " ) . ToString ( ) ;
}
if ( NewComment )
{
2015-09-17 05:28:56 -04:00
Material - > MaterialGraph - > AddComment ( NewComment , true ) ;
2014-03-14 14:13:41 -04:00
// Select the new comment.
GraphEditor - > ClearSelectionSet ( ) ;
GraphEditor - > SetNodeSelection ( NewComment - > GraphNode , true ) ;
}
Material - > MarkPackageDirty ( ) ;
GraphEditor - > NotifyGraphChanged ( ) ;
SetMaterialDirty ( ) ;
return NewComment ;
}
void FMaterialEditor : : ForceRefreshExpressionPreviews ( )
{
// Initialize expression previews.
const bool bOldAlwaysRefreshAllPreviews = bAlwaysRefreshAllPreviews ;
bAlwaysRefreshAllPreviews = true ;
RefreshExpressionPreviews ( ) ;
bAlwaysRefreshAllPreviews = bOldAlwaysRefreshAllPreviews ;
}
void FMaterialEditor : : AddToSelection ( UMaterialExpression * Expression )
{
GraphEditor - > SetNodeSelection ( Expression - > GraphNode , true ) ;
}
void FMaterialEditor : : SelectAllNodes ( )
{
GraphEditor - > SelectAllNodes ( ) ;
}
bool FMaterialEditor : : CanSelectAllNodes ( ) const
{
return GraphEditor . IsValid ( ) ;
}
void FMaterialEditor : : DeleteSelectedNodes ( )
{
TArray < UEdGraphNode * > NodesToDelete ;
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
NodesToDelete . Add ( CastChecked < UEdGraphNode > ( * NodeIt ) ) ;
}
DeleteNodes ( NodesToDelete ) ;
}
void FMaterialEditor : : DeleteNodes ( const TArray < UEdGraphNode * > & NodesToDelete )
{
if ( NodesToDelete . Num ( ) > 0 )
{
if ( ! CheckExpressionRemovalWarnings ( NodesToDelete ) )
{
return ;
}
// If we are previewing an expression and the expression being previewed was deleted
bool bHaveExpressionsToDelete = false ;
bool bPreviewExpressionDeleted = false ;
{
const FScopedTransaction Transaction ( NSLOCTEXT ( " UnrealEd " , " MaterialEditorDelete " , " Material Editor: Delete " ) ) ;
Material - > Modify ( ) ;
for ( int32 Index = 0 ; Index < NodesToDelete . Num ( ) ; + + Index )
{
if ( NodesToDelete [ Index ] - > CanUserDeleteNode ( ) )
{
// Break all node links first so that we don't update the material before deleting
NodesToDelete [ Index ] - > BreakAllNodeLinks ( ) ;
FBlueprintEditorUtils : : RemoveNode ( NULL , NodesToDelete [ Index ] , true ) ;
if ( UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( NodesToDelete [ Index ] ) )
{
UMaterialExpression * MaterialExpression = GraphNode - > MaterialExpression ;
bHaveExpressionsToDelete = true ;
DestroyColorPicker ( ) ;
if ( PreviewExpression = = MaterialExpression )
{
// The expression being previewed is also being deleted
bPreviewExpressionDeleted = true ;
}
MaterialExpression - > Modify ( ) ;
Material - > Expressions . Remove ( MaterialExpression ) ;
Material - > RemoveExpressionParameter ( MaterialExpression ) ;
// Make sure the deleted expression is caught by gc
MaterialExpression - > MarkPendingKill ( ) ;
}
else if ( UMaterialGraphNode_Comment * CommentNode = Cast < UMaterialGraphNode_Comment > ( NodesToDelete [ Index ] ) )
{
CommentNode - > MaterialExpressionComment - > Modify ( ) ;
Material - > EditorComments . Remove ( CommentNode - > MaterialExpressionComment ) ;
}
}
}
Material - > MaterialGraph - > LinkMaterialExpressionsFromGraph ( ) ;
} // ScopedTransaction
// Deselect all expressions and comments.
GraphEditor - > ClearSelectionSet ( ) ;
GraphEditor - > NotifyGraphChanged ( ) ;
if ( bHaveExpressionsToDelete )
{
if ( bPreviewExpressionDeleted )
{
// The preview expression was deleted. Null out our reference to it and reset to the normal preview material
PreviewExpression = NULL ;
SetPreviewMaterial ( Material ) ;
}
RegenerateCodeView ( ) ;
}
UpdatePreviewMaterial ( ) ;
Material - > MarkPackageDirty ( ) ;
SetMaterialDirty ( ) ;
if ( bHaveExpressionsToDelete )
{
RefreshExpressionPreviews ( ) ;
}
}
}
bool FMaterialEditor : : CanDeleteNodes ( ) const
{
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
if ( SelectedNodes . Num ( ) = = 1 )
{
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
if ( Cast < UMaterialGraphNode_Root > ( * NodeIt ) )
{
// Return false if only root node is selected, as it can't be deleted
return false ;
}
}
}
return SelectedNodes . Num ( ) > 0 ;
}
void FMaterialEditor : : DeleteSelectedDuplicatableNodes ( )
{
// Cache off the old selection
const FGraphPanelSelectionSet OldSelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
// Clear the selection and only select the nodes that can be duplicated
FGraphPanelSelectionSet RemainingNodes ;
GraphEditor - > ClearSelectionSet ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator SelectedIter ( OldSelectedNodes ) ; SelectedIter ; + + SelectedIter )
{
UEdGraphNode * Node = Cast < UEdGraphNode > ( * SelectedIter ) ;
if ( ( Node ! = NULL ) & & Node - > CanDuplicateNode ( ) )
{
GraphEditor - > SetNodeSelection ( Node , true ) ;
}
else
{
RemainingNodes . Add ( Node ) ;
}
}
// Delete the duplicatable nodes
DeleteSelectedNodes ( ) ;
// Reselect whatever's left from the original selection after the deletion
GraphEditor - > ClearSelectionSet ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator SelectedIter ( RemainingNodes ) ; SelectedIter ; + + SelectedIter )
{
if ( UEdGraphNode * Node = Cast < UEdGraphNode > ( * SelectedIter ) )
{
GraphEditor - > SetNodeSelection ( Node , true ) ;
}
}
}
void FMaterialEditor : : CopySelectedNodes ( )
{
// Export the selected nodes and place the text on the clipboard
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
FString ExportedText ;
for ( FGraphPanelSelectionSet : : TConstIterator SelectedIter ( SelectedNodes ) ; SelectedIter ; + + SelectedIter )
{
if ( UEdGraphNode * Node = Cast < UEdGraphNode > ( * SelectedIter ) )
{
Node - > PrepareForCopying ( ) ;
}
}
FEdGraphUtilities : : ExportNodesToText ( SelectedNodes , /*out*/ ExportedText ) ;
FPlatformMisc : : ClipboardCopy ( * ExportedText ) ;
// Make sure Material remains the owner of the copied nodes
for ( FGraphPanelSelectionSet : : TConstIterator SelectedIter ( SelectedNodes ) ; SelectedIter ; + + SelectedIter )
{
if ( UMaterialGraphNode * Node = Cast < UMaterialGraphNode > ( * SelectedIter ) )
{
Node - > PostCopyNode ( ) ;
}
else if ( UMaterialGraphNode_Comment * Comment = Cast < UMaterialGraphNode_Comment > ( * SelectedIter ) )
{
Comment - > PostCopyNode ( ) ;
}
}
}
bool FMaterialEditor : : CanCopyNodes ( ) const
{
// If any of the nodes can be duplicated then we should allow copying
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator SelectedIter ( SelectedNodes ) ; SelectedIter ; + + SelectedIter )
{
UEdGraphNode * Node = Cast < UEdGraphNode > ( * SelectedIter ) ;
if ( ( Node ! = NULL ) & & Node - > CanDuplicateNode ( ) )
{
return true ;
}
}
return false ;
}
void FMaterialEditor : : PasteNodes ( )
{
PasteNodesHere ( GraphEditor - > GetPasteLocation ( ) ) ;
}
void FMaterialEditor : : PasteNodesHere ( const FVector2D & Location )
{
// Undo/Redo support
const FScopedTransaction Transaction ( NSLOCTEXT ( " UnrealEd " , " MaterialEditorPaste " , " Material Editor: Paste " ) ) ;
Material - > MaterialGraph - > Modify ( ) ;
Material - > Modify ( ) ;
// Clear the selection set (newly pasted stuff will be selected)
GraphEditor - > ClearSelectionSet ( ) ;
// Grab the text to paste from the clipboard.
FString TextToImport ;
FPlatformMisc : : ClipboardPaste ( TextToImport ) ;
// Import the nodes
TSet < UEdGraphNode * > PastedNodes ;
FEdGraphUtilities : : ImportNodesFromText ( Material - > MaterialGraph , TextToImport , /*out*/ PastedNodes ) ;
//Average position of nodes so we can move them while still maintaining relative distances to each other
FVector2D AvgNodePosition ( 0.0f , 0.0f ) ;
for ( TSet < UEdGraphNode * > : : TIterator It ( PastedNodes ) ; It ; + + It )
{
UEdGraphNode * Node = * It ;
AvgNodePosition . X + = Node - > NodePosX ;
AvgNodePosition . Y + = Node - > NodePosY ;
}
if ( PastedNodes . Num ( ) > 0 )
{
float InvNumNodes = 1.0f / float ( PastedNodes . Num ( ) ) ;
AvgNodePosition . X * = InvNumNodes ;
AvgNodePosition . Y * = InvNumNodes ;
}
for ( TSet < UEdGraphNode * > : : TIterator It ( PastedNodes ) ; It ; + + It )
{
UEdGraphNode * Node = * It ;
if ( UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( Node ) )
{
// These are not copied and we must account for expressions pasted between different materials anyway
GraphNode - > RealtimeDelegate = Material - > MaterialGraph - > RealtimeDelegate ;
GraphNode - > MaterialDirtyDelegate = Material - > MaterialGraph - > MaterialDirtyDelegate ;
GraphNode - > bPreviewNeedsUpdate = false ;
UMaterialExpression * NewExpression = GraphNode - > MaterialExpression ;
NewExpression - > Material = Material ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3077573 on 2016/08/04 by Nick.Darnell
Removing some unused code, adding additional needed modules to editor tests.
#rb none
Change 3077580 on 2016/08/04 by Nick.Darnell
Removing the test plugins, going to be recreating them in EngineTest.
Change 3082659 on 2016/08/09 by Nick.Darnell
Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them.
#rb none
Change 3082766 on 2016/08/09 by Jamie.Dale
Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings
ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32.
#jira UE-33971
#rb James.Hopkin
Change 3083067 on 2016/08/09 by Nick.Darnell
Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is.
#rb none
Change 3084475 on 2016/08/10 by Richard.TalbotWatkin
Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds.
#jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server
#codereview Matt.Kuhlenschmidt
#rb none
Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt
Added grayscale texture importing support
#rb none
Change 3084774 on 2016/08/10 by Cody.Albert
Adding controller support for ComboBox widget
#jira UE-33826
#rb nick.darnell
Change 3085716 on 2016/08/11 by Nick.Darnell
UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with.
#rb none
Change 3085733 on 2016/08/11 by Nick.Darnell
UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable.
#rb none
Change 3085734 on 2016/08/11 by Nick.Darnell
Texture - Making GetDefaultMipMapBias a bit more efficent in the common case.
#rb none
Change 3085736 on 2016/08/11 by Nick.Darnell
Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings.
#rb none
Change 3085737 on 2016/08/11 by Nick.Darnell
Editor - code organization.
#rb none
Change 3085875 on 2016/08/11 by Nick.Darnell
UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer.
#rb none
Change 3086209 on 2016/08/11 by Ben.Salem
Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format.
#rb adric.worley, william.ewen
Change 3086515 on 2016/08/11 by Nick.Darnell
Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case.
#rb Matt.Kuhlenschmidt
Change 3087216 on 2016/08/12 by Jamie.Dale
Fixed an issue where re-scanning a package file may leave old assets in the asset registry
We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package.
This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work).
#rb Andrew.Rodham
Change 3087219 on 2016/08/12 by Jamie.Dale
Updated TextRenderComponent to support multiple font pages
It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page).
#rb Matt.Kuhlenschmidt
Change 3087308 on 2016/08/12 by Alex.Delesky
#jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added.
#rb Matt.Kuhlenschmidt
Change 3089140 on 2016/08/15 by Jamie.Dale
We now abort a directory watch if we lose access to the directory in question
This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted.
#jira UE-30172
#rb Andrew.Rodham
Change 3089148 on 2016/08/15 by Alexis.Matte
Allow fbx export of any actor type.
#rb none
#codereview dmitriy.dyomin
Change 3089211 on 2016/08/15 by Jamie.Dale
Unified access to the parent window for external dialogs
A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible.
You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window.
#rb Andrew.Rodham
Change 3089640 on 2016/08/15 by Jamie.Dale
Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc
#rb none
Change 3089661 on 2016/08/15 by Nick.Darnell
Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see.
#rb none
Change 3089667 on 2016/08/15 by Cody.Albert
Updating RoutePointerUpEvent to call OnDrop for touch events when dragging
#jira UE-34709
#rb nick.darnell
Change 3089694 on 2016/08/15 by Jamie.Dale
Applied a fix to the ExcludeClasses setting in the loc gather
#rb none
Change 3089889 on 2016/08/15 by Nick.Darnell
Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities.
#rb none
Change 3090256 on 2016/08/16 by Nick.Darnell
Automation - working on screenshots.
#rb none
Change 3090322 on 2016/08/16 by Nick.Darnell
Automation - Adding modified screenshot function.
#rb none
Change 3090335 on 2016/08/16 by Nick.Darnell
Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins.
#rb none
Change 3090881 on 2016/08/16 by Nick.Darnell
Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected.
#rb none
Change 3090884 on 2016/08/16 by Nick.Darnell
Plugins - There's now support for generating a Content Only plugin from the new plugin wizard.
#rb none
Change 3090911 on 2016/08/16 by Nick.Darnell
Feature Packs - If there's an error loading a manifest, it's now an error, not a warning.
#rb none
Change 3090913 on 2016/08/16 by Jamie.Dale
Optimization and usability improvements of the MemoryProfiler2 tool
- Optimized the processing of the Callgraph, Histogram, and Short lived allocations views.
- The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds.
- The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds.
- The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds.
- Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks).
#jira UETOOL-948
#jira UETOOL-949
#rb James.Hopkin
Change 3090962 on 2016/08/16 by Jamie.Dale
Fixed double assignment of filter functions
#rb none
Change 3090989 on 2016/08/16 by Nick.Darnell
Editor - Attempting to fix the build, non-unity issue I suspect.
#rb none
Change 3091754 on 2016/08/17 by Nick.Darnell
FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc.
#rb none
#codereview Alexis.Matte
Change 3091758 on 2016/08/17 by Nick.Darnell
Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens.
#rb none
#codereview Nick.Atamas,Matt.Kuhlenschmidt
Change 3091829 on 2016/08/17 by Nick.Darnell
Build - Attempting to repair the build.
#rb none
Change 3091920 on 2016/08/17 by Nick.Darnell
Build - Another attempt at fixing the mac build.
#rb none
Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt
Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying
#rb none
Change 3094474 on 2016/08/19 by Jamie.Dale
Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled
#jira UETOOL-951
#rb James.Hopkin
Change 3094581 on 2016/08/19 by Jamie.Dale
Added missing allocator filter needed by PS4 profiles
#rb none
Change 3094681 on 2016/08/19 by Richard.TalbotWatkin
Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer.
#jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation
#rb none
Change 3095163 on 2016/08/19 by Trung.Le
#jira UE-20849: Added tooltips to the inputs of the Material final result node
#rb matt.kuhlenschmidt
Change 3095285 on 2016/08/19 by Trung.Le
#jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member
#rb none
Change 3095344 on 2016/08/19 by Alexis.Matte
#jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine.
Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter).
#rb none
#codereview matt.kuhlenschmidt
Change 3096162 on 2016/08/22 by Alexis.Matte
#jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu.
#rb none
#codereview matt.kuhlenschmidt
Change 3096261 on 2016/08/22 by Alexis.Matte
#jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process.
#rb lina.halper
#codereview lina.halper
Change 3096344 on 2016/08/22 by Jamie.Dale
NSString conversion fix for UTF-32 strings containing characters outside of the BMP
#jira UE-33971
#rb Peter.Sauerbrei, James.Hopkin
Change 3096605 on 2016/08/22 by Alex.Delesky
#jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any.
#rb Matt.Kuhlenschmidt
Change 3096615 on 2016/08/22 by Alex.Delesky
#jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin.
#rb Matt.Kuhlenschmidt
Change 3096619 on 2016/08/22 by Alex.Delesky
#jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel.
#rb Matt.Kuhlenschmidt
Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt
PR #2729: Fix a typo in the comment (Contributed by adcentury)
#rb none
Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt
PR #2726: Undef unused macros (Contributed by shrimpy56)
#rb none
Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt
Guard against crash when details panels rebuild when their customizations have been torn down
https://jira.ol.epicgames.net/browse/UE-35048
#rb none
Change 3097757 on 2016/08/23 by Alex.Delesky
#jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap
#rb Matt.Kuhlenschmidt
Change 3098164 on 2016/08/23 by Alexis.Matte
#jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation.
#rb none
#codereview matt.kuhlenschmidt
Change 3098502 on 2016/08/23 by Alexis.Matte
#jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true
#rb none
#codereview matt.kuhlenschmidt
Change 3099986 on 2016/08/24 by Jamie.Dale
Fixing non-editor builds
#rb none
Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt
Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc)
#rb none
Change 3101280 on 2016/08/25 by Jamie.Dale
Fixed crash when counting memory over internationalization meta-data
- The serialization code only used to handle loading or saving, now it handles loading or not loading.
- The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override.
#rb James.Hopkin
Change 3101283 on 2016/08/25 by Jamie.Dale
MProf2 platform and symbol parsing improvements
- Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks).
- Added a PS4 symbol parser which handles performing full file/line resolution for symbols.
- Removed all the V3 file format support and legacy platform handling.
- Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup.
#rb James.Hopkin
Change 3101586 on 2016/08/25 by Jamie.Dale
Small code cleanup and path normalization
#rb James.Hopkin
Change 3101837 on 2016/08/25 by Alexis.Matte
#jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations
#rb none
#codereview matt.kuhlenschmidt
Change 3102537 on 2016/08/26 by Jamie.Dale
Fix for potential crash in FICUCamelCaseBreakIterator
In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is.
#rb James.Hopkin
Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt
Log the freetype version when it starts up (for debugging purposes)
#rb none
Change 3102657 on 2016/08/26 by Alexis.Matte
#jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader.
#review-3101585 @uriel.doyon
#rb matt.kuhlenschmidt
Change 3102704 on 2016/08/26 by Jamie.Dale
Added symbol meta-data support to MProf2
You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file.
PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user.
#rb James.Hopkin
Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt
Added support for outline fonts
- An outline size (in slate units), optional material and optional fill color can be specified with each font info.
- Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines
- Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas
#rb jamie.dale
Change 3102879 on 2016/08/26 by Jamie.Dale
Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files
#rb none
Change 3102960 on 2016/08/26 by Alexis.Matte
build fix
#rb none
Change 3103032 on 2016/08/26 by Jamie.Dale
Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting
#jira UE-34936
#rb Matt.Kuhlenschmidt
Change 3103278 on 2016/08/26 by Jamie.Dale
Fixing Clang warnings
#rb none
Change 3104211 on 2016/08/29 by Ben.Marsh
Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them.
#rb none
Change 3104290 on 2016/08/29 by Alex.Delesky
Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with.
#rb Matt.Kuhlenschmidt
Change 3104292 on 2016/08/29 by Alex.Delesky
#jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac.
#rb Matt.Kuhlenschmidt
Change 3104294 on 2016/08/29 by Alex.Delesky
#jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget
#rb Matt.Kuhlenschmidt
Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt
PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx)
#rb none
Change 3104296 on 2016/08/29 by Alex.Delesky
#jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero.
#rb Matt.Kuhlenschmidt
Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt
Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out.
#rb none
Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt
Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it.
#rb none
#jira UE-31865
Change 3104396 on 2016/08/29 by Ben.Marsh
Fix incrorrect agent names for running automated tests
Change 3104610 on 2016/08/29 by Alex.Delesky
Fix for AutomationTool compile editor from changes introduced today.
#rb None
Change 3104611 on 2016/08/29 by Michael.Dupuis
#jira UETOOL-253
#rb Alexis.Matte
Change 3105826 on 2016/08/30 by Gareth.Martin
Added console variables to discard grass and/or scalable foliage data on load
#jira UE-35086
#rb Benn
Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt
Eliminated bad code duplication between retainer widgets and element batcher
#rb none
#codereview nick.darnell
Change 3106449 on 2016/08/30 by Michael.Dupuis
#jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu)
#rb Alexis.Matte
Change 3106966 on 2016/08/30 by Jamie.Dale
Fixed FApp::IsAuthorizedUser not considering the SessionOwner override
#rb Max.Preussner
Change 3107687 on 2016/08/31 by Michael.Dupuis
Checkout/Make Writable on proper config file
#rb Matt Kuhlenschmidt
Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt
Fixed mode typos in the lerp instruction
#rb none
Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt
Logging and guard against UEditorEngine::TeardownPlaySession crash.
#rb none
https://jira.ol.epicgames.net/browse/UE-35325
Change 3107912 on 2016/08/31 by Alex.Delesky
#jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations.
#rb Matt.Kuhlenschmidt
Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt
Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file.
#rb none
Change 3108027 on 2016/08/31 by Chris.Wood
Re-added lost doc comment for analytics event "Engine.AbnormalShutdown".
#rb none - just a comment in a cpp file
#codereview wes.hunt
Change 3108580 on 2016/08/31 by Mike.Fricker
Deleted the "Live Editor" plugins from UE4
- These were undocumented, buggy and never finished, and we have no plans to complete them
- Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files
#codereview matt.kuhlenschmidt
#rb matt.kuhlenschmidt
Change 3108604 on 2016/08/31 by Mike.Fricker
Added new "MIDI Device" plugin (disabled by default)
- This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer
- Currently only input is supported. In the future we might allow for output, as well.
- In Blueprints, here's how to use it:
- Look for "MIDI Device Manager" in the Blueprint RMB menu
- Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available.
- Then call "Create MIDI Device Controller" for the device you want. Store that in a variable.
- On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive.
- Process the data passed into the Event to make your project do stuff!
- This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin)
#codereview matt.kuhlenschmidt
#rb none
Change 3108760 on 2016/08/31 by Alexis.Matte
#jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false.
#rb none
#codereview matt.kuhlenschmidt
Change 3109006 on 2016/08/31 by Alex.Delesky
#ignore Source Control rename test - initial commit
Change 3109044 on 2016/08/31 by Alex.Delesky
#ignore Testing asset rename from P4 to observe correct behavior.
#rb none
Change 3109048 on 2016/08/31 by Alex.Delesky
#ignore Testing P4 rename to identify correct behavior
#rb none
Change 3110044 on 2016/09/01 by Gareth.Martin
Fixed painting foliage on blocking "query" actors not working
#jira UE-33852
#rb Allan.Bentham
Change 3110133 on 2016/09/01 by Alexis.Matte
Fix crash in function GetForceRecompileTextureIdsHash
#rb none
#codereview jamie.dale
Change 3111848 on 2016/09/02 by Mike.Fricker
MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux)
- Fixed bad enum cast
#rb none
Change 3111995 on 2016/09/02 by Michael.Dupuis
#jira UE-35263
Do not try selecting the actor if the actor is in the blueprint
Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process
#rb Alexis Matte
Change 3112280 on 2016/09/02 by Michael.Dupuis
Call MakeWritable if source control fail
#rb Alexis Matte
Change 3112335 on 2016/09/02 by Cody.Albert
Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode
#jira UE-35306
#rb none
Change 3112478 on 2016/09/02 by Alexis.Matte
#jira UE-20059 Use a base material to import fbx material.
#rb uriel.doyon
#codereview matt.kuhlenschmidt
#1468 Github pull request number
Change 3113912 on 2016/09/06 by Michael.Dupuis
#jira UE-32288 Fixed Console params display
#rb Alexis Matte
Change 3114026 on 2016/09/06 by Alex.Delesky
#jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again.
#rb Matt.Kuhlenschmidt
Change 3114032 on 2016/09/06 by Alex.Delesky
PR #2733: Improved the project launcher progress page (Contributed by projectgheist)
#jira UE-34027
#rb Matt.Kuhlenschmidt
Change 3114034 on 2016/09/06 by Alex.Delesky
#jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable
#rb Matt.Kuhlenschmidt
Change 3114071 on 2016/09/06 by Nick.Darnell
[AUTOMATED TEST] Automatic checkin, testing functionality.
Change 3114109 on 2016/09/06 by Nick.Darnell
[AUTOMATED TEST] Automatic checkin, testing functionality.
Change 3114562 on 2016/09/06 by Nick.Darnell
Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue.
#rb none
Change 3114701 on 2016/09/06 by Michael.Dupuis
#jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView
#rb Alexis Matte
Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt
Prevent non-thread safe slate code from running on the slate loading thread
#rb none
Change 3115698 on 2016/09/07 by Nick.Darnell
Make sure the commands are available - during functional testing that was found to not always be the case.
#rb none
Change 3115719 on 2016/09/07 by Nick.Darnell
Adding an IsRegistered command to commands.
#rb none
Change 3115721 on 2016/09/07 by Nick.Darnell
Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly.
#rb none
Change 3115722 on 2016/09/07 by Nick.Darnell
IsBindWidgetProperty now returns false if the property passed in is null.
#rb none
Change 3115734 on 2016/09/07 by Alexis.Matte
#jira UE-30166 Support fbx sdk 2017
#rb none
Change 3115737 on 2016/09/07 by Nick.Darnell
Adding an image comparer for screenshots. Removing some content from EngineTest.
#rb none
Change 3115743 on 2016/09/07 by Nick.Darnell
Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing!
#rb none
Change 3115748 on 2016/09/07 by Nick.Darnell
Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds.
#rb none
Change 3115789 on 2016/09/07 by Jamie.Dale
We now favor Traditional Chinese for Hong Kong and Macau
#rb James.Hopkin
Change 3115799 on 2016/09/07 by Jamie.Dale
Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped
#rb James.Hopkin
Change 3115826 on 2016/09/07 by Nick.Darnell
Adding missing files.
#rb none
Change 3115838 on 2016/09/07 by Nick.Darnell
Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h
#rb none
Change 3116007 on 2016/09/07 by Alexis.Matte
build fix
#rb none
Change 3116057 on 2016/09/07 by Jamie.Dale
Fixed widget snapshot messages so they appear in the message debugger
#rb none
Change 3116112 on 2016/09/07 by Nick.Darnell
Removing the FbxAutomationBuilder file that go recreated on a merge from main.
#rb none
Change 3116365 on 2016/09/07 by Michael.Dupuis
#jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work.
#codereview Matt.Kuhlenschmidt
#rb Alexis.Matte
Change 3116622 on 2016/09/07 by Alexis.Matte
#jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name.
#rb matt.kuhlenschmidt
Change 3116638 on 2016/09/07 by Jamie.Dale
Ensured that manifests and archives don't try and load data that they can't parse
#rb none
Change 3117397 on 2016/09/08 by Gareth.Martin
Added rotate and blend support to the landscape mirror tool
#jira UE-34829
#rb Jack.Porter
Change 3117459 on 2016/09/08 by Gareth.Martin
Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1)
#jira UE-35301
#rb Jack.Porter
Change 3117462 on 2016/09/08 by Gareth.Martin
Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1)
#jira UE-35494
#rb Benn.Gallagher
Change 3117583 on 2016/09/08 by Nick.Darnell
Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots.
#rb none
Change 3117595 on 2016/09/08 by Nick.Darnell
Updating the build script for AutomatedTests, going to see if this works!
#rb none
Change 3117808 on 2016/09/08 by Nick.Darnell
Adding header includes for async.
#rb none
Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt
Partially taken from Pr 2381
Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem.
#rb none
Change 3117851 on 2016/09/08 by Jamie.Dale
Silenced some redundant P4 errors that could be generated when running a stat update on a file
Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command.
#rb Ben.Marsh
#codereview Thomas.Sarkanen
Change 3117853 on 2016/09/08 by Gareth.Martin
Clean up landscape includes and PCH
#rb steve.robb
Change 3117859 on 2016/09/08 by Alex.Delesky
#jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse.
#rb Nick.Darnell
Change 3117997 on 2016/09/08 by Nick.Darnell
Updating the automation tests build script to use Editor-Cmd
#rb none
Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt
Properly reference graph node on material expressions so they are not GC'd while an expression still uses them
#jira UE-35362
#rb none
Change 3118043 on 2016/09/08 by Alex.Delesky
#jira UE-30649 - Removed unnecessary returns from UWidget API.
PR #2377: fix widget bug. (Contributed by dorgonman)
#rb none
Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt
Guard against crash saving config during level editor shutdown
#rb none
#jira UE-35605
Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt
PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist)
#rb none
Change 3118078 on 2016/09/08 by Michael.Dupuis
#jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified
#rb Alexis.Matte
Change 3118080 on 2016/09/08 by Michael.Dupuis
#jira UE-31131 Do not show a contextual menu if the menu is empty
#rb Alexis.Matte
Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt
Constify this method
#rb none
Change 3118166 on 2016/09/08 by Nick.Darnell
Trying additional command options for the build machine for automation.
#rb none
Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt
Fix actor delete during mesh paint not working during undo
#rb none
#jira UE-35684
Change 3118298 on 2016/09/08 by Alexis.Matte
#jira UE-35302 Export all LODs for static mesh when there is no force LOD
#rb uriel.doyon
Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt
Fixed reset to default not appearing for slate brushes
#rb none
#jira UE-34958
Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt
Guard against crash with an invalid world trying to be opened from the content browser
#rb none
https://jira.ol.epicgames.net/browse/UE-35712
Change 3119433 on 2016/09/09 by Nick.Darnell
Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around.
#rb Matt.Kuklenschmidt
#jira UE-35789
Change 3119448 on 2016/09/09 by Alex.Delesky
When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface.
#rb Nick.Darnell
Change 3119522 on 2016/09/09 by Jamie.Dale
Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true
#rb Matt.Kuhlenschmidt
Change 3119528 on 2016/09/09 by Jamie.Dale
Some UI re-work to the localization dashboard
This makes a better use of the available space, and will make it easier to make some other planned changes in the future.
#rb James.Hopkin
Change 3119861 on 2016/09/09 by Michael.Dupuis
#jira UE-9284 Added the Play/Stop button on the thumbnail
#rb Alexis.Matte
Change 3120027 on 2016/09/09 by Alexis.Matte
incorporate some fixes from licensee for LOD group re-import workflow
#jira UE-32268
#rb uriel.doyon
#codereview matt.kuhlenschmidt
Change 3120845 on 2016/09/12 by Gareth.Martin
Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1)
#jira UE-35850
#rb Allan.Bentham
Change 3120980 on 2016/09/12 by Nick.Darnell
Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager.
#rb none
Change 3120992 on 2016/09/12 by Alex.Delesky
#jira UE-35575 - TScriptInterface UProperties now have asset picker support.
#rb Matt.Kuhlenschmidt
Change 3121074 on 2016/09/12 by Michael.Dupuis
#jira UE-30092
Added path length in error message when typing
Added display of current filepath lenght for cooking
#rb Alexis.Matte
Change 3121113 on 2016/09/12 by Nick.Darnell
Adding some placeholder examples to show people how to author tests in EngineTest.
#rb none
Change 3121152 on 2016/09/12 by Gareth.Martin
Added TElementType, TIsContiguousContainer traits
Added GetData(), GetNum() generic functions
#rb Steve.Robb
Change 3121702 on 2016/09/12 by Jamie.Dale
Optimized a loop over a sorted list to instead use a binary search
This speeds up the short-lived allocation view generation.
We also now dump the exception information to the Trace log when in a non-debug build.
#rb James.Hopkin
Change 3121721 on 2016/09/12 by Jamie.Dale
We now set the window mode first when resizing the game viewport to ensure that the work area is correct
Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode.
#jira UE-32842
#rb Matt.Kuhlenschmidt
Change 3122578 on 2016/09/13 by Jamie.Dale
Small code clean up
Removed a use of the placement new style array addition.
#rb none
Change 3122634 on 2016/09/13 by Jamie.Dale
We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick
#jira UE-34865
#rb James.Hopkin
Change 3122656 on 2016/09/13 by Jamie.Dale
Fixed array combo button not focusing its contents, which prevented the menu closing correctly
#jira UE-33667
#rb none
Change 3122661 on 2016/09/13 by Nick.Darnell
Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs.
#rb none
Change 3122678 on 2016/09/13 by Jamie.Dale
Fixing CIS error on Clang
CoreUObject needs to be included before USTRUCT can be used.
#rb none
Change 3122686 on 2016/09/13 by Jamie.Dale
Fixing CIS error on Clang
CoreUObject needs to be included before UCLASS can be used.
#rb none
Change 3122728 on 2016/09/13 by Nick.Darnell
UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface.
#jira UE-35167
#rb none
Change 3122775 on 2016/09/13 by Nick.Darnell
Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH.
#rb none
Change 3122779 on 2016/09/13 by Nick.Darnell
Widgetnimation - Exposing more of the class to C++.
#rb none
Change 3122793 on 2016/09/13 by Nick.Darnell
Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance.
#jira UE-35796
#rb none
Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt
Fixed crash undoing moves after bsp creation
https://jira.ol.epicgames.net/browse/UE-35880
#rb none
Change 3122835 on 2016/09/13 by Nick.Darnell
Reverting changes to WIdgetAnimation
#rb none
Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt
Fixed non-editor compile error
#rb none
Change 3122988 on 2016/09/13 by Alexis.Matte
Material workflow refactor
#jira UETOOL-774
#rb matt.kuhlenschmidt
Change 3123006 on 2016/09/13 by Jamie.Dale
Fixed dynamic collections not returning anything
#jira UE-35869
#rb James.Hopkin
Change 3123145 on 2016/09/13 by Alexis.Matte
Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build.
#jira UE-32268
#rb none
#codereview matt.kuhlenschmidt
Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt
Fix fortnite compile error
#rb alexis.matte
Change 3123208 on 2016/09/13 by Jamie.Dale
The 'find culprit' dialog now honors the user choice
#rb RichTW
Change 3123545 on 2016/09/13 by Nick.Darnell
Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows.
#rb none
Change 3124494 on 2016/09/14 by Jamie.Dale
Added ~ to the list of invalid characters for object/package names
#jira UE-12908
#rb Matt.Kuhlenschmidt
Change 3124513 on 2016/09/14 by Gareth.Martin
Implemented filter to allow painting foliage on other foliage
- Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes
#rb Allan.Bentham
#2472
Change 3124523 on 2016/09/14 by Jamie.Dale
PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster)
#jira UE-34811
#jira UE-32082
#rb none
Change 3124607 on 2016/09/14 by Nick.Darnell
UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function.
#jira UE-35667
#rb none
Change 3124785 on 2016/09/14 by Gareth.Martin
Made some foliage functions editor-only to fix non-editor build
#rb none
Change 3124795 on 2016/09/14 by Gareth.Martin
Saved/loaded the new foliage filter
#rb Allan.Bentham
#2472
Change 3124915 on 2016/09/14 by Michael.Dupuis
#jira UE-19511
Add support for Add to source control on DefaultEditorPerProjectUserSettings file
Remove CheckoutNotice when not editing a DefaultXXXX.ini file
Edit proper config file either we're modifying settings from a Default file or Local user file
#codereview Matt.Kuhlenschmidt Max.Preussner
#rb Alexis.Matte
Change 3125266 on 2016/09/14 by Jamie.Dale
Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong
#rb none
Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt
Fix crash when using SaveAs to save over top of an existing level
#rb none
https://jira.ol.epicgames.net/browse/UE-35919
https://jira.ol.epicgames.net/browse/UE-35921
Change 3125487 on 2016/09/14 by Alexis.Matte
Fix cook content, regression induce by the material workflow refactor
#rb matt.kuhlenschmidt
Change 3126217 on 2016/09/15 by Gareth.Martin
Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances
#rb Allan.Bentham
Change 3126311 on 2016/09/15 by Jamie.Dale
Placement mode fixes
- The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const.
- Ensured that the ID used by FPlaceableItem could never overflow.
- Fixed some types being missing from the "All Classes" list.
- Fixed the escape key not cancelling the search.
#jira UE-35972
#rb James.Hopkin
Change 3126325 on 2016/09/15 by Jamie.Dale
Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added.
#rb Andrew.Rodham
Change 3126403 on 2016/09/15 by Gareth.Martin
Added Find and Contains functions to TBitArray
#rb Steve.Robb
Change 3126405 on 2016/09/15 by Gareth.Martin
Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor
- Just like regular instanced mesh components!
Also fixed not being able to move instances of an instanced mesh component when it is the root component
Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished)
#jira UE-29357
#rb Allan.Bentham
Change 3126444 on 2016/09/15 by Jamie.Dale
Fixed the loc dashboard configs not working with SCC
This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul.
#rb none
Change 3126446 on 2016/09/15 by Jamie.Dale
Fixed loc dashboard game and engine targets sharing the same expansion settting
#rb none
Change 3126555 on 2016/09/15 by Chris.Wood
Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path.
[UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows
#rb Steve.Robb
Change 3126586 on 2016/09/15 by Gareth.Martin
Fixed missing landscape components when using a LODBias (cloned from 4.13.1)
#jira UE-35873
#rb Jack.Porter
Change 3126610 on 2016/09/15 by Jamie.Dale
Stopped PS4 from always staging all ICU data files
#rb Marcus.Wassmer
Change 3126779 on 2016/09/15 by Michael.Dupuis
#jira UE-32914 Improve the help text to provide usage examples and params
#rb Alexis.Matte
Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt
Fix font material and outline font material not being animatable in sequencer
#rb frank.fella
Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt
File not saved
#rb none
Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt
Fixed reset to default state still not appearing in all cases after changing a property.
#rb none
Change 3127038 on 2016/09/15 by Nick.Darnell
UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable.
#rb none
Change 3127061 on 2016/09/15 by Nick.Darnell
Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children.
#jira UE-35726
#rb Matt.Kuchlenschmidt
Change 3127205 on 2016/09/15 by Alex.Delesky
#jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency.
#rb Nick.Darnell
Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt
Fix crash in scene outliner if actors become invalid
#rb none
https://jira.ol.epicgames.net/browse/UE-35932
Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt
Added guards for crashes accessing slate resources for deleted uobjects
#rb nick.darnell
Change 3128067 on 2016/09/16 by Michael.Dupuis
#jira UE-34158 Add an option to auto expand advanced details
#rb Alexis.Matte
Change 3128073 on 2016/09/16 by Michael.Dupuis
#jira UE-1145
Set Save As to Ctrl + Alt + S
Set Save All to Ctrl + Shift + S
Set Save Current to Ctrl + S
#rb Alexis.Matte
Change 3128117 on 2016/09/16 by Jamie.Dale
Updated the pin-type filter combo to filter on both the localized and source type descriptions
#jira UE-36081
#rb none
Change 3128177 on 2016/09/16 by Alexis.Matte
#jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value.
#rb michael.dupuis
#codereview matt.kuhlenschmidt
Change 3128387 on 2016/09/16 by Gareth.Martin
Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes
#jira UE-36093
#rb none
Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt
Guard against scene outliner crash. Print out tree when items appear twice.
https://jira.ol.epicgames.net/browse/UE-35935
#rb none
Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt
Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget
#rb none
Change 3128482 on 2016/09/16 by Michael.Dupuis
Added new key binding for generic Save, Save As
Added new key binding for Save All for the content browser
#rb Alexis.Matte (approved by MattK)
Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt
Fix build warning
#codereview nick.darnell
#rb none
Change 3128642 on 2016/09/16 by Alexis.Matte
#jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear
#rb none
#codereview matt.kuhlenschmidt
Change 3128733 on 2016/09/16 by Nick.Darnell
UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly.
#jira UE-36105
#rb none
Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt
Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor
#rb none
Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt
Fix offset characters on some small fonts
#rb none
Change 3130057 on 2016/09/19 by Jamie.Dale
Fixing volatility and invalidation issues for text widgets
#jira UE-33988
#rb Nick.Darnell
Change 3130064 on 2016/09/19 by Jamie.Dale
Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly
#rb James.Hopkin
Change 3130233 on 2016/09/19 by Michael.Dupuis
#jira UE-32914 Added missing args that the UI supported
#rb Alexis.Matte
Change 3130265 on 2016/09/19 by Nick.Darnell
Automation - Cleaning up some API items.
#rb none
Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt
Fix reentrancy saving assets while a prompt for checkout dialog is open
#rb none
Change 3130398 on 2016/09/19 by Jamie.Dale
Fixing UHT error when building
#rb none
Change 3132101 on 2016/09/20 by Nick.Darnell
UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals.
#rb none
Change 3132110 on 2016/09/20 by Nick.Darnell
PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist)
#jira UE-13770
#rb Nick.Darnell
Change 3132111 on 2016/09/20 by Nick.Darnell
UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly.
#rb none
Change 3132138 on 2016/09/20 by Michael.Dupuis
#jira UE-30945 Added missing PostEditComponentMove after drag is finished
#rb Alexis.Matte
Change 3132147 on 2016/09/20 by Michael.Dupuis
#jira UE-30866 Fixed the filter to work properly
#rb Alexis.Matte
Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt
Fix static analysis warnings in this file
#rb none
Change 3132231 on 2016/09/20 by Nick.Darnell
Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected.
#jira UE-33285
#rb none
Change 3132255 on 2016/09/20 by Alex.Delesky
#jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container.
#rb Matt.Kuhlenschmidt
Change 3132587 on 2016/09/20 by Mike.Fricker
MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604)
#rb none
#lockdown matt.kuhlenschmidt
Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt
Fix crash opening the cooker settings
https://jira.it.epicgames.net/browse/UE-36197
#rb none
#lockdown nick.darnell
Change 3133144 on 2016/09/20 by Nick.Darnell
Build configuration for automation tests.
#rb none
#lockdown matt.kuhlenschmidt
Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt
Fix default material on odin text
#rb none
#lockdown nick.darnell
Change 3133913 on 2016/09/21 by Nick.Darnell
Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp
#rb none
#jira UE-36231
#lockdown matt.kuhlenschmidt
[CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
NewExpression - > Function = MaterialFunction ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
// Make sure the param name is valid after the paste
if ( NewExpression - > HasAParameterName ( ) )
{
NewExpression - > ValidateParameterName ( ) ;
}
2014-03-14 14:13:41 -04:00
Material - > Expressions . Add ( NewExpression ) ;
// There can be only one default mesh paint texture.
UMaterialExpressionTextureBase * TextureSample = Cast < UMaterialExpressionTextureBase > ( NewExpression ) ;
if ( TextureSample )
{
TextureSample - > IsDefaultMeshpaintTexture = false ;
}
NewExpression - > UpdateParameterGuid ( true , true ) ;
2016-02-01 14:57:29 -05:00
Material - > AddExpressionParameter ( NewExpression , Material - > EditorParameters ) ;
2014-03-14 14:13:41 -04:00
UMaterialExpressionFunctionInput * FunctionInput = Cast < UMaterialExpressionFunctionInput > ( NewExpression ) ;
if ( FunctionInput )
{
FunctionInput - > ConditionallyGenerateId ( true ) ;
FunctionInput - > ValidateName ( ) ;
}
UMaterialExpressionFunctionOutput * FunctionOutput = Cast < UMaterialExpressionFunctionOutput > ( NewExpression ) ;
if ( FunctionOutput )
{
FunctionOutput - > ConditionallyGenerateId ( true ) ;
FunctionOutput - > ValidateName ( ) ;
}
2015-07-01 12:55:20 -04:00
UMaterialExpressionMaterialFunctionCall * FunctionCall = Cast < UMaterialExpressionMaterialFunctionCall > ( NewExpression ) ;
if ( FunctionCall )
{
2015-08-13 10:36:03 -04:00
// When pasting new nodes, we don't want to break all node links as this information is used by UpdateMaterialAfterGraphChange() below,
// to recreate all the connections in the pasted group.
// Just update the function input/outputs here.
const bool bRecreateAndLinkNode = false ;
FunctionCall - > UpdateFromFunctionResource ( bRecreateAndLinkNode ) ;
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
// If an unknown material function has been pasted, remove the graph node pins (as the expression will also have had its inputs/outputs removed).
// This will be displayed as an orphaned "Unspecified Function" node.
if ( FunctionCall - > MaterialFunction = = nullptr & &
FunctionCall - > FunctionInputs . Num ( ) = = 0 & &
FunctionCall - > FunctionOutputs . Num ( ) = = 0 )
{
GraphNode - > Pins . Empty ( ) ;
}
2015-07-01 12:55:20 -04:00
}
2014-03-14 14:13:41 -04:00
}
else if ( UMaterialGraphNode_Comment * CommentNode = Cast < UMaterialGraphNode_Comment > ( Node ) )
{
CommentNode - > MaterialDirtyDelegate = Material - > MaterialGraph - > MaterialDirtyDelegate ;
CommentNode - > MaterialExpressionComment - > Material = Material ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3077573 on 2016/08/04 by Nick.Darnell
Removing some unused code, adding additional needed modules to editor tests.
#rb none
Change 3077580 on 2016/08/04 by Nick.Darnell
Removing the test plugins, going to be recreating them in EngineTest.
Change 3082659 on 2016/08/09 by Nick.Darnell
Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them.
#rb none
Change 3082766 on 2016/08/09 by Jamie.Dale
Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings
ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32.
#jira UE-33971
#rb James.Hopkin
Change 3083067 on 2016/08/09 by Nick.Darnell
Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is.
#rb none
Change 3084475 on 2016/08/10 by Richard.TalbotWatkin
Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds.
#jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server
#codereview Matt.Kuhlenschmidt
#rb none
Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt
Added grayscale texture importing support
#rb none
Change 3084774 on 2016/08/10 by Cody.Albert
Adding controller support for ComboBox widget
#jira UE-33826
#rb nick.darnell
Change 3085716 on 2016/08/11 by Nick.Darnell
UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with.
#rb none
Change 3085733 on 2016/08/11 by Nick.Darnell
UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable.
#rb none
Change 3085734 on 2016/08/11 by Nick.Darnell
Texture - Making GetDefaultMipMapBias a bit more efficent in the common case.
#rb none
Change 3085736 on 2016/08/11 by Nick.Darnell
Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings.
#rb none
Change 3085737 on 2016/08/11 by Nick.Darnell
Editor - code organization.
#rb none
Change 3085875 on 2016/08/11 by Nick.Darnell
UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer.
#rb none
Change 3086209 on 2016/08/11 by Ben.Salem
Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format.
#rb adric.worley, william.ewen
Change 3086515 on 2016/08/11 by Nick.Darnell
Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case.
#rb Matt.Kuhlenschmidt
Change 3087216 on 2016/08/12 by Jamie.Dale
Fixed an issue where re-scanning a package file may leave old assets in the asset registry
We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package.
This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work).
#rb Andrew.Rodham
Change 3087219 on 2016/08/12 by Jamie.Dale
Updated TextRenderComponent to support multiple font pages
It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page).
#rb Matt.Kuhlenschmidt
Change 3087308 on 2016/08/12 by Alex.Delesky
#jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added.
#rb Matt.Kuhlenschmidt
Change 3089140 on 2016/08/15 by Jamie.Dale
We now abort a directory watch if we lose access to the directory in question
This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted.
#jira UE-30172
#rb Andrew.Rodham
Change 3089148 on 2016/08/15 by Alexis.Matte
Allow fbx export of any actor type.
#rb none
#codereview dmitriy.dyomin
Change 3089211 on 2016/08/15 by Jamie.Dale
Unified access to the parent window for external dialogs
A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible.
You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window.
#rb Andrew.Rodham
Change 3089640 on 2016/08/15 by Jamie.Dale
Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc
#rb none
Change 3089661 on 2016/08/15 by Nick.Darnell
Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see.
#rb none
Change 3089667 on 2016/08/15 by Cody.Albert
Updating RoutePointerUpEvent to call OnDrop for touch events when dragging
#jira UE-34709
#rb nick.darnell
Change 3089694 on 2016/08/15 by Jamie.Dale
Applied a fix to the ExcludeClasses setting in the loc gather
#rb none
Change 3089889 on 2016/08/15 by Nick.Darnell
Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities.
#rb none
Change 3090256 on 2016/08/16 by Nick.Darnell
Automation - working on screenshots.
#rb none
Change 3090322 on 2016/08/16 by Nick.Darnell
Automation - Adding modified screenshot function.
#rb none
Change 3090335 on 2016/08/16 by Nick.Darnell
Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins.
#rb none
Change 3090881 on 2016/08/16 by Nick.Darnell
Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected.
#rb none
Change 3090884 on 2016/08/16 by Nick.Darnell
Plugins - There's now support for generating a Content Only plugin from the new plugin wizard.
#rb none
Change 3090911 on 2016/08/16 by Nick.Darnell
Feature Packs - If there's an error loading a manifest, it's now an error, not a warning.
#rb none
Change 3090913 on 2016/08/16 by Jamie.Dale
Optimization and usability improvements of the MemoryProfiler2 tool
- Optimized the processing of the Callgraph, Histogram, and Short lived allocations views.
- The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds.
- The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds.
- The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds.
- Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks).
#jira UETOOL-948
#jira UETOOL-949
#rb James.Hopkin
Change 3090962 on 2016/08/16 by Jamie.Dale
Fixed double assignment of filter functions
#rb none
Change 3090989 on 2016/08/16 by Nick.Darnell
Editor - Attempting to fix the build, non-unity issue I suspect.
#rb none
Change 3091754 on 2016/08/17 by Nick.Darnell
FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc.
#rb none
#codereview Alexis.Matte
Change 3091758 on 2016/08/17 by Nick.Darnell
Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens.
#rb none
#codereview Nick.Atamas,Matt.Kuhlenschmidt
Change 3091829 on 2016/08/17 by Nick.Darnell
Build - Attempting to repair the build.
#rb none
Change 3091920 on 2016/08/17 by Nick.Darnell
Build - Another attempt at fixing the mac build.
#rb none
Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt
Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying
#rb none
Change 3094474 on 2016/08/19 by Jamie.Dale
Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled
#jira UETOOL-951
#rb James.Hopkin
Change 3094581 on 2016/08/19 by Jamie.Dale
Added missing allocator filter needed by PS4 profiles
#rb none
Change 3094681 on 2016/08/19 by Richard.TalbotWatkin
Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer.
#jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation
#rb none
Change 3095163 on 2016/08/19 by Trung.Le
#jira UE-20849: Added tooltips to the inputs of the Material final result node
#rb matt.kuhlenschmidt
Change 3095285 on 2016/08/19 by Trung.Le
#jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member
#rb none
Change 3095344 on 2016/08/19 by Alexis.Matte
#jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine.
Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter).
#rb none
#codereview matt.kuhlenschmidt
Change 3096162 on 2016/08/22 by Alexis.Matte
#jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu.
#rb none
#codereview matt.kuhlenschmidt
Change 3096261 on 2016/08/22 by Alexis.Matte
#jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process.
#rb lina.halper
#codereview lina.halper
Change 3096344 on 2016/08/22 by Jamie.Dale
NSString conversion fix for UTF-32 strings containing characters outside of the BMP
#jira UE-33971
#rb Peter.Sauerbrei, James.Hopkin
Change 3096605 on 2016/08/22 by Alex.Delesky
#jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any.
#rb Matt.Kuhlenschmidt
Change 3096615 on 2016/08/22 by Alex.Delesky
#jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin.
#rb Matt.Kuhlenschmidt
Change 3096619 on 2016/08/22 by Alex.Delesky
#jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel.
#rb Matt.Kuhlenschmidt
Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt
PR #2729: Fix a typo in the comment (Contributed by adcentury)
#rb none
Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt
PR #2726: Undef unused macros (Contributed by shrimpy56)
#rb none
Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt
Guard against crash when details panels rebuild when their customizations have been torn down
https://jira.ol.epicgames.net/browse/UE-35048
#rb none
Change 3097757 on 2016/08/23 by Alex.Delesky
#jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap
#rb Matt.Kuhlenschmidt
Change 3098164 on 2016/08/23 by Alexis.Matte
#jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation.
#rb none
#codereview matt.kuhlenschmidt
Change 3098502 on 2016/08/23 by Alexis.Matte
#jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true
#rb none
#codereview matt.kuhlenschmidt
Change 3099986 on 2016/08/24 by Jamie.Dale
Fixing non-editor builds
#rb none
Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt
Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc)
#rb none
Change 3101280 on 2016/08/25 by Jamie.Dale
Fixed crash when counting memory over internationalization meta-data
- The serialization code only used to handle loading or saving, now it handles loading or not loading.
- The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override.
#rb James.Hopkin
Change 3101283 on 2016/08/25 by Jamie.Dale
MProf2 platform and symbol parsing improvements
- Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks).
- Added a PS4 symbol parser which handles performing full file/line resolution for symbols.
- Removed all the V3 file format support and legacy platform handling.
- Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup.
#rb James.Hopkin
Change 3101586 on 2016/08/25 by Jamie.Dale
Small code cleanup and path normalization
#rb James.Hopkin
Change 3101837 on 2016/08/25 by Alexis.Matte
#jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations
#rb none
#codereview matt.kuhlenschmidt
Change 3102537 on 2016/08/26 by Jamie.Dale
Fix for potential crash in FICUCamelCaseBreakIterator
In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is.
#rb James.Hopkin
Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt
Log the freetype version when it starts up (for debugging purposes)
#rb none
Change 3102657 on 2016/08/26 by Alexis.Matte
#jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader.
#review-3101585 @uriel.doyon
#rb matt.kuhlenschmidt
Change 3102704 on 2016/08/26 by Jamie.Dale
Added symbol meta-data support to MProf2
You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file.
PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user.
#rb James.Hopkin
Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt
Added support for outline fonts
- An outline size (in slate units), optional material and optional fill color can be specified with each font info.
- Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines
- Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas
#rb jamie.dale
Change 3102879 on 2016/08/26 by Jamie.Dale
Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files
#rb none
Change 3102960 on 2016/08/26 by Alexis.Matte
build fix
#rb none
Change 3103032 on 2016/08/26 by Jamie.Dale
Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting
#jira UE-34936
#rb Matt.Kuhlenschmidt
Change 3103278 on 2016/08/26 by Jamie.Dale
Fixing Clang warnings
#rb none
Change 3104211 on 2016/08/29 by Ben.Marsh
Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them.
#rb none
Change 3104290 on 2016/08/29 by Alex.Delesky
Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with.
#rb Matt.Kuhlenschmidt
Change 3104292 on 2016/08/29 by Alex.Delesky
#jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac.
#rb Matt.Kuhlenschmidt
Change 3104294 on 2016/08/29 by Alex.Delesky
#jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget
#rb Matt.Kuhlenschmidt
Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt
PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx)
#rb none
Change 3104296 on 2016/08/29 by Alex.Delesky
#jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero.
#rb Matt.Kuhlenschmidt
Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt
Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out.
#rb none
Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt
Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it.
#rb none
#jira UE-31865
Change 3104396 on 2016/08/29 by Ben.Marsh
Fix incrorrect agent names for running automated tests
Change 3104610 on 2016/08/29 by Alex.Delesky
Fix for AutomationTool compile editor from changes introduced today.
#rb None
Change 3104611 on 2016/08/29 by Michael.Dupuis
#jira UETOOL-253
#rb Alexis.Matte
Change 3105826 on 2016/08/30 by Gareth.Martin
Added console variables to discard grass and/or scalable foliage data on load
#jira UE-35086
#rb Benn
Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt
Eliminated bad code duplication between retainer widgets and element batcher
#rb none
#codereview nick.darnell
Change 3106449 on 2016/08/30 by Michael.Dupuis
#jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu)
#rb Alexis.Matte
Change 3106966 on 2016/08/30 by Jamie.Dale
Fixed FApp::IsAuthorizedUser not considering the SessionOwner override
#rb Max.Preussner
Change 3107687 on 2016/08/31 by Michael.Dupuis
Checkout/Make Writable on proper config file
#rb Matt Kuhlenschmidt
Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt
Fixed mode typos in the lerp instruction
#rb none
Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt
Logging and guard against UEditorEngine::TeardownPlaySession crash.
#rb none
https://jira.ol.epicgames.net/browse/UE-35325
Change 3107912 on 2016/08/31 by Alex.Delesky
#jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations.
#rb Matt.Kuhlenschmidt
Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt
Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file.
#rb none
Change 3108027 on 2016/08/31 by Chris.Wood
Re-added lost doc comment for analytics event "Engine.AbnormalShutdown".
#rb none - just a comment in a cpp file
#codereview wes.hunt
Change 3108580 on 2016/08/31 by Mike.Fricker
Deleted the "Live Editor" plugins from UE4
- These were undocumented, buggy and never finished, and we have no plans to complete them
- Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files
#codereview matt.kuhlenschmidt
#rb matt.kuhlenschmidt
Change 3108604 on 2016/08/31 by Mike.Fricker
Added new "MIDI Device" plugin (disabled by default)
- This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer
- Currently only input is supported. In the future we might allow for output, as well.
- In Blueprints, here's how to use it:
- Look for "MIDI Device Manager" in the Blueprint RMB menu
- Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available.
- Then call "Create MIDI Device Controller" for the device you want. Store that in a variable.
- On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive.
- Process the data passed into the Event to make your project do stuff!
- This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin)
#codereview matt.kuhlenschmidt
#rb none
Change 3108760 on 2016/08/31 by Alexis.Matte
#jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false.
#rb none
#codereview matt.kuhlenschmidt
Change 3109006 on 2016/08/31 by Alex.Delesky
#ignore Source Control rename test - initial commit
Change 3109044 on 2016/08/31 by Alex.Delesky
#ignore Testing asset rename from P4 to observe correct behavior.
#rb none
Change 3109048 on 2016/08/31 by Alex.Delesky
#ignore Testing P4 rename to identify correct behavior
#rb none
Change 3110044 on 2016/09/01 by Gareth.Martin
Fixed painting foliage on blocking "query" actors not working
#jira UE-33852
#rb Allan.Bentham
Change 3110133 on 2016/09/01 by Alexis.Matte
Fix crash in function GetForceRecompileTextureIdsHash
#rb none
#codereview jamie.dale
Change 3111848 on 2016/09/02 by Mike.Fricker
MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux)
- Fixed bad enum cast
#rb none
Change 3111995 on 2016/09/02 by Michael.Dupuis
#jira UE-35263
Do not try selecting the actor if the actor is in the blueprint
Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process
#rb Alexis Matte
Change 3112280 on 2016/09/02 by Michael.Dupuis
Call MakeWritable if source control fail
#rb Alexis Matte
Change 3112335 on 2016/09/02 by Cody.Albert
Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode
#jira UE-35306
#rb none
Change 3112478 on 2016/09/02 by Alexis.Matte
#jira UE-20059 Use a base material to import fbx material.
#rb uriel.doyon
#codereview matt.kuhlenschmidt
#1468 Github pull request number
Change 3113912 on 2016/09/06 by Michael.Dupuis
#jira UE-32288 Fixed Console params display
#rb Alexis Matte
Change 3114026 on 2016/09/06 by Alex.Delesky
#jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again.
#rb Matt.Kuhlenschmidt
Change 3114032 on 2016/09/06 by Alex.Delesky
PR #2733: Improved the project launcher progress page (Contributed by projectgheist)
#jira UE-34027
#rb Matt.Kuhlenschmidt
Change 3114034 on 2016/09/06 by Alex.Delesky
#jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable
#rb Matt.Kuhlenschmidt
Change 3114071 on 2016/09/06 by Nick.Darnell
[AUTOMATED TEST] Automatic checkin, testing functionality.
Change 3114109 on 2016/09/06 by Nick.Darnell
[AUTOMATED TEST] Automatic checkin, testing functionality.
Change 3114562 on 2016/09/06 by Nick.Darnell
Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue.
#rb none
Change 3114701 on 2016/09/06 by Michael.Dupuis
#jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView
#rb Alexis Matte
Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt
Prevent non-thread safe slate code from running on the slate loading thread
#rb none
Change 3115698 on 2016/09/07 by Nick.Darnell
Make sure the commands are available - during functional testing that was found to not always be the case.
#rb none
Change 3115719 on 2016/09/07 by Nick.Darnell
Adding an IsRegistered command to commands.
#rb none
Change 3115721 on 2016/09/07 by Nick.Darnell
Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly.
#rb none
Change 3115722 on 2016/09/07 by Nick.Darnell
IsBindWidgetProperty now returns false if the property passed in is null.
#rb none
Change 3115734 on 2016/09/07 by Alexis.Matte
#jira UE-30166 Support fbx sdk 2017
#rb none
Change 3115737 on 2016/09/07 by Nick.Darnell
Adding an image comparer for screenshots. Removing some content from EngineTest.
#rb none
Change 3115743 on 2016/09/07 by Nick.Darnell
Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing!
#rb none
Change 3115748 on 2016/09/07 by Nick.Darnell
Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds.
#rb none
Change 3115789 on 2016/09/07 by Jamie.Dale
We now favor Traditional Chinese for Hong Kong and Macau
#rb James.Hopkin
Change 3115799 on 2016/09/07 by Jamie.Dale
Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped
#rb James.Hopkin
Change 3115826 on 2016/09/07 by Nick.Darnell
Adding missing files.
#rb none
Change 3115838 on 2016/09/07 by Nick.Darnell
Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h
#rb none
Change 3116007 on 2016/09/07 by Alexis.Matte
build fix
#rb none
Change 3116057 on 2016/09/07 by Jamie.Dale
Fixed widget snapshot messages so they appear in the message debugger
#rb none
Change 3116112 on 2016/09/07 by Nick.Darnell
Removing the FbxAutomationBuilder file that go recreated on a merge from main.
#rb none
Change 3116365 on 2016/09/07 by Michael.Dupuis
#jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work.
#codereview Matt.Kuhlenschmidt
#rb Alexis.Matte
Change 3116622 on 2016/09/07 by Alexis.Matte
#jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name.
#rb matt.kuhlenschmidt
Change 3116638 on 2016/09/07 by Jamie.Dale
Ensured that manifests and archives don't try and load data that they can't parse
#rb none
Change 3117397 on 2016/09/08 by Gareth.Martin
Added rotate and blend support to the landscape mirror tool
#jira UE-34829
#rb Jack.Porter
Change 3117459 on 2016/09/08 by Gareth.Martin
Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1)
#jira UE-35301
#rb Jack.Porter
Change 3117462 on 2016/09/08 by Gareth.Martin
Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1)
#jira UE-35494
#rb Benn.Gallagher
Change 3117583 on 2016/09/08 by Nick.Darnell
Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots.
#rb none
Change 3117595 on 2016/09/08 by Nick.Darnell
Updating the build script for AutomatedTests, going to see if this works!
#rb none
Change 3117808 on 2016/09/08 by Nick.Darnell
Adding header includes for async.
#rb none
Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt
Partially taken from Pr 2381
Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem.
#rb none
Change 3117851 on 2016/09/08 by Jamie.Dale
Silenced some redundant P4 errors that could be generated when running a stat update on a file
Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command.
#rb Ben.Marsh
#codereview Thomas.Sarkanen
Change 3117853 on 2016/09/08 by Gareth.Martin
Clean up landscape includes and PCH
#rb steve.robb
Change 3117859 on 2016/09/08 by Alex.Delesky
#jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse.
#rb Nick.Darnell
Change 3117997 on 2016/09/08 by Nick.Darnell
Updating the automation tests build script to use Editor-Cmd
#rb none
Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt
Properly reference graph node on material expressions so they are not GC'd while an expression still uses them
#jira UE-35362
#rb none
Change 3118043 on 2016/09/08 by Alex.Delesky
#jira UE-30649 - Removed unnecessary returns from UWidget API.
PR #2377: fix widget bug. (Contributed by dorgonman)
#rb none
Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt
Guard against crash saving config during level editor shutdown
#rb none
#jira UE-35605
Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt
PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist)
#rb none
Change 3118078 on 2016/09/08 by Michael.Dupuis
#jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified
#rb Alexis.Matte
Change 3118080 on 2016/09/08 by Michael.Dupuis
#jira UE-31131 Do not show a contextual menu if the menu is empty
#rb Alexis.Matte
Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt
Constify this method
#rb none
Change 3118166 on 2016/09/08 by Nick.Darnell
Trying additional command options for the build machine for automation.
#rb none
Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt
Fix actor delete during mesh paint not working during undo
#rb none
#jira UE-35684
Change 3118298 on 2016/09/08 by Alexis.Matte
#jira UE-35302 Export all LODs for static mesh when there is no force LOD
#rb uriel.doyon
Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt
Fixed reset to default not appearing for slate brushes
#rb none
#jira UE-34958
Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt
Guard against crash with an invalid world trying to be opened from the content browser
#rb none
https://jira.ol.epicgames.net/browse/UE-35712
Change 3119433 on 2016/09/09 by Nick.Darnell
Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around.
#rb Matt.Kuklenschmidt
#jira UE-35789
Change 3119448 on 2016/09/09 by Alex.Delesky
When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface.
#rb Nick.Darnell
Change 3119522 on 2016/09/09 by Jamie.Dale
Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true
#rb Matt.Kuhlenschmidt
Change 3119528 on 2016/09/09 by Jamie.Dale
Some UI re-work to the localization dashboard
This makes a better use of the available space, and will make it easier to make some other planned changes in the future.
#rb James.Hopkin
Change 3119861 on 2016/09/09 by Michael.Dupuis
#jira UE-9284 Added the Play/Stop button on the thumbnail
#rb Alexis.Matte
Change 3120027 on 2016/09/09 by Alexis.Matte
incorporate some fixes from licensee for LOD group re-import workflow
#jira UE-32268
#rb uriel.doyon
#codereview matt.kuhlenschmidt
Change 3120845 on 2016/09/12 by Gareth.Martin
Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1)
#jira UE-35850
#rb Allan.Bentham
Change 3120980 on 2016/09/12 by Nick.Darnell
Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager.
#rb none
Change 3120992 on 2016/09/12 by Alex.Delesky
#jira UE-35575 - TScriptInterface UProperties now have asset picker support.
#rb Matt.Kuhlenschmidt
Change 3121074 on 2016/09/12 by Michael.Dupuis
#jira UE-30092
Added path length in error message when typing
Added display of current filepath lenght for cooking
#rb Alexis.Matte
Change 3121113 on 2016/09/12 by Nick.Darnell
Adding some placeholder examples to show people how to author tests in EngineTest.
#rb none
Change 3121152 on 2016/09/12 by Gareth.Martin
Added TElementType, TIsContiguousContainer traits
Added GetData(), GetNum() generic functions
#rb Steve.Robb
Change 3121702 on 2016/09/12 by Jamie.Dale
Optimized a loop over a sorted list to instead use a binary search
This speeds up the short-lived allocation view generation.
We also now dump the exception information to the Trace log when in a non-debug build.
#rb James.Hopkin
Change 3121721 on 2016/09/12 by Jamie.Dale
We now set the window mode first when resizing the game viewport to ensure that the work area is correct
Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode.
#jira UE-32842
#rb Matt.Kuhlenschmidt
Change 3122578 on 2016/09/13 by Jamie.Dale
Small code clean up
Removed a use of the placement new style array addition.
#rb none
Change 3122634 on 2016/09/13 by Jamie.Dale
We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick
#jira UE-34865
#rb James.Hopkin
Change 3122656 on 2016/09/13 by Jamie.Dale
Fixed array combo button not focusing its contents, which prevented the menu closing correctly
#jira UE-33667
#rb none
Change 3122661 on 2016/09/13 by Nick.Darnell
Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs.
#rb none
Change 3122678 on 2016/09/13 by Jamie.Dale
Fixing CIS error on Clang
CoreUObject needs to be included before USTRUCT can be used.
#rb none
Change 3122686 on 2016/09/13 by Jamie.Dale
Fixing CIS error on Clang
CoreUObject needs to be included before UCLASS can be used.
#rb none
Change 3122728 on 2016/09/13 by Nick.Darnell
UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface.
#jira UE-35167
#rb none
Change 3122775 on 2016/09/13 by Nick.Darnell
Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH.
#rb none
Change 3122779 on 2016/09/13 by Nick.Darnell
Widgetnimation - Exposing more of the class to C++.
#rb none
Change 3122793 on 2016/09/13 by Nick.Darnell
Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance.
#jira UE-35796
#rb none
Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt
Fixed crash undoing moves after bsp creation
https://jira.ol.epicgames.net/browse/UE-35880
#rb none
Change 3122835 on 2016/09/13 by Nick.Darnell
Reverting changes to WIdgetAnimation
#rb none
Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt
Fixed non-editor compile error
#rb none
Change 3122988 on 2016/09/13 by Alexis.Matte
Material workflow refactor
#jira UETOOL-774
#rb matt.kuhlenschmidt
Change 3123006 on 2016/09/13 by Jamie.Dale
Fixed dynamic collections not returning anything
#jira UE-35869
#rb James.Hopkin
Change 3123145 on 2016/09/13 by Alexis.Matte
Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build.
#jira UE-32268
#rb none
#codereview matt.kuhlenschmidt
Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt
Fix fortnite compile error
#rb alexis.matte
Change 3123208 on 2016/09/13 by Jamie.Dale
The 'find culprit' dialog now honors the user choice
#rb RichTW
Change 3123545 on 2016/09/13 by Nick.Darnell
Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows.
#rb none
Change 3124494 on 2016/09/14 by Jamie.Dale
Added ~ to the list of invalid characters for object/package names
#jira UE-12908
#rb Matt.Kuhlenschmidt
Change 3124513 on 2016/09/14 by Gareth.Martin
Implemented filter to allow painting foliage on other foliage
- Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes
#rb Allan.Bentham
#2472
Change 3124523 on 2016/09/14 by Jamie.Dale
PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster)
#jira UE-34811
#jira UE-32082
#rb none
Change 3124607 on 2016/09/14 by Nick.Darnell
UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function.
#jira UE-35667
#rb none
Change 3124785 on 2016/09/14 by Gareth.Martin
Made some foliage functions editor-only to fix non-editor build
#rb none
Change 3124795 on 2016/09/14 by Gareth.Martin
Saved/loaded the new foliage filter
#rb Allan.Bentham
#2472
Change 3124915 on 2016/09/14 by Michael.Dupuis
#jira UE-19511
Add support for Add to source control on DefaultEditorPerProjectUserSettings file
Remove CheckoutNotice when not editing a DefaultXXXX.ini file
Edit proper config file either we're modifying settings from a Default file or Local user file
#codereview Matt.Kuhlenschmidt Max.Preussner
#rb Alexis.Matte
Change 3125266 on 2016/09/14 by Jamie.Dale
Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong
#rb none
Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt
Fix crash when using SaveAs to save over top of an existing level
#rb none
https://jira.ol.epicgames.net/browse/UE-35919
https://jira.ol.epicgames.net/browse/UE-35921
Change 3125487 on 2016/09/14 by Alexis.Matte
Fix cook content, regression induce by the material workflow refactor
#rb matt.kuhlenschmidt
Change 3126217 on 2016/09/15 by Gareth.Martin
Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances
#rb Allan.Bentham
Change 3126311 on 2016/09/15 by Jamie.Dale
Placement mode fixes
- The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const.
- Ensured that the ID used by FPlaceableItem could never overflow.
- Fixed some types being missing from the "All Classes" list.
- Fixed the escape key not cancelling the search.
#jira UE-35972
#rb James.Hopkin
Change 3126325 on 2016/09/15 by Jamie.Dale
Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added.
#rb Andrew.Rodham
Change 3126403 on 2016/09/15 by Gareth.Martin
Added Find and Contains functions to TBitArray
#rb Steve.Robb
Change 3126405 on 2016/09/15 by Gareth.Martin
Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor
- Just like regular instanced mesh components!
Also fixed not being able to move instances of an instanced mesh component when it is the root component
Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished)
#jira UE-29357
#rb Allan.Bentham
Change 3126444 on 2016/09/15 by Jamie.Dale
Fixed the loc dashboard configs not working with SCC
This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul.
#rb none
Change 3126446 on 2016/09/15 by Jamie.Dale
Fixed loc dashboard game and engine targets sharing the same expansion settting
#rb none
Change 3126555 on 2016/09/15 by Chris.Wood
Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path.
[UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows
#rb Steve.Robb
Change 3126586 on 2016/09/15 by Gareth.Martin
Fixed missing landscape components when using a LODBias (cloned from 4.13.1)
#jira UE-35873
#rb Jack.Porter
Change 3126610 on 2016/09/15 by Jamie.Dale
Stopped PS4 from always staging all ICU data files
#rb Marcus.Wassmer
Change 3126779 on 2016/09/15 by Michael.Dupuis
#jira UE-32914 Improve the help text to provide usage examples and params
#rb Alexis.Matte
Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt
Fix font material and outline font material not being animatable in sequencer
#rb frank.fella
Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt
File not saved
#rb none
Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt
Fixed reset to default state still not appearing in all cases after changing a property.
#rb none
Change 3127038 on 2016/09/15 by Nick.Darnell
UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable.
#rb none
Change 3127061 on 2016/09/15 by Nick.Darnell
Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children.
#jira UE-35726
#rb Matt.Kuchlenschmidt
Change 3127205 on 2016/09/15 by Alex.Delesky
#jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency.
#rb Nick.Darnell
Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt
Fix crash in scene outliner if actors become invalid
#rb none
https://jira.ol.epicgames.net/browse/UE-35932
Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt
Added guards for crashes accessing slate resources for deleted uobjects
#rb nick.darnell
Change 3128067 on 2016/09/16 by Michael.Dupuis
#jira UE-34158 Add an option to auto expand advanced details
#rb Alexis.Matte
Change 3128073 on 2016/09/16 by Michael.Dupuis
#jira UE-1145
Set Save As to Ctrl + Alt + S
Set Save All to Ctrl + Shift + S
Set Save Current to Ctrl + S
#rb Alexis.Matte
Change 3128117 on 2016/09/16 by Jamie.Dale
Updated the pin-type filter combo to filter on both the localized and source type descriptions
#jira UE-36081
#rb none
Change 3128177 on 2016/09/16 by Alexis.Matte
#jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value.
#rb michael.dupuis
#codereview matt.kuhlenschmidt
Change 3128387 on 2016/09/16 by Gareth.Martin
Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes
#jira UE-36093
#rb none
Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt
Guard against scene outliner crash. Print out tree when items appear twice.
https://jira.ol.epicgames.net/browse/UE-35935
#rb none
Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt
Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget
#rb none
Change 3128482 on 2016/09/16 by Michael.Dupuis
Added new key binding for generic Save, Save As
Added new key binding for Save All for the content browser
#rb Alexis.Matte (approved by MattK)
Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt
Fix build warning
#codereview nick.darnell
#rb none
Change 3128642 on 2016/09/16 by Alexis.Matte
#jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear
#rb none
#codereview matt.kuhlenschmidt
Change 3128733 on 2016/09/16 by Nick.Darnell
UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly.
#jira UE-36105
#rb none
Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt
Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor
#rb none
Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt
Fix offset characters on some small fonts
#rb none
Change 3130057 on 2016/09/19 by Jamie.Dale
Fixing volatility and invalidation issues for text widgets
#jira UE-33988
#rb Nick.Darnell
Change 3130064 on 2016/09/19 by Jamie.Dale
Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly
#rb James.Hopkin
Change 3130233 on 2016/09/19 by Michael.Dupuis
#jira UE-32914 Added missing args that the UI supported
#rb Alexis.Matte
Change 3130265 on 2016/09/19 by Nick.Darnell
Automation - Cleaning up some API items.
#rb none
Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt
Fix reentrancy saving assets while a prompt for checkout dialog is open
#rb none
Change 3130398 on 2016/09/19 by Jamie.Dale
Fixing UHT error when building
#rb none
Change 3132101 on 2016/09/20 by Nick.Darnell
UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals.
#rb none
Change 3132110 on 2016/09/20 by Nick.Darnell
PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist)
#jira UE-13770
#rb Nick.Darnell
Change 3132111 on 2016/09/20 by Nick.Darnell
UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly.
#rb none
Change 3132138 on 2016/09/20 by Michael.Dupuis
#jira UE-30945 Added missing PostEditComponentMove after drag is finished
#rb Alexis.Matte
Change 3132147 on 2016/09/20 by Michael.Dupuis
#jira UE-30866 Fixed the filter to work properly
#rb Alexis.Matte
Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt
Fix static analysis warnings in this file
#rb none
Change 3132231 on 2016/09/20 by Nick.Darnell
Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected.
#jira UE-33285
#rb none
Change 3132255 on 2016/09/20 by Alex.Delesky
#jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container.
#rb Matt.Kuhlenschmidt
Change 3132587 on 2016/09/20 by Mike.Fricker
MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604)
#rb none
#lockdown matt.kuhlenschmidt
Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt
Fix crash opening the cooker settings
https://jira.it.epicgames.net/browse/UE-36197
#rb none
#lockdown nick.darnell
Change 3133144 on 2016/09/20 by Nick.Darnell
Build configuration for automation tests.
#rb none
#lockdown matt.kuhlenschmidt
Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt
Fix default material on odin text
#rb none
#lockdown nick.darnell
Change 3133913 on 2016/09/21 by Nick.Darnell
Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp
#rb none
#jira UE-36231
#lockdown matt.kuhlenschmidt
[CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
CommentNode - > MaterialExpressionComment - > Function = MaterialFunction ;
2014-03-14 14:13:41 -04:00
Material - > EditorComments . Add ( CommentNode - > MaterialExpressionComment ) ;
}
// Select the newly pasted stuff
GraphEditor - > SetNodeSelection ( Node , true ) ;
Node - > NodePosX = ( Node - > NodePosX - AvgNodePosition . X ) + Location . X ;
Node - > NodePosY = ( Node - > NodePosY - AvgNodePosition . Y ) + Location . Y ;
Node - > SnapToGrid ( SNodePanel : : GetSnapGridSize ( ) ) ;
// Give new node a different Guid from the old one
Node - > CreateNewGuid ( ) ;
}
2015-01-15 11:51:31 -05:00
UpdateMaterialAfterGraphChange ( ) ;
2014-03-14 14:13:41 -04:00
// Update UI
GraphEditor - > NotifyGraphChanged ( ) ;
}
bool FMaterialEditor : : CanPasteNodes ( ) const
{
FString ClipboardContent ;
FPlatformMisc : : ClipboardPaste ( ClipboardContent ) ;
return FEdGraphUtilities : : CanImportNodesFromText ( Material - > MaterialGraph , ClipboardContent ) ;
}
void FMaterialEditor : : CutSelectedNodes ( )
{
CopySelectedNodes ( ) ;
// Cut should only delete nodes that can be duplicated
DeleteSelectedDuplicatableNodes ( ) ;
}
bool FMaterialEditor : : CanCutNodes ( ) const
{
return CanCopyNodes ( ) & & CanDeleteNodes ( ) ;
}
void FMaterialEditor : : DuplicateNodes ( )
{
// Copy and paste current selection
CopySelectedNodes ( ) ;
PasteNodes ( ) ;
}
bool FMaterialEditor : : CanDuplicateNodes ( ) const
{
return CanCopyNodes ( ) ;
}
2014-11-25 17:51:09 -05:00
FText FMaterialEditor : : GetOriginalObjectName ( ) const
2014-03-14 14:13:41 -04:00
{
2014-11-25 17:51:09 -05:00
return FText : : FromString ( GetEditingObjects ( ) [ 0 ] - > GetName ( ) ) ;
2014-03-14 14:13:41 -04:00
}
void FMaterialEditor : : UpdateMaterialAfterGraphChange ( )
{
Material - > MaterialGraph - > LinkMaterialExpressionsFromGraph ( ) ;
// Update the current preview material.
UpdatePreviewMaterial ( ) ;
Material - > MarkPackageDirty ( ) ;
RegenerateCodeView ( ) ;
RefreshExpressionPreviews ( ) ;
SetMaterialDirty ( ) ;
}
int32 FMaterialEditor : : GetNumberOfSelectedNodes ( ) const
{
return GraphEditor - > GetSelectedNodes ( ) . Num ( ) ;
}
FMaterialRenderProxy * FMaterialEditor : : GetExpressionPreview ( UMaterialExpression * InExpression )
{
bool bNewlyCreated ;
return GetExpressionPreview ( InExpression , bNewlyCreated ) ;
}
void FMaterialEditor : : UndoGraphAction ( )
{
2014-04-23 18:21:07 -04:00
int32 NumExpressions = Material - > Expressions . Num ( ) ;
GEditor - > UndoTransaction ( ) ;
2014-04-02 18:09:23 -04:00
2014-04-23 18:21:07 -04:00
if ( NumExpressions ! = Material - > Expressions . Num ( ) )
{
Material - > BuildEditorParameterList ( ) ;
2014-04-02 18:09:23 -04:00
}
2014-04-23 18:21:07 -04:00
}
2014-04-23 18:06:41 -04:00
void FMaterialEditor : : RedoGraphAction ( )
{
2014-04-23 18:21:07 -04:00
// Clear selection, to avoid holding refs to nodes that go away
GraphEditor - > ClearSelectionSet ( ) ;
2014-04-02 18:09:23 -04:00
2014-04-23 18:21:07 -04:00
int32 NumExpressions = Material - > Expressions . Num ( ) ;
GEditor - > RedoTransaction ( ) ;
2014-04-23 18:06:41 -04:00
2014-04-23 18:21:07 -04:00
if ( NumExpressions ! = Material - > Expressions . Num ( ) )
{
Material - > BuildEditorParameterList ( ) ;
2014-04-23 18:06:41 -04:00
}
2014-04-23 18:21:07 -04:00
}
2014-04-23 18:06:41 -04:00
void FMaterialEditor : : PostUndo ( bool bSuccess )
{
2014-06-26 09:16:15 -04:00
if ( bSuccess )
{
GraphEditor - > ClearSelectionSet ( ) ;
Material - > BuildEditorParameterList ( ) ;
2014-04-23 18:06:41 -04:00
2014-06-26 09:16:15 -04:00
// Update the current preview material.
UpdatePreviewMaterial ( ) ;
2014-04-23 18:06:41 -04:00
2015-06-22 16:10:43 -04:00
UpdatePreviewViewportsVisibility ( ) ;
2014-06-26 09:16:15 -04:00
RefreshExpressionPreviews ( ) ;
GraphEditor - > NotifyGraphChanged ( ) ;
SetMaterialDirty ( ) ;
}
2014-04-23 18:21:07 -04:00
}
2014-04-23 18:06:41 -04:00
void FMaterialEditor : : NotifyPreChange ( UProperty * PropertyAboutToChange )
{
2014-04-23 18:21:07 -04:00
check ( ! ScopedTransaction ) ;
ScopedTransaction = new FScopedTransaction ( NSLOCTEXT ( " UnrealEd " , " MaterialEditorEditProperties " , " Material Editor: Edit Properties " ) ) ;
FlushRenderingCommands ( ) ;
}
2014-04-23 18:06:41 -04:00
void FMaterialEditor : : NotifyPostChange ( const FPropertyChangedEvent & PropertyChangedEvent , UProperty * PropertyThatChanged )
{
2014-04-23 18:21:07 -04:00
check ( ScopedTransaction ) ;
2014-04-23 18:06:41 -04:00
2014-04-23 18:21:07 -04:00
if ( PropertyThatChanged )
{
const FName NameOfPropertyThatChanged ( * PropertyThatChanged - > GetName ( ) ) ;
2015-02-19 00:33:19 -05:00
if ( ( NameOfPropertyThatChanged = = GET_MEMBER_NAME_CHECKED ( UMaterialInterface , PreviewMesh ) ) | |
( NameOfPropertyThatChanged = = GET_MEMBER_NAME_CHECKED ( UMaterial , bUsedWithSkeletalMesh ) ) )
2014-04-23 18:06:41 -04:00
{
2014-04-23 18:21:07 -04:00
// SetPreviewMesh will return false if the material has bUsedWithSkeletalMesh and
// a skeleton was requested, in which case revert to a sphere static mesh.
2015-02-19 00:33:19 -05:00
if ( ! SetPreviewAssetByName ( * Material - > PreviewMesh . ToString ( ) ) )
2014-04-23 18:06:41 -04:00
{
2015-02-19 00:33:19 -05:00
SetPreviewAsset ( GUnrealEd - > GetThumbnailManager ( ) - > EditorSphere ) ;
2014-04-23 18:06:41 -04:00
}
}
2015-09-11 15:01:19 -04:00
else if ( NameOfPropertyThatChanged = = GET_MEMBER_NAME_CHECKED ( UMaterial , MaterialDomain ) | |
NameOfPropertyThatChanged = = GET_MEMBER_NAME_CHECKED ( UMaterial , ShadingModel ) )
2015-06-22 15:55:50 -04:00
{
Material - > MaterialGraph - > RebuildGraph ( ) ;
TArray < TWeakObjectPtr < UObject > > SelectedObjects = MaterialDetailsView - > GetSelectedObjects ( ) ;
MaterialDetailsView - > SetObjects ( SelectedObjects , true ) ;
2016-02-01 14:57:29 -05:00
if ( ExpressionPreviewMaterial )
{
if ( Material - > IsUIMaterial ( ) )
{
ExpressionPreviewMaterial - > MaterialDomain = MD_UI ;
}
else
{
ExpressionPreviewMaterial - > MaterialDomain = MD_Surface ;
}
SetPreviewMaterial ( ExpressionPreviewMaterial ) ;
}
2015-06-22 15:55:50 -04:00
UpdatePreviewViewportsVisibility ( ) ;
}
2014-04-23 18:06:41 -04:00
2014-04-23 18:21:07 -04:00
FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
2014-04-23 18:06:41 -04:00
{
2014-04-23 18:21:07 -04:00
UMaterialGraphNode * SelectedNode = Cast < UMaterialGraphNode > ( * NodeIt ) ;
if ( SelectedNode & & SelectedNode - > MaterialExpression )
2014-04-23 18:06:41 -04:00
{
2014-04-23 18:21:07 -04:00
if ( NameOfPropertyThatChanged = = FName ( TEXT ( " ParameterName " ) ) )
{
Material - > UpdateExpressionParameterName ( SelectedNode - > MaterialExpression ) ;
}
2015-06-30 05:54:23 -04:00
else if ( SelectedNode - > MaterialExpression - > IsA ( UMaterialExpressionDynamicParameter : : StaticClass ( ) ) )
2014-04-23 18:21:07 -04:00
{
2015-06-30 05:54:23 -04:00
Material - > UpdateExpressionDynamicParameters ( SelectedNode - > MaterialExpression ) ;
2014-04-23 18:21:07 -04:00
}
else
{
Material - > PropagateExpressionParameterChanges ( SelectedNode - > MaterialExpression ) ;
}
2014-04-23 18:06:41 -04:00
}
}
}
2014-03-14 14:13:41 -04:00
2014-04-23 18:21:07 -04:00
// Prevent constant recompilation of materials while properties are being interacted with
if ( PropertyChangedEvent . ChangeType ! = EPropertyChangeType : : Interactive )
{
// Also prevent recompilation when properties have no effect on material output
const FName PropertyName = PropertyChangedEvent . MemberProperty ? PropertyChangedEvent . MemberProperty - > GetFName ( ) : NAME_None ;
if ( PropertyName ! = GET_MEMBER_NAME_CHECKED ( UMaterialExpressionComment , Text )
& & PropertyName ! = GET_MEMBER_NAME_CHECKED ( UMaterialExpressionComment , CommentColor )
& & PropertyName ! = GET_MEMBER_NAME_CHECKED ( UMaterialExpression , Desc ) )
{
// Update the current preview material.
UpdatePreviewMaterial ( ) ;
RefreshExpressionPreviews ( ) ;
RegenerateCodeView ( ) ;
}
Copying //UE4/Dev-Editor to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2756103 on 2015/11/05 by Jamie.Dale
Implemented UFont::GetResourceSize to work correctly with the Size Map tool
Change 2756104 on 2015/11/05 by Jamie.Dale
Changed the font used when a font is missing or invalid to be the last resort font, rather than the localized fallback font
The localized fallback font could cause different results based on your culture, and the last resort font makes it clearer that something is set-up incorrectly as it just draws invalid glyph markers for all of the text.
Change 2756105 on 2015/11/05 by Jamie.Dale
Fixed a crash when using an empty FKey property with a Data Table
FKeyStructCustomization was asserting because there were no objects being edited, due to a newly added Data Table containing zero rows.
I've removed this assert, and also updated SKeySelector to no longer require a separate argument to say whether multiple keys with different values are selected (this is now calculated from the call to get the current key, which will return an empty TOptional for multiple values).
#jira UE-22897
Change 2757015 on 2015/11/06 by Joe.Tidmarsh
SSProgressBar marquee tint. Accounts for widget color and opacity.
PR #1698
Change 2757156 on 2015/11/06 by Joe.Tidmarsh
Implemented "Go to Variable" functionality for widgets in Widget Blueprint Editor.
When we switch modes in UMG from Designer to Graph. We select the variable (In "My Blueprint"), if one exists, for the currently selected widget. Additionally we update the details panel.
* Added SelectGraphActionItemByName to FBlueprintEditor. This selects an item in My Blueprint and also displays it in the details panel of graph mode. SMyBlueprint is not available to FWidgetBlueprintEditor in UMGEditor module as it's privately implemented within Kismet.
#rb Ben.Cosh
#jira UE-20170
Change 2757181 on 2015/11/06 by Jamie.Dale
Cleaned up some duplication in UMG text widgets, and exposed the text shaping options
The common properties used by all text widgets that are text layout based have been moved into a UTextLayoutWidget base class, and all text layout based widgets now derive from this.
The options needed to control the text shaping method used by a text based widget have been exposed via the FShapedTextOptions struct. This contains a way to manage these optional (and advanced) overrides. You typically wouldn't change these from the default unless you knew exactly what you were doing (eg, you have a text block containing only numbers).
This change also updates SRichTextBlock to work with an invalidation panel in the same way that STextBlock does
Change 2757734 on 2015/11/06 by David.Nikdel
#UE4 #Editor
- Added support for meta=(TitleProperty="StructPropertyNameHere") on properties of type TArray<FSomeStruct>.
- This changes the editor rolled-up display of these values from "{0} members" to a stringified version of the specified property (if found).
#CodeReview: Matt.Kuhlenschmidt
Change 2758786 on 2015/11/09 by Joe.Tidmarsh
Border widget now correctly synchronizes padding property
#jira UE-23070
Change 2758791 on 2015/11/09 by Joe.Tidmarsh
Shadow of FCanvasTextItem should be drawn before the outline color. Consulted with Bruce.N who believes this is not the intended behavior and was an oversight when refactoring FCanvas (CL 1695138)
#jira UE-21623
#1608
#rb Simon.Tovey, Bruce.Nesbit
Change 2758813 on 2015/11/09 by Joe.Tidmarsh
UMG: Attempting to parent multiple widgets (in Hierarchy tree) to a widget that can't have multiple children will notify the user and ignore the operation.
[UE-22921] [CrashReport] Parenting multiple actors under border crashes editor
#jira UE-22921
Change 2759234 on 2015/11/09 by Nick.Darnell
Slate - Improving the way we track references to materials in slate to better keep things alive until they're no longer needed for rendering. Additionally, making it so the we use the material and texture free list when possible when cleaning up things as to not allocate new memory if not required. Concidentually this can help with problems with corrupted memory on destruct as well, because it means the memory isn't really going to become garbage any more.
#codereview Matt.Kuhlenschmidt, Bob.Tellez
Change 2760954 on 2015/11/10 by Nick.Darnell
Slate - A bug in the introduction of custom rendered elements accidentally broke filling out the texture coordinates for standard material usage. Materials should once again tile correctly just like images do.
#jira UE-23118
Change 2761129 on 2015/11/10 by Nick.Darnell
Slate - Removing the Pre-Multiply alpha path the way it was added, introducing it in a way that doesn't require changes inside the shader. Continuing to improve the SRetainerWidget to no longer have a frame delay between resizes and painting, also working on getting it handle clipping correctly but still not there yet.
Change 2761391 on 2015/11/10 by Alexis.Matte
jira UE-20281 and UE-22259
Fbx scene Re-import workflow
- First draft of the reimport workflow using a reimport asset in the content browser
#codereview nick.darnell
Change 2762323 on 2015/11/11 by Alexis.Matte
fix build compilation
Change 2762407 on 2015/11/11 by Jamie.Dale
UDataTable::SaveStructData now writes out dummy data when RowStruct is null
This didn't used to happen, which would cause a miss-match between what UDataTable::LoadStructData was expecting, and would result in a Data Table that could never be loaded again.
This change also improves the error message when editing a Data Table with a null row struct, and adds the editor-only RowStructName property to cache the name of the last used struct (for error reporting).
#jira UE-22789
Change 2762508 on 2015/11/11 by Nick.Darnell
UMG - Making it more obvious what keys do special stuff with anchors in UMG. Fixing the way snapping to anchors works with Control, it now only zeros out the side you're dragging instead of the entire widget, which was silly. Enhancing the designer message system to no longer be based on an enum and instead let arbitrary systems push and pop FText messages. Fixing animations in the anchor drop down to properly animate, broke when we introduced active timers.
Change 2763241 on 2015/11/11 by Nick.Darnell
Slate - We no longer allow popup windows to be larger than the primary display window for windows where max width/height is unspecified. This is to prevent accidential creation of tooltip windows that are larger than the driver allows causing crashes.
#jira UE-20336
2015-12-12 08:54:23 -05:00
GetDefault < UMaterialGraphSchema > ( ) - > ForceVisualizationCacheClear ( ) ;
2014-04-23 18:21:07 -04:00
}
delete ScopedTransaction ;
ScopedTransaction = NULL ;
Material - > MarkPackageDirty ( ) ;
SetMaterialDirty ( ) ;
}
2014-03-14 14:13:41 -04:00
void FMaterialEditor : : ToggleCollapsed ( UMaterialExpression * MaterialExpression )
{
check ( MaterialExpression ) ;
{
const FScopedTransaction Transaction ( NSLOCTEXT ( " UnrealEd " , " MaterialEditorToggleCollapsed " , " Material Editor: Toggle Collapsed " ) ) ;
MaterialExpression - > Modify ( ) ;
MaterialExpression - > bCollapsed = ! MaterialExpression - > bCollapsed ;
}
MaterialExpression - > PreEditChange ( NULL ) ;
MaterialExpression - > PostEditChange ( ) ;
MaterialExpression - > MarkPackageDirty ( ) ;
SetMaterialDirty ( ) ;
// Update the preview.
RefreshExpressionPreview ( MaterialExpression , true ) ;
RefreshPreviewViewport ( ) ;
}
void FMaterialEditor : : RefreshExpressionPreviews ( )
{
const FScopedBusyCursor BusyCursor ;
if ( bAlwaysRefreshAllPreviews )
{
// we need to make sure the rendering thread isn't drawing these tiles
SCOPED_SUSPEND_RENDERING_THREAD ( true ) ;
// Refresh all expression previews.
ExpressionPreviews . Empty ( ) ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3379190)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3342222 on 2017/03/10 by Nick.Darnell
UMG - Adding a GetContent to the UContentWidget.
Change 3342228 on 2017/03/10 by Nick.Darnell
Project Launcher - Always consume mouse wheel vertically so it stops scrolling to the right.
Change 3342310 on 2017/03/10 by Nick.Darnell
UMG - Cleaning up some extra class references.
Change 3343382 on 2017/03/13 by Jamie.Dale
Applying optimization to FChunkManifestGenerator::ContainsMap
Change 3343523 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing"
- Enabling this allows you to see every property on selected objects that belong to a simulating world, even non-visible and non-editable properties. Very useful for inspection and debugging.
- Remember to change World Outliner to show you actors in the "Play World" if you want to select and inspect those objects first!
- This setting is saved for your entire project, similar to "Show All Advanced"
Change 3343573 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing" (part 2)
- Fixed missing include / unity issue
Change 3343709 on 2017/03/13 by Jamie.Dale
Some fixes for gathering cached dependency data
- We no longer load dependency data that doesn't have the correct package name.
- We no longer populate the dependency results when bGatherDependsData is false.
Change 3343900 on 2017/03/13 by Alexis.Matte
fix crash when creating too much LOD at import
#jira UE-42785
Change 3344104 on 2017/03/13 by Alexis.Matte
Add a boolean to the static mesh socket so we know if the socket was imported or created in UE4. This allow us to not impact editor socket when we re-import a fbx
#jira UE-42736
Change 3344802 on 2017/03/14 by Michael.Dupuis
#jira UE-42244 : added missing nullptr so render thread wont try to access global var when we're no longer in landscape mode
Changed the sync method between graphic resource from render thread and game thread to prevent desync
Change 3346061 on 2017/03/14 by Jamie.Dale
Adding const& and && overloads of FText::Format
Change 3346192 on 2017/03/14 by Arciel.Rekman
Linux: fix VHACD to retain bincompat with the baseline (UE-42895).
- It is now compiled against libc++ instead of libstdc++ in the toolchain.
Change 3347083 on 2017/03/15 by Andrew.Rodham
Fixed crash when changing anchors on a background blur widget
Change 3347359 on 2017/03/15 by Michael.Dupuis
#jira UE-38193:
Added Rename, Delete, New Folder, Size Map, Show In Explorer for folder and asset in the path view and asset view
Change 3347382 on 2017/03/15 by Michael.Dupuis
missing include incremental
Change 3347500 on 2017/03/15 by Alex.Delesky
#jira UE-41231 - Selecting multiple text widgets in UMG will now allow you to set their value correctly, and the "Multiple Values" text will no longer be set in the widgets instead.
Change 3347920 on 2017/03/15 by Jamie.Dale
Fixing some places passing tooltips as FString rather than FText
#jira UE-42603
Change 3347925 on 2017/03/15 by Jamie.Dale
Re-saving some assets so their tooltips can be gathered
#jira UE-42603
Change 3348788 on 2017/03/15 by Jamie.Dale
Updated the Windows platform to use the newer Vista+ style browser dialogs, rather than the older XP style dialogs
Change 3349187 on 2017/03/16 by Andrew.Rodham
Sequencer: Added the ability to specify additional event receivers for level sequence actors
- Such actors will receive events from event tracks
Change 3349194 on 2017/03/16 by Andrew.Rodham
Sequencer: Reset compiled templates on load in the editor, and ensure correct serialization of generation ledger
- Resetting on load means that we guarantee up-to-date templates, even if underlying compilation logic changes.
#jira UE-42198
#jira UE-40969
Change 3349210 on 2017/03/16 by Andrew.Rodham
Sequencer: Event tracks can now be defined to trigger events at the start of evaluation, after objects are spawned, or at the end of evaluation
Change 3349211 on 2017/03/16 by Andrew.Rodham
Sequencer: Add ability to retrieve bound objects from blueprint
Change 3349398 on 2017/03/16 by Nick.Darnell
UMG - Fixing a flashing hierarchy view. Looks like assets continuing to stream in causing the object change notification to continue to fire, and the widget designer refreshed any time it happened. Now limit to only if widgets are changing.
Change 3349420 on 2017/03/16 by Alex.Delesky
#jira UE-40720 - Multiline editable text boxes can now be set to Read-Only.
Change 3349548 on 2017/03/16 by Alexis.Matte
Fbx importer, when importing a staticmesh with combine mesh option check and the fbx file contain some "MultiSub Material" the materialinstance are now always hook properly.
Change 3349818 on 2017/03/16 by Cody.Albert
Fixed constructor for FNavigationMetaData
Change 3350047 on 2017/03/16 by Cody.Albert
Removed unneeded check so that children actors are never orphaned when their parent is moved into a newly created folder in the world outliner
Change 3350072 on 2017/03/16 by Arciel.Rekman
ShaderCompiler: make sure strings are at least 4-byte aligned.
- Can crash wcscpy() under Linux otherwise (reported by a licensee).
Change 3350146 on 2017/03/16 by Arciel.Rekman
Fix CodeLite project generation (UE-42921).
- Reportedly causes a crash in CodeLite 10.x
Change 3350235 on 2017/03/16 by Arciel.Rekman
Fix memory leak in address symbolication on Linux.
- Makes MallocProfiler work again.
- Also add progress update in MallocProfiler since symbolication is still slow.
Merging CL 3338764 from Fortnite to Dev-Editor.
Change 3350382 on 2017/03/16 by Arciel.Rekman
Linux: fix incorrect cast of rlimit in i686.
Change 3350471 on 2017/03/16 by Jamie.Dale
Enabling loc dashboard by default for new projects
Change 3350516 on 2017/03/16 by Jamie.Dale
Enabling content hot-reloading by default
Change 3350582 on 2017/03/16 by Cody.Albert
Corrected Widget Interaction Component to use current impact point instead of last impact point
Change 3350945 on 2017/03/16 by Jamie.Dale
Gave FConfigFile::FindOrAddSection API linkage
Change 3351441 on 2017/03/17 by Michael.Dupuis
#jira UE-42843: Fixed Transaction begin/end order issue happening with min slider passing max slider value
Add support for multiple selection value display
Change 3351558 on 2017/03/17 by Michael.Dupuis
#jira UE-42845: Always refresh the detail panel to properly update for selection change, delete, etc.
Change 3351657 on 2017/03/17 by Matt.Kuhlenschmidt
Adding USD Third Party dependencies
Change 3351665 on 2017/03/17 by Matt.Kuhlenschmidt
Added experimental USD Importer Plugin
This plugin supports basic static mesh importing and scene creation of actors using static meshes
Change 3351682 on 2017/03/17 by Matt.Kuhlenschmidt
Enabling USD importer in engine test project for automation tests
Change 3351749 on 2017/03/17 by Alexis.Matte
Make sure the selection proxy is off for the skeletal mesh component. UE4 use the selection outline instead
#jira UE-41677
Change 3351831 on 2017/03/17 by Michael.Dupuis
#jira UETOOL-1102:
Added HSV controls to Color Grading
Some look improvement for RGV/HSV
Color Grading refactor
Group Reset bug fix (relevant only to color grading)
Change 3352041 on 2017/03/17 by Matt.Kuhlenschmidt
Updated USD plugin whitelisting
Change 3352093 on 2017/03/17 by Michael.Dupuis
when FREEZERENDERING is called, stop the foliage culling too
Change 3352211 on 2017/03/17 by Alexis.Matte
Fix the physic asset missing skeleton warning
#jira UE-43006
Change 3352336 on 2017/03/17 by Alexis.Matte
We now allow a negative W value of the ScreenPoint vector in the ScreenToPixel function. In this case we simply reverse the W value to kept the manipulator direction on the good side.
#jira UE-37458
Change 3352947 on 2017/03/17 by Phillip.Kavan
#jira UE-42510 - Instanced static mesh transform edits are now reflected in the Blueprint editor's preview scene.
Change summary:
- Added IPropertyHandle::GetValueBaseAddress() (interface).
- Modified IPropertyHandle::NotifyPostChange() to include EPropertyChangeType as an optional input.
- Added FPropertyHandleBase::GetValueBaseAddress() (implementation).
- Modified FPropertyHandleBase::NotifyPostChange() to include the optional input arg in the property change event.
- Modified FPropertyHandleBase::CreatePropertyNameWidget() to clear the override text after temporarily replacing display name/tooltip text for the creation of the SPropertyNameWidget. This was done to allow for transactions to be named according to the property that's being modified.
- Modified FMathStructProxyCustomization::OnValueCommitted() to only apply the input value while not interactively editing via spinbox as well as when not post-processing an undo/redo (which can trigger a focus loss).
- Modified the FMathStructProxyCustomization::OnEndSliderMovement() delegate to include property handle and proxy value input parameters, as well as to call FlushValues() as part of the implementation.
- Modified FlushValues() for each of FMatrixStructCustomization, FTransformStructCustomization and FQuatStructCustomization to explicitly handle both propagation and transaction processing.
- Modified UInstancedStaticMeshComponent::UpdateInstanceTransform() to call Modify() prior to applying changes (so that the previous state is recorded when inside a transaction context).
- Modified FInstanceStaticMeshSCSEditorCustomization::HandleViewportDrag() to propagate changes to all instances of the ISMC archetype.
Known issues:
- Using the spinbox to edit instanced mesh transform values in the Blueprint editor will not apply the change to instances in the level editor until after you release the mouse button (i.e. - it will not be shown as a "live" update).
Change 3353678 on 2017/03/20 by Michael.Dupuis
properly unfreeze the culling of foliage when toggling the freezerendering command
Change 3353747 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3372: Git plugin: fix update status on directories hotfix (still) slightly broken in master (UE4.16) (Contributed by SRombauts)
Change 3353749 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3373: Git Plugin: hotfix for regression off Visual Diffs with older version of Git in master (UE4.16) (Contributed by SRombauts)
Change 3353754 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3390: Allow OBJ imports to change if materials and textures are also imported (Contributed by mmdanggg2)
Change 3353909 on 2017/03/20 by Matt.Kuhlenschmidt
Fixed actors showing thumbnails in details panel and made a few other tweeks to thumbnail displays in details panels
- The color of the accepted type is now shown properly
- All object based properties now have thumbnails on by default.
Change 3353948 on 2017/03/20 by Nick.Darnell
UMG - Updating the background blur widget's upgrade code to use the custom version, and handling older cases that were continuing to generate blur slots, even when already upgraded.
Change 3354335 on 2017/03/20 by Nick.Darnell
Paragon - Excluding Archetype objects from reporting references, which causes crashes in the fast template mode.
Change 3354495 on 2017/03/20 by Nick.Darnell
Core - Making it so order that outers are discovered does not matter, initializing the chain of outers if hasn't been created when instancing subobjects.
Change 3354578 on 2017/03/20 by Nick.Darnell
Slate - There's now a console variable option, Slate.VerifyHitTestVisibility (off by default) which enables additional visibility checks for widgets. Normally this isn't nessesary, but if you're changing the visibility of widgets during a frame, and several hit tests need to be performed that frame there's a chance that a button could be clicked twice in one frame. Enabling this mode will make all hit testing more expensive, so for now it's off by default, but available for licensees that need the extra testing.
Change 3354737 on 2017/03/20 by Nick.Darnell
Core - Adding a fix to Dev-Editor from that enables objects in the same package being requested to also be loaded. This came about during async streaming callbacks alerting that a requested class was done loading, but there were still other assets in the package 'not loaded' but were available, just needed post load called on them.
Change 3355923 on 2017/03/21 by Yannick.Lange
VR Editor: - Remove unnecessary cleanup functions.
- Initialize with VR Mode and remove SetOwner function, since it shouldn't be possible to reset the VR Mode afterwards.
Change 3355959 on 2017/03/21 by Yannick.Lange
VR Editor: - Rename VREditorWorldInteraction to VREditorPlacement, to avoid confusion with ViewportWorldInteraction. VREditorPlacement will only handle placing objects from content browser in the VR Mode.
- Removed SnapSelectedActorsToGround to VREditorMode.
Change 3355965 on 2017/03/21 by Yannick.Lange
VR Editor: Forgot to add files to previous submit 3355959.
Change 3355977 on 2017/03/21 by Yannick.Lange
VR Editor: Remove function to add a new extension with TSubclassOf<UEditorWorldExtension>.
Change 3356017 on 2017/03/21 by Yannick.Lange
VR Editor: - UI system check owner VRMode.
- UI system fix check on VRMode on shutdown.
Change 3356028 on 2017/03/21 by Nick.Darnell
Slate - SButton now correctly releases mouse capture even if it becomes disabled while pressed, but before 'click' has been fired.
#jira UE-42777
Change 3356071 on 2017/03/21 by Yannick.Lange
VR Editor: Copy of change 3353663.
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Cleanup FLandscapeToolInteractorPosition.
- Change from 3353663: Use TStrokeClass::UseContinuousApply and TimeSinceLastInteractorMove to decide when to apply ToolStroke on tick.
Change 3356180 on 2017/03/21 by Michael.Dupuis
Added ShowFlag Foliage Occlusion Bounds
Fixed non initialized variable
Expose changing Min Occlusion Bounds instead of assuming 6
#rn none
Change 3356347 on 2017/03/21 by Nick.Darnell
UMG - Introducing a faster CreateWidget. When cooking, the widget compiler now generates a widget template/archetype that is stored in the same package as the generated blueprint class. During compiling we generate a nearly fully initialized widget tree including all sub userwidgets and their trees, hookup all member variables, initialize named slots, setup any animations...etc. This nearly fully constructed widget can be instanced using it as an archetype in the NewObject call, and does not have to use the correspondingly slow StaticDuplicateObject path. There are restrictions on this method, part of the compiling step for widgets now inspects if the instancing would be successful, or if there would be GLEO references after instancing because a user forgot to setup Instanced on a subobject property. Luckily that should be few and far between, all UVisuals (Widgets & Slots) are now DefaultToInstanced, which takes care of the overwhelming cases that demand the instanced flag. Especially given the bulk of cases using BindWidget in native code.
UMG - Removing a lot of deprecated functions from 4.8 on UUserWidget.
Change 3356357 on 2017/03/21 by Nick.Darnell
Build - Fixing some IWYU issues on the incremental build.
Change 3356461 on 2017/03/21 by Nick.Darnell
Build - Fixing linux build errors.
Change 3356468 on 2017/03/21 by Jamie.Dale
STextPropertyEditableTextBox now handles empty texts correctly
Change 3356916 on 2017/03/21 by Matt.Kuhlenschmidt
Fixed a crash when a material render proxy on a preview node is deleted when it is in flight on the render thread
#jira UE-40556
Change 3357033 on 2017/03/21 by Alexis.Matte
Fix crash when importing file with import commandlet
Make sure path are combine properly to avoid crash
Add some missing pointer check
Make sure the asset are save when there is no source control
#jira UE-42334
Change 3357176 on 2017/03/21 by Alex.Delesky
#jira UE-42445 - TMaps now support editing the values of structs that act as map keys. TMaps with struct keys will now show the types of their elements in the details panel as well, and structs will now also display numbers next to set elements.
Change 3357197 on 2017/03/21 by Alex.Delesky
#jira none - Fixing build issue for TMap key struct change.
Change 3357205 on 2017/03/21 by Michael.Dupuis
Forgot to reset min granularity to 6 from testing
Change 3357340 on 2017/03/21 by Arciel.Rekman
Mark FMallocAnsi (standard libc malloc) thread-safe on Linux.
Change 3357413 on 2017/03/21 by matt.kuhlenschmidt
Added '/Game/Effects/Fort_Effects/Materials/Smoke/M_Main_Smoke_Puff.M_Main_Smoke_Puff' to collection 'MattKTest'
Upgraded collection 'MattKTest' (was version 1, now version 2)
Change 3357505 on 2017/03/21 by Alexis.Matte
Fix to avoid changing the CDO of FbxAssetImportData. The UI was saving the Config which was saving the CDO. But already serialized data will be reload badly if the CDO change since we serialize only the diff.
#jira UE-42947
Change 3357825 on 2017/03/21 by Arciel.Rekman
Clean up the large thread pool on exit.
- Seems like the destruction was missed in the original CL 2785131 (12/1/15).
- Fixes problems when threads were allocated in memory that is being cleaned up in another place on exit.
Change 3358086 on 2017/03/22 by Yannick.Lange
VR Editor: - Fix gizmo scaling down when dragging the world.
- Fix gizmo scaling down when dragging rotation handle.
Change 3358175 on 2017/03/22 by Andrew.Rodham
Sequencer: Made ALevelSequenceActor::AdditionalEventReceivers advanced display
Change 3358367 on 2017/03/22 by tim.gautier
Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters
Change 3358457 on 2017/03/22 by Yannick.Lange
VR Editor: Deleting unused UI assets.
Change 3358801 on 2017/03/22 by Matt.Kuhlenschmidt
Guard against crash if the level editor is shut down when the object system has already been shut down
#jira UE-35605
Change 3358897 on 2017/03/22 by matt.barnes
Checking in WIP test content for UEQATC-1635 (UMG Navigation)
Change 3358976 on 2017/03/22 by Alex.Delesky
#jira none - Fixing an issue where ItemPropertyNode could potentially dereference a null property
Change 3358987 on 2017/03/22 by Yannick.Lange
VR Editor: Fix warning: Can't find file for asset '/Engine/VREditor/UI/VRButtonBackground' while loading ../../../Engine/Content/VREditor/Devices/Vive/VivePreControllerMaterial.uasset.
Change 3359067 on 2017/03/22 by Yannick.Lange
VR Editor: Fix Radial Menu remains on controller after exiting VR Preview
#jira UE-42885
Change 3359179 on 2017/03/22 by Matt.Kuhlenschmidt
Fixed "Multiple Values" in Body Setup when single bone has multiple bodies
#jira UE-41546
Change 3359626 on 2017/03/22 by Arciel.Rekman
Linux: pool OS allocations.
- Add a TMemoryPool and TMemoryPoolArray classes that can be used with any type of OS allocator functions.
- Add ability to bypass CachedOSPageAllocator for given sizes. Also, corrected the condition on AllocImpl to match one on FreeImpl.
- Switch Linux to pool mmap()/munmap() by default (helps 32-bit Linux and also speeds up 64-bit one), except 64-bit servers.
- Add a test to TestPAL to check performance and thread safety.
- Misc. fixes.
Change 3359989 on 2017/03/23 by Andrew.Rodham
Sequencer: Binding overrides improvements
- Added the ability to override spawnable bindings
- Added the ability to override bindings in sub sequences
- Deprecated "Get Sequence Bindings" node in favor of "Get Sequence Binding", which is more robust, and provides a better UI/UX for selecting single bindings
#jira UE-42470
Change 3360369 on 2017/03/23 by Alexis.Matte
Fix the staticmesh conversion from UE4 4.13 to earlier UE4 versions
#jira UE-42731
Change 3360556 on 2017/03/23 by Andrew.Rodham
Sequencer: Added drag/drop support for binding overrides
- You can now drag and drop sequencer object binding nodes into blueprint graphs (to create 'Get Sequence Binding' nodes), and onto binding overrides specified on level sequence actors.
Change 3360618 on 2017/03/23 by Arciel.Rekman
Make Binned2 work on Mac.
- Game/server will use Binned2 by default.
Change 3360838 on 2017/03/23 by Nick.Darnell
CommonUI - Making the SingleMaterialStyleMID property transient. It had been serialized mistakenly onto several widgets when it appears the intent is to dynamically allocate it upon demand.
Change 3360841 on 2017/03/23 by Nick.Darnell
UMG - Updating the editor to use DuplicateAndInitializeFromWidgetTree, so that Initialize is properly called when duplicating sub widget trees.
Change 3362561 on 2017/03/24 by Matt.Kuhlenschmidt
Fixed text outlines being cropped at large sizes
#jira UE-42647
Change 3362565 on 2017/03/24 by Matt.Kuhlenschmidt
Added automation test for font outlines
Change 3362567 on 2017/03/24 by Matt.Kuhlenschmidt
Resaved this file to fix 0 engine version warnings
Change 3362582 on 2017/03/24 by Yannick.Lange
VR Editor: - Fix log warnings when teleporting.
- Fix undo/redo when using teleport scaling.
- Improved teleport scaling and push/pull input.
#jira UE-43214
Change 3362631 on 2017/03/24 by Jamie.Dale
Split the monolithic culture concept in UE4
UE4 has historically only supported the concept of a single monolithic "culture" that applied to both text localization and internationalization, as well as all asset localization. Typically the "culture" was set to the "locale" of the OS, however that could be undesirable or incorrect on platforms (such as newer versions of Windows) that have a distinct concept of "language" (for localization) and "locale" (for internationalization).
This change splits the concept of "culture" into "language" and "locale", and also adds the concept of "asset groups". The language is now used to work out which localization we should use, and the locale is used to control how numbers/dates/times/etc are formatted within our internationalization library.
Asset groups expand on the language used by asset localization and allow you to create a group of asset classes that can be assigned a different culture than the main game language. A typical use-case of this would be creating an "audio" group that could, for example, be set to Japanese while the rest of the game runs in English.
If your game doesn't care about the distinction between language and locale, and doesn't need to use asset groups, then you're able to continue to use "culture" as you always have. If, however, you do care about those things, then you'll likely want to avoid using the "culture" directly (as it's now a very aggressive setting that overrides all others), and instead favor using language/locale (games will typically treat these as the same) and asset groups as separate concepts (both in settings, and in your in-game UI).
The language or locale for a game can be controlled by settings within the "Internationalization" section of your configs (this would typically be set in your GameUserSettings config, in the same way that "culture" works), eg)
[Internationalization]
language=fr
locale=fr
The asset groups for a game can be controlled by settings within the "Internationalization.AssetGroupClasses" and "Internationalization.AssetGroupCultures" sections of your configs (the asset group class definition would typically be set in your DefaultGame config, and the cultures the groups use would typically be set in your GameUserSettings config), eg)
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
[Internationalization.AssetGroupCultures]
+Audio=ja
#jira UE-38418
#jira UE-43014
Change 3362798 on 2017/03/24 by Nick.Darnell
UMG - Putting the finishing touches on the hardware cursor system. Can now load them from blueprints, and there are options for setting them up in the project settings.
UMG - Deprecating the old properties for software widget cursors. They've been moved into a map that can handle any of the mouse cursors as the enum key, which was always the intent/desire but maps couldn't be used as UProperties then.
Change 3362805 on 2017/03/24 by Jamie.Dale
PR #3397: Allow empty source to override display string (Contributed by jorgenpt)
Change 3363039 on 2017/03/24 by Jamie.Dale
Use the pre-scaled font height where possible to avoid an extra multiply
Change 3363188 on 2017/03/24 by Joe.Graf
Added support for -iterate for content plugins that require path remapping during cook/packaging
#CodeReview: matt.kuhlenschmidt
#rb: matt.kuhlenschmidt
Change 3363355 on 2017/03/24 by Nick.Darnell
UMG - Removing the CookAdditionalFiles function in UserInterfaceSettings.
Change 3363672 on 2017/03/24 by Matt.Kuhlenschmidt
Material thumbnails now respect used particle system sprites flag and show a quad insead of a sphere by default. For this change I added the ability to have per asset type override for the default thumbnail shape and I added a way to reset thumbnails to default. All existinging particle system materials that have not had a custom thumbnail will have to be reloaded and resaved for this to work
#jira UE-42410
Change 3363699 on 2017/03/24 by Mike.Fricker
VR Editor: Improved extensibility (for mesh editor)
- This was merged from CL 3352612 and re-opened for edit before commit
- All mesh editor changes were stripped before merging
Change 3363784 on 2017/03/24 by Matt.Barnes
Adding content for tests following UEQATC-3548
Change 3363872 on 2017/03/24 by Arciel.Rekman
Linux: require user to setup clang/clang++ for building hlslcc.
- Earlier we tried to handle most common scenarios since libhlslcc needed to be built during the setup. Now that we supply a prebuilt version we don't need to be as user friendly, especially given that the attempts to second guess the compiler started to look complicated.
Change 3364089 on 2017/03/24 by Matt.Kuhlenschmidt
Fix CIS
Change 3364381 on 2017/03/24 by JeanMichel.Dignard
UV Packing optim
- Use horizontal segments instead of checking texel by texel to fit source chart in layout.
- Skip a couple of rasterize by flipping either the X texels or the Y texels when possible.
- Keep the best chart raster so that we don't need to reraster when adding the chart to the layout.
- Added a lightmap UV version in StaticMesh so that we don't invalidate the lighting cache. Only use the new lightmap UV generation when going through UStaticMesh::Build which invalidates the lighting.
Change 3364587 on 2017/03/24 by Arciel.Rekman
Fix ordered comparison warning from clang 4.0.
Change 3364596 on 2017/03/24 by Arciel.Rekman
Linux: fix editor being stuck (hack).
- Rebuilt hlslcc in Debug.
Change 3364863 on 2017/03/25 by Max.Chen
Sequencer: Fixed crash when deactivating a section in sequencer
#jira UE-39880
Change 3364864 on 2017/03/25 by Max.Chen
Sequencer: Integrating fix from licensee to ensure FVirtualTrackArea::HitTestSection checks the row of the section
Change 3364865 on 2017/03/25 by Max.Chen
Cine Camera: Default post process depth of field method to CircleDOF and use that setting in UpdateCameraLens.
#jira UE-40621
Change 3364866 on 2017/03/25 by Max.Chen
GitHub #3183: Conversion to base class is inaccessible.
Change 3364869 on 2017/03/25 by Max.Chen
Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The setting is only used to initialize the time snapping interval of the level sequence. Added translate keys with ctrl and left-right arrows.
#jira UE-41009
#jira UE-41210
Change 3364870 on 2017/03/25 by Max.Chen
Sequencer: Added translate keys with ctrl and left-right arrows.
#jira UE-41210
Change 3364871 on 2017/03/25 by Max.Chen
Sequencer: Add level sequence actor customization to open sequencer from the details panel. For matinee parity.
#jira UE-41459
Change 3364879 on 2017/03/25 by Max.Chen
Sequencer: Duplicate shot should put the duplicate on the next available row, keeping the start/end times the same.
#jira UE-41289
Change 3364880 on 2017/03/25 by Max.Chen
Sequencer: Opening the API for MovieSceneAudio-related classes along with some minor functionality additions:
- Adding _API specifiers to MovieSceneAudioTrack, MovieSceneAudioSection, and FAudioTrackEditor so they can be subclassed in other modules.
- Made GetSoundDuration function in MovieSceneAudioTrack.cpp a member function so it's functionaliy could be reused by subclasses.
- Adding ability to specify delegates for OnQueueSubtitles, OnAudioFinished, and OnAudioPlaybackPercent in a MovieSceneAudioSection, and have them automatically assigned to any AudioComponents that are played by the MovieSceneAudioTemplate
Change 3364884 on 2017/03/25 by Max.Chen
Sequencer fbx import
- Removed the PostRotation compensation as it was setuped for 3ds max.
- On import, add a rotation to camera and light animation keys like we do on export.
- Merge the component local transform with the ActorNode transform when exporting only one component that isn't the root component in fbx since we're not creating child nodes in that case.
#jira UE-34692
Change 3364885 on 2017/03/25 by Max.Chen
Sequence Recorder: Fix crash when clearing properties to record.
#jira UE-41873
Change 3364886 on 2017/03/25 by Max.Chen
Sequencer: Add error when attempting to add a circularly dependent level sequence
#jira UE-22358
Change 3364890 on 2017/03/26 by Max.Chen
Sequencer: Added ability to specify a 'notify' function to property instance bindings
- When specified, the (parameterless) function will be called after a property is set
Change 3364891 on 2017/03/26 by Max.Chen
Sequencer: Various fixes to thumbnails
- Fixed alpha blending being used when presenting the full screen quad for thumbnails
Change 3364892 on 2017/03/26 by Max.Chen
Sequencer: PreRoll and PostRoll is now exposed at the section level, for all sections
- For the majority of sections this will be unimplemented, but it will allow for some tracks to set up their data ahead of time
Change 3364896 on 2017/03/26 by Max.Chen
Sequencer: Add segment flags to equality operator for movie scene evaluation segments
- This prevents them from being accumulated into adjacent segments of the same index and forced time, but differing flags
Change 3364897 on 2017/03/26 by Max.Chen
Sequencer: Fixed "Evaluate in preroll" and "Evaluate in Postroll" options
- Pre and postroll flags now come through on compiled segments, so the previous manual logic for sub sections is obsolete; we can just use the compiled segment data directly.
Change 3364898 on 2017/03/26 by Max.Chen
Sequencer: Moved track options to be accessible on all nodes, and operate on all selected tracks
Change 3364902 on 2017/03/26 by Max.Chen
Sequencer: Ensure evaluation flags are considered when compiling segments from external sequences
- This ensures that preroll regions in sub sequences are correctly evaluated when their parent section has preroll
- Changed high pass blending to always allow preroll
Change 3364903 on 2017/03/26 by Max.Chen
Engine: Moved proxy mesh transform update out of camera view computation code
- GetCameraView can happen as part of end of frame updates, which will assert if any changes of transform happen during its processing
Change 3364908 on 2017/03/26 by Max.Chen
Sequencer: Added visualization of pre and postroll on sections
Change 3364909 on 2017/03/26 by Max.Chen
Sequencer: Prevent MovieSceneCompiler from removing preroll segments
Change 3364910 on 2017/03/26 by Max.Chen
Sequencer: MediaPlayer PreRoll/PostRoll fix
- Handle PreRoll/PostRoll on sub scenes that have a start offset
Change 3364922 on 2017/03/26 by Max.Chen
Sequencer: Add check for valid property before dereferencing.
#jira UE-40951
Change 3364923 on 2017/03/26 by Max.Chen
Sequencer: Fix MovieScene preroll so that it seeks to the start correct frame before the preroll.
Change 3364924 on 2017/03/26 by Max.Chen
Sequencer - change default behavior for pre/post roll evaluation
- MovieSceneTracks are NOT evaluated by default
Change 3364925 on 2017/03/26 by Max.Chen
Sequencer: Shot track rows now consider pre and post roll when being compiled
Change 3364926 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to define shared execution tokens, identifyable with a unique identifier, and sortable based on a sort order (<=0: before standard tokens, >0: after other tokens)
Change 3364927 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to selectively restore state for specific anim type IDs for a given object
- This allows us to specifically restore one particular type of animation for a given object (ie, transform, skeletal animation control, or motion blur)
Change 3364928 on 2017/03/26 by Max.Chen
Sequencer: Fixed sub-sub tracks not being present in master sequences
- In order to correctly handle preroll in inner-inner sequences, we need to have access to those tracks when compiling intermediate sub sections. By caching off all the inner templates, we can have access to these tracks to check whether they want to be evaluated in pre/post roll in the master sequence
Change 3364937 on 2017/03/26 by Max.Chen
Sequencer: Update cine camera component debug focus plane on tick, rather than in GetCameraView
#jira UE-41332
Change 3364938 on 2017/03/26 by Max.Chen
Sequencer: Fix crash inserting a level sequence with an invalid shot.
#jira UE-41481
Change 3364940 on 2017/03/26 by Max.Chen
Sequencer: Made handling of pre and post roll more consistent between explicit section pre/post roll and pre/post roll inherited from an outer sub section
Change 3364942 on 2017/03/26 by Max.Chen
Movie Scene Capture: Move EDL generation to setup instead of close to ensure it gets written out when capturing as a separate process.
#jira UE-41703
Change 3364943 on 2017/03/26 by Max.Chen
Sequencer: Prevent capturing movies in editor while a PIE session is running
#jira UE-41399
Change 3364944 on 2017/03/26 by Max.Chen
CIS fixes
Change 3364951 on 2017/03/26 by Max.Chen
Sequencer: Fix autokey not setting a keyframe for slate color with specified color.
#jira UE-41645
Change 3364952 on 2017/03/26 by Max.Chen
Sequencer: Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row
#jira UE-41684
Change 3364953 on 2017/03/26 by Max.Chen
Sequencer: Fix edl so that it doesn't write out when a shot is out of range. Also fixed not writing the EDL with the correct frame rate when exporting from the track. Reworked the cmx EDL so that its encoded in the same edit time space, including a blank slug at the beginning of the edit.
#jira UE-41925
Change 3364954 on 2017/03/26 by Max.Chen
Sequencer - Allow animating parameters on cascade effect components which aren't owned by an AEmitter.
Change 3364955 on 2017/03/26 by Max.Chen
Sequencer: Fixed sequencer anim instance not being used in the case where one was requested, but a different anim instance was already set
This fixes an issue when rendering in seaprate process, animations that were set up to use the sequencer instance would be controlled using montage animation instead.
Change 3364963 on 2017/03/26 by Max.Chen
Sequencer: Fix filtering to include child nodes.
#jira UE-42068
Change 3364964 on 2017/03/26 by Max.Chen
Sequencer: Enable UseCustomStartFrame and UseCustomEndFrame when rendering a single shot from the menu.
#jira UE-42021
Change 3364965 on 2017/03/26 by Max.Chen
Sequencer: Set the fade color in the track display
Change 3364966 on 2017/03/26 by Max.Chen
Sequencer: Show actor attached to label in attach section.
Change 3364967 on 2017/03/26 by Max.Chen
Sequencer: Fix static analysis warnings
Change 3364968 on 2017/03/26 by Max.Chen
Sequencer: Fix crash on converting to spawnable.
The previous implementation purported to allow null objects to set up spawnable defaults but it actually needed to compare the spawned object to the supported type. This new mechanism now allows the spawner to indicate that it accepts null objects and doesn't crash.
#jira UE-42069
Change 3364969 on 2017/03/26 by Max.Chen
Sequencer: Fixed crash caused by holding onto stale properties through a raw ptr
#jira UE-42072
Change 3364977 on 2017/03/26 by Max.Chen
Sequencer: Convert FLinearColor to FColor for fade.
#jira UE-41990
Change 3364978 on 2017/03/26 by Max.Chen
Sequencer: Limit GetAllSections to the sections that actually correspond to the track
#jira UE-42167
Change 3364979 on 2017/03/26 by Max.Chen
Sequencer: Filter root nodes too
#jira UE-42068
Change 3364980 on 2017/03/26 by Max.Chen
Sequencer: Filter relevant material parameters
#jira UE-40712
Change 3364982 on 2017/03/26 by Max.Chen
Sequencer: Remove audio range bounds which clamps to the section bounds (needed for evaluating in pre and post roll)
Change 3364983 on 2017/03/26 by Max.Chen
Sequencer: Add socket name to attach track section.
Change 3364984 on 2017/03/26 by Max.Chen
Sequencer: Fix sub track node deletion so that all the sub tracks aren't deleted, only the row being requested.
#jira UE-40955
Change 3364988 on 2017/03/26 by Max.Chen
Sequencer: Invalidate expired objects when blueprints are compiled. Fix actor references now handles sections that need to have their guids updated (ie. attach tracks).
Change 3364994 on 2017/03/26 by Max.Chen
Sequencer: Audio waveforms now show peak samples with smoothed RMS in the center
- Audio row heights are now also resizable by dragging on the bottom end of the track lane in the track area view
Change 3364995 on 2017/03/26 by Max.Chen
UMG: Fix crash on undo
#jira UE-42210
Change 3365000 on 2017/03/26 by Max.Chen
Sequencer: Fix crash from GetCurrentValue.
Change 3365001 on 2017/03/26 by Max.Chen
Sequencer: Split "Snap to the Dragged Key" option into two options, pressed key and dragged key.
#jira UE-42382
Change 3365002 on 2017/03/26 by Max.Chen
Sequencer: Downgraded check to ensure for FMovieSceneEvalTemplateBase::GetScriptStructImpl()
Change 3365003 on 2017/03/26 by Max.Chen
Sequencer: Fixed section template script struct
- Because the cpp is not parsed by UHT, the empty template had its parent struct, rather than its own
- We now just return null, and handle empty segments correctly in the segment remapper as part of the track compilation
Change 3365013 on 2017/03/26 by Max.Chen
Sequencer: Added data validation on compiled template loads, and extra guards against misuse of movie scene types
Change 3365014 on 2017/03/26 by Max.Chen
Sequencer: Sequencer now re-evaluates when starting PIE or Simulate
- This can be disabled by disabling "Bind Sequencer to PIE" and "Bind Sequencer to Simulate" in PIE advanced settings
Change 3365015 on 2017/03/26 by Max.Chen
Sequencer: Fix edl files so that they don't write out empty range shots
Change 3365017 on 2017/03/26 by Max.Chen
Sequencer: Set max tick rate when in game.
#jira UE-41078
Change 3365018 on 2017/03/26 by Max.Chen
Sequencer: When finishing a scrub, playback status is now correctly set to stopped rather than stepping
- This fixes a hack that was previously in place from the old PostTickRenderFixup that caused it to run that step after scrubbing bad finished. This is no longer necessary, and actually breaks clicking to set the scrub position, as it now means that we step across the entire range between the previous and current time.
Change 3365022 on 2017/03/26 by Max.Chen
Sequencer: Insert shot now creates a shot at the current time and puts it on the next available row.
#jira UE-41480, UE-27699
Change 3365023 on 2017/03/26 by Max.Chen
Sequencer: Add loop selection range. If there is no selection range, loop mode is restricted to loop or no loop.
#jira UE-42285
Change 3365029 on 2017/03/26 by Max.Chen
Sequencer: Add hotkeys to set the selection range to the next and previous shot (page up, page down). Also, added hotkey to set the playback range to all the shots (end)
Change 3365030 on 2017/03/26 by Max.Chen
Sequencer: Fix particle system restore state so that it gets the proper initial active state of the particle system.
#jira UE-42861, UE-42859
Change 3365031 on 2017/03/26 by Max.Chen
Sequencer: Snap time when changing time snapping intervals.
#jira UE-42590
Change 3365032 on 2017/03/26 by Max.Chen
Sequencer: Add When Finished state to sections. By default, sections now restore state.
#jira UE-41991, UE-31569
Change 3365033 on 2017/03/26 by Max.Chen
#jira UE-42028 "DialogueWave playback calls OnQueueSubtitles multiple times"
Only queue subtitles once per wave instance playback
Change 3365041 on 2017/03/26 by Max.Chen
Sequencer: Subscene hierarchical bias
Tracks can now be prioritized based on their subscene hierarhical bias value. Higher bias values take precedence.
#jira UE-42078
Change 3365042 on 2017/03/26 by Max.Chen
Sequencer: Generic paste menu for master (root) tracks.
Change 3365043 on 2017/03/26 by Max.Chen
Sequencer: Hierarchical bias for level visibility track
#jira UE-43024
Change 3365044 on 2017/03/26 by Max.Chen
Sequencer: Prevent throttling on editing keys/sections.
Change 3365045 on 2017/03/26 by Max.Chen
Sequencer: Set sequencer audio components bIsUISound to false so that they don't continue playing when the game is paused.
#jira UE-39391
Change 3365046 on 2017/03/26 by Max.Chen
Sequencer: Add missing BindLevelEditorCommands()
Change 3365049 on 2017/03/26 by Max.Chen
Sequencer: Set tick prerequites for spawnables when they are spawned.
#jira UE-43009
Change 3365050 on 2017/03/26 by Max.Chen
Sequencer: Jump to Start and End of playback shortcuts.
Rewind renamed to Jump to Start. Shortcut - up arrow.
Jump to End Shortcut - ctrl up arrow.
#jira UE-43224
Change 3365051 on 2017/03/26 by Max.Chen
Sequencer: Add last range to playback
Change 3365057 on 2017/03/26 by Max.Chen
Sequencer: Fix master sequence subscene generation times.
Change 3365058 on 2017/03/26 by Max.Chen
Sequencer: Fix paste so that it doesn't paste both onto object nodes and master tracks.
Change 3365059 on 2017/03/26 by Max.Chen
Sequencer: Fix crash pasting audio track.
Change 3365060 on 2017/03/26 by Max.Chen
Sequencer: Cache player fade state so that restore state will return the values to the pre animated state.
#jira UE-43313
Change 3365061 on 2017/03/26 by Max.Chen
Sequencer: Filter hidden functions. This fixes a bug where the field of view property for a cinematic camera appears to be animatable. It should be hidden just like it is in the property editor.
#jira UE-41461
Change 3365065 on 2017/03/26 by Max.Chen
Sequencer: Support component hierarchies when drawing animation paths
#jira UE-39500
Change 3365066 on 2017/03/26 by Max.Chen
Sequencer: Refine pause behaviour in sequencer to always evaluate the next frame
- This ensures that we get a full frame's worth of evaluation so that the paused frame is of a good quality (and avoids us evaluating a tiny range)
Change 3365075 on 2017/03/26 by Max.Chen
Sequencer: Fix add shot not setting next row.
Change 3365076 on 2017/03/26 by Max.Chen
Sequencer: Export MovieSceneTrackEditor
#jira UE-41641
Change 3365472 on 2017/03/27 by Yannick.Lange
VR Editor landscape. Back out changelist 3356071 with new proper fixes.
CL 3356071 introduced another bug and it wasn't correct because of removing FLandscapeToolInteractorPosition. This changelist fixes the same and additional bugs for VREditor Landscape mode.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Fix VREditor Landscape Texture Painting does not paint continuously
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Removed Interactor parameter from BeginTool.
#jira UE-42780, UE-42779
Change 3365497 on 2017/03/27 by Matt.Kuhlenschmidt
Fix texture importing when an FBX file incorrectly reports absolute path as relative. First we try absolute, then we try fbx reported relative, then we try relative to parent FBX file.
Change 3365498 on 2017/03/27 by Matt.Kuhlenschmidt
Fix attempting to load a package in FBX scene import when the import path is empty. This greatly reduces FBX scene import time
Change 3365504 on 2017/03/27 by Yannick.Lange
VR Editor landscape fix ensure in when starting to paint/sculpt. Mousemove on tool should only be called when the tool is actually active, not when hovering.
Change 3365551 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3425: Added Scrollbar customization to SComboBox (Contributed by Altrue)
#jira UE-43338
Change 3365580 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3409: Add support for per-Category filtering in Output Log (Contributed by thagberg)
Change 3365672 on 2017/03/27 by Andrew.Rodham
Sequencer: Preanimated state producers can now produce null tokens
- Doing so implies no preanimated state should be saved
Change 3365791 on 2017/03/27 by Andrew.Rodham
Sequencer: Added Material Parameter Collection track
Change 3365806 on 2017/03/27 by Max.Chen
Sequencer: Add option to instance sub sequences.
#jira UE-43307
Change 3365822 on 2017/03/27 by Matt.Kuhlenschmidt
Subdue the output log font color a bit
Change 3365846 on 2017/03/27 by Jamie.Dale
Added package redirection on load/find
Change 3365852 on 2017/03/27 by Jamie.Dale
Adding a way to mark a package as no longer missing
Change 3365896 on 2017/03/27 by Jamie.Dale
Adding GlobalNotification to Slate
This is the guts of the GlobalEditorNotification, so it can be used by code that doesn't link to UnrealEd.
Change 3365900 on 2017/03/27 by Jamie.Dale
Prevent the default cooked sandbox from trying to read non-cooked assets
Change 3366550 on 2017/03/27 by Max.Chen
Sequencer: Fix case
Change 3367301 on 2017/03/28 by Andrew.Rodham
Tests: Added test actor with a variety of properties for testing purposes
Change 3367303 on 2017/03/28 by Andrew.Rodham
Tests: Enabled ActorSequenceEditor plugin in EngineTest project
Change 3367304 on 2017/03/28 by Andrew.Rodham
Tests: Added several functional testing maps for sequencer
- SequencerTest_Properties - tests animating various property types
- SequencerTest_Events - tests basic event triggering functionality (including additional event receivers and event ordering)
- SequencerTest_BindingOverrides - tests overriding possessable and spawnable bindings, along with bindings in sub sequences
- SequencerTest_ActorSequence - tests basic actor sequence functionality
Change 3367465 on 2017/03/28 by Max.Chen
Sequencer: Set Bind Sequencer to PIE off by default, Bind Sequencer to Simulate remains on by default.
Change 3367515 on 2017/03/28 by Matt.Kuhlenschmidt
Guard against visual studio accessor crash
#jira UE-43368
Change 3368118 on 2017/03/28 by Alexis.Matte
Fix the staticmesh conversion from 4.13. There was a error in the LOD loop we where not remapping the LOD 0.
#jira UE-42731
Change 3368485 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for MacOSX 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368495 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for Windows 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368501 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - SVN Build instructions for Windows and Mac 64-bit libraries, and license files for Mac libraries
Change 3368782 on 2017/03/28 by Nick.Darnell
UMG - Improving some logging for fast widget creation.
Change 3368826 on 2017/03/28 by Nick.Darnell
Slate - Slate Application now maintains seperate tracking for each pointer being utilized for drag drop, so now multiple fingers on multiple widgets can now simultaneously be attempting a drag, however once one of them becomes successful, we clear all state of all other tracking since only one Drag Drop operation is possible at a time.
Slate - bFoldTick is now removed from the codebase, we haven't supported the other (non-folded) code path for awhile, so there was no point in maintaining the switch.
Slate - Users have noticed issues where the cursor does not appear when changing visibility (through toggling the way the cursor appears). This was rooted in how the OS requested cursor changes, WM_SETCURSOR on Windows only asks for new cursors when the mouse moves, but often cursors change just because mouse capture changes. So now the path has been centralized in Slate Tick to only handle the cursor changes in one place, and several places that need to refresh the cursor state, now set a flag to handle it on next tick.
#jira UE-40486
Change 3368917 on 2017/03/28 by Arciel.Rekman
Linux: allow building with clang 4.0.
Change 3369074 on 2017/03/28 by Nick.Darnell
UMG - Fixing some spelling on the hardware cursor tip.
UMG - Changed some checks to ensure now that users can input the wrong data from the editor. Adding some clamping to the editor interface so that users are not tempted to enter incorrect hotspot ranges for their cursors.
#jira UE-43419
#jira UE-43425
Change 3369137 on 2017/03/28 by Max.Chen
Sequencer: Add given master track sets the outer to the movie scene.
Change 3369360 on 2017/03/29 by Andrew.Rodham
Sequencer: Reconciled 3349194 and 3365041 with animphys merge
Change 3369410 on 2017/03/29 by Alexis.Matte
Fix the select filename in the FileDialog "Desktop window platform"
#jira UE-43319
Change 3369475 on 2017/03/29 by Nick.Darnell
PR #3413: UE-37710: Proper scaling of WebBrowserViewport (Contributed by projectgheist)
Modified - you can't use the clip rect to decide on how large you should be.
#jira UE-37710
Change 3369775 on 2017/03/29 by Max.Chen
ControlRig: Fix crash on exit.
#jira UE-43411
Change 3370466 on 2017/03/29 by Nick.Darnell
AsyncLoading - Adding USoundBase to the set of CDOs that have a particular fixed boot order.
StreamableManager - Only showing the duplicate load error in debug builds, it's not a real error.
#jira UE-43409
Change 3370570 on 2017/03/29 by Nick.Darnell
Slate - Fixing a bug with ZOrder being discarded on the SOverlay Slot.
#jira UE-43431
Change 3370644 on 2017/03/29 by Andrew.Rodham
Temporarily disabling sequencer functional test "Event Position"
Change 3370713 on 2017/03/29 by Nick.Darnell
PR #3399: UE-42831: Anchor text ignores scale (Contributed by projectgheist)
#jira UE-43156
#jira UE-42831
Change 3371243 on 2017/03/30 by Arciel.Rekman
Linux: scale OS allocation pool to match memory size.
- Number of distinct VMAs (contiguous virtual memory areas, i.e. mappings done via mmap()) is rather low (~64k)
and we can run out of VMAs earlier than we will run into available memory. Larger pool makes this less likely.
Change 3371262 on 2017/03/30 by Arciel.Rekman
Linux: fix custom present.
- PR #3383 contributed by yaakuro.
Change 3371301 on 2017/03/30 by Arciel.Rekman
Linux: fix copying to a non-existent directory during Setup.
Change 3371307 on 2017/03/30 by Andrew.Rodham
Editor: Added "Resave All" functionality to content browser folders
Change 3371364 on 2017/03/30 by Andrew.Rodham
Sequencer: Level streaming improvements
- Tick prerequisites are now set up when any object binding is resolved, not at the start of the sequence. This unifies code between spawnables and possessables, and allows tick prerequisites to still be set up when levels are streamed in
- Actor references are no longer resolved when a PIEInstance is specified on the package, and it cannot be fixed up to a different ptr than the original. This stops us resolving actors from one world into another.
- Fixed level visibility request getting cleared when the cumulative total was 0 (it should only do this if there are no requests left)
#jira UE-43225
Change 3371365 on 2017/03/30 by Andrew.Rodham
Tests: Sequencer level streaming tests
Change 3371493 on 2017/03/30 by Nick.Darnell
PR #3408: UE-19980: Added FCanExecuteAction to prevent keyboard shortcut. (Contributed by projectgheist)
Change 3371524 on 2017/03/30 by Nick.Darnell
PR #2938: Minor UMG code fixups (Contributed by projectgheist), accepted most of the changes.
Change 3371545 on 2017/03/30 by Nick.Darnell
UMG - Fixing some minor issues with WidgetComponents not properly limiting input depending on what is supported with reguard to hardware input.
Change 3371576 on 2017/03/30 by Matt.Kuhlenschmidt
PR #3433: Fix for the Standalone D3D Slate Shader using the wrong value for the. (Contributed by megasjay)
Change 3371590 on 2017/03/30 by Nick.Darnell
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's camera. The widgets should now show up in the right locations.
Change 3371625 on 2017/03/30 by Alexis.Matte
Fix the merge tool material id assignment
#jira UE-43246
Change 3371666 on 2017/03/30 by Nick.Darnell
UMG - Reducing logging, don't need to tell everyone all the time we're using the fast widget path.
Change 3371687 on 2017/03/30 by Arciel.Rekman
Linux: switch to new managed filehandles.
Change 3371778 on 2017/03/30 by Matt.Kuhlenschmidt
Fixed the animation to play property on skeletal meshes being too small to read anything
#jira UE-43327
Change 3372709 on 2017/03/30 by Matt.Kuhlenschmidt
Made slate loading widget / movie play back more thread safe by eliminating Slate applicaiton or the main window from being ticked directly on another thread. We now have a separate virtual window for ticking and painting the loading screen widgets in isolation
Change 3372757 on 2017/03/30 by Nick.Darnell
Paragon - Fixing cases where people were using PostLoad() where really it should have done when the widget was constructed or created. This is a side effect of the FastWidget creation path 'PostLoad()' is not called on newly constructed widgets, though it did before because part of duplicating the WidgetTree, required serialization, which would have called it.
Change 3372777 on 2017/03/30 by Nick.Darnell
Fixing fast widget template cooking so that it does the same logic as Initialize did, centralizing the code to find the first widgetblueprintclass.
Change 3372949 on 2017/03/30 by Nick.Darnell
UMG - Fixing some cooking crashes for the super class.
Change 3373139 on 2017/03/30 by Jeff.Farris
Added TimingPolicy option to WidgetComponent, so widgets can optionally tick in game time rather than real time.
(Copy of CL 3279699 from Robo Recall to Dev-Editor)
Change 3373235 on 2017/03/30 by Nick.Darnell
Fixing a cooking issue, accidentally removed code that was properly loading some needed assets.
Change 3373266 on 2017/03/30 by Matt.Kuhlenschmidt
Made GetMoviePlayer thread safe. Simply accessing GetMoviePlayer is safe now as is checking IsLoadingFinished. However, most of the functions on movie player are only safe from the game thread!
Change 3374026 on 2017/03/31 by Andrew.Rodham
Sequencer: Moved evaluation group registration to IMovieSceneModule
#jira UE-43420
Change 3374060 on 2017/03/31 by Yannick.Lange
VR Editor: Collision on motion controllers in simulate.
Change 3374185 on 2017/03/31 by Nick.Darnell
Attempting to fix the build.
Change 3374232 on 2017/03/31 by Max.Chen
Sequencer: Fix audio not playing in editor
#jira UE-43514
Change 3374322 on 2017/03/31 by Nick.Darnell
UMG - SafeZone widget now has comments, and useful tips. Using the debugging console commands now trigger the broadcast that will cause controls like the SSafeZone widget to resample the display metrics to learn the new safezone ratio.
Change 3374424 on 2017/03/31 by Max.Chen
Updated test content so that the door animation is now set to "Keep State" for the When Finished property.
#jira UE-43519
Change 3374447 on 2017/03/31 by Max.Chen
Sequencer: Notify streaming system prior to camera cuts
By default, this does nothing. Users will need to enable the preroll section of camera cuts for the streaming system to activate prior to cutting to cameras.
#jira UE-42406
Change 3374571 on 2017/03/31 by Andrew.Rodham
Sequencer: Unified global and object-bound pre animated state, added InitializeObjectForAnimation method to state producers
Change 3374578 on 2017/03/31 by Andrew.Rodham
Sequencer: Added unit tests for pre-animated state
Change 3374592 on 2017/03/31 by Max.Chen
Color Customization: Set curve color names.
#jira UE-43405
Change 3374596 on 2017/03/31 by Andrew.Rodham
Corrected documentation comment
Change 3374671 on 2017/03/31 by Matt.Kuhlenschmidt
Fix movie scene audio track not compiling outside of editor
Change 3374689 on 2017/03/31 by Matt.Kuhlenschmidt
Remove the slate thread masquerading as the game thread in IsInGameThread
Change 3374730 on 2017/03/31 by Max.Chen
Sequencer: Add check for null loaded level.
Change 3374732 on 2017/03/31 by Max.Chen
Sequencer: Remove null tracks on postload.
Change 3374737 on 2017/03/31 by tim.gautier
- Updated UMG_Optimization: Adjusted Variable names to resolve compile errors due to Widget Components and Variables sharing names (cannot be done with new compile improvements)
- Set Level Blueprint for TM-UMG back to AllPalettes
Change 3374987 on 2017/03/31 by Nick.Darnell
UMG - Introducing a way to inform the widgets more information about the designer. There's now a DesignerChanged event sent to all design time widgets letting them know things like the current screen size and DPI scale.
UMG - The SafeZone widget will now show the correct safe zone amount if you use the safezone command line options, which are now documented in the comment for the USafeZone class.
Change 3375599 on 2017/03/31 by Max.Chen
Cine Camera: Update camera debug plane when property changes, rather rely soley on tick. This fixes a bug where sliding the value on the details panel doesn't update the debug plane in the viewport simultaneously.
#jira UE-43543
Change 3375601 on 2017/03/31 by Arciel.Rekman
Linux: switch to v9 cross-toolchain.
Change 3375856 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed 'formal parameter with requested alignment of 16 won't be aligned'
Change 3375870 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed explicit template instantiation ocurring before the complete definition of type's members
- This resulted such members not being instantiated (and hence exported) when compiled with clang
Change 3376114 on 2017/04/02 by Arciel.Rekman
Linux: make source code accessor aware of clang 3.9 and 4.0.
Change 3376138 on 2017/04/02 by Arciel.Rekman
Linux: add clang to fedora deps (UE-42123).
- PR #3273 submitted by cpyarger.
Change 3376159 on 2017/04/02 by Arciel.Rekman
Linux: some support for building on Debian Sid or Stretch (UE-35841).
- Basd on PR #2790 by haimat.
Change 3376163 on 2017/04/02 by Arciel.Rekman
Linux: install latest clang on Arch (UE-42341).
- This undoes PR #1905.
- PR #2897 by SiebenCorgie.
- PR #3302 by awesomeness872.
- PR #3341 by patrickelectric.
Change 3376167 on 2017/04/02 by Arciel.Rekman
Add FreeBSD mem info (courtesy support for the out of tree build) (UE-42994).
- PR #3378 by mdcasey.
Change 3376168 on 2017/04/02 by Arciel.Rekman
Linux: fixed VHACD Makefile on a case sensitive fs (UE-42905).
- PR #3381 by slonopotamus.
Change 3376177 on 2017/04/02 by Arciel.Rekman
SlateDlg: case-insensitive comparison of filter extensions (UE-39477).
- PR #3019 by aknarts.
Change 3376178 on 2017/04/02 by Arciel.Rekman
WebRTC: only x86_64 version exists for Linux.
Change 3376245 on 2017/04/03 by Andrew.Rodham
Sequencer: Re-enabled event order test
Change 3376339 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash during loading movie playback on DX12 due to not ever cleaning up old resources
#jira UE-27026
Change 3376481 on 2017/04/03 by Alex.Delesky
#jira UE-43495 - TMaps will now support customized key properties correctly.
Change 3376741 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash flushing font cache when loading a movie. This is no longer save on the slate movie thread
#jira UE-43567
Change 3376763 on 2017/04/03 by Shaun.Kime
Material Reroute nodes do not work for Texture Object Parameters as they return a base output type. Modified logic to now support this node type.
#jira UE-43521
Change 3376836 on 2017/04/03 by Jamie.Dale
Fixed text format history being clobbered by reference collection
#jira UE-37513
Change 3376852 on 2017/04/03 by Nick.Darnell
Paragon - Found a case where a user had marked a BindWidget property as Transient which prevents serializing the property binding now for widget fast mode.
#jira UE-43564
Change 3377207 on 2017/04/03 by Jamie.Dale
Desktop platform directory pickers are expected to return absolute paths
File pickers return relative paths though, and we should make this consistent at some point.
#jira UE-43588
Change 3377214 on 2017/04/03 by Matt.Kuhlenschmidt
Fix movie player shutdown crash in non-editor builds
#jira UE-43577
Change 3377299 on 2017/04/03 by Michael.Dupuis
#jira UE-43586 : properties should be non transactional
#jira UE-43559
Change 3378333 on 2017/04/04 by Michael.Dupuis
#jira UE-43585
#jira UE-43586
Revert back to purple color
Change 3378633 on 2017/04/04 by Matt.Kuhlenschmidt
Resaved this asset to avoid zero engine version warnings
Change 3378958 on 2017/04/04 by Nick.Darnell
Automation - Fixing the race condition to finish compiling shaders on screenshots for UI.
[CL 3379345 by Matt Kuhlenschmidt in Main branch]
2017-04-04 15:35:21 -04:00
for ( int32 ExpressionIndex = 0 ; ExpressionIndex < Material - > Expressions . Num ( ) ; + + ExpressionIndex )
{
UMaterialExpression * MaterialExpression = Material - > Expressions [ ExpressionIndex ] ;
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( MaterialExpression - > GraphNode ) ;
if ( GraphNode )
{
GraphNode - > InvalidatePreviewMaterialDelegate . ExecuteIfBound ( ) ;
}
}
2014-03-14 14:13:41 -04:00
}
else
{
// Only refresh expressions that are marked for realtime update.
for ( int32 ExpressionIndex = 0 ; ExpressionIndex < Material - > Expressions . Num ( ) ; + + ExpressionIndex )
{
UMaterialExpression * MaterialExpression = Material - > Expressions [ ExpressionIndex ] ;
RefreshExpressionPreview ( MaterialExpression , false ) ;
}
}
TArray < FMatExpressionPreview * > ExpressionPreviewsBeingCompiled ;
ExpressionPreviewsBeingCompiled . Empty ( 50 ) ;
// Go through all expression previews and create new ones as needed, and maintain a list of previews that are being compiled
for ( int32 ExpressionIndex = 0 ; ExpressionIndex < Material - > Expressions . Num ( ) ; + + ExpressionIndex )
{
UMaterialExpression * MaterialExpression = Material - > Expressions [ ExpressionIndex ] ;
if ( MaterialExpression & & ! MaterialExpression - > IsA ( UMaterialExpressionComment : : StaticClass ( ) ) )
{
bool bNewlyCreated ;
FMatExpressionPreview * Preview = GetExpressionPreview ( MaterialExpression , bNewlyCreated ) ;
if ( bNewlyCreated & & Preview )
{
ExpressionPreviewsBeingCompiled . Add ( Preview ) ;
}
}
}
}
void FMaterialEditor : : RefreshExpressionPreview ( UMaterialExpression * MaterialExpression , bool bRecompile )
{
if ( ( MaterialExpression - > bRealtimePreview | | MaterialExpression - > bNeedToUpdatePreview ) & & ! MaterialExpression - > bCollapsed )
{
for ( int32 PreviewIndex = 0 ; PreviewIndex < ExpressionPreviews . Num ( ) ; + + PreviewIndex )
{
FMatExpressionPreview & ExpressionPreview = ExpressionPreviews [ PreviewIndex ] ;
if ( ExpressionPreview . GetExpression ( ) = = MaterialExpression )
{
// we need to make sure the rendering thread isn't drawing this tile
SCOPED_SUSPEND_RENDERING_THREAD ( true ) ;
ExpressionPreviews . RemoveAt ( PreviewIndex ) ;
MaterialExpression - > bNeedToUpdatePreview = false ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3379190)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3342222 on 2017/03/10 by Nick.Darnell
UMG - Adding a GetContent to the UContentWidget.
Change 3342228 on 2017/03/10 by Nick.Darnell
Project Launcher - Always consume mouse wheel vertically so it stops scrolling to the right.
Change 3342310 on 2017/03/10 by Nick.Darnell
UMG - Cleaning up some extra class references.
Change 3343382 on 2017/03/13 by Jamie.Dale
Applying optimization to FChunkManifestGenerator::ContainsMap
Change 3343523 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing"
- Enabling this allows you to see every property on selected objects that belong to a simulating world, even non-visible and non-editable properties. Very useful for inspection and debugging.
- Remember to change World Outliner to show you actors in the "Play World" if you want to select and inspect those objects first!
- This setting is saved for your entire project, similar to "Show All Advanced"
Change 3343573 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing" (part 2)
- Fixed missing include / unity issue
Change 3343709 on 2017/03/13 by Jamie.Dale
Some fixes for gathering cached dependency data
- We no longer load dependency data that doesn't have the correct package name.
- We no longer populate the dependency results when bGatherDependsData is false.
Change 3343900 on 2017/03/13 by Alexis.Matte
fix crash when creating too much LOD at import
#jira UE-42785
Change 3344104 on 2017/03/13 by Alexis.Matte
Add a boolean to the static mesh socket so we know if the socket was imported or created in UE4. This allow us to not impact editor socket when we re-import a fbx
#jira UE-42736
Change 3344802 on 2017/03/14 by Michael.Dupuis
#jira UE-42244 : added missing nullptr so render thread wont try to access global var when we're no longer in landscape mode
Changed the sync method between graphic resource from render thread and game thread to prevent desync
Change 3346061 on 2017/03/14 by Jamie.Dale
Adding const& and && overloads of FText::Format
Change 3346192 on 2017/03/14 by Arciel.Rekman
Linux: fix VHACD to retain bincompat with the baseline (UE-42895).
- It is now compiled against libc++ instead of libstdc++ in the toolchain.
Change 3347083 on 2017/03/15 by Andrew.Rodham
Fixed crash when changing anchors on a background blur widget
Change 3347359 on 2017/03/15 by Michael.Dupuis
#jira UE-38193:
Added Rename, Delete, New Folder, Size Map, Show In Explorer for folder and asset in the path view and asset view
Change 3347382 on 2017/03/15 by Michael.Dupuis
missing include incremental
Change 3347500 on 2017/03/15 by Alex.Delesky
#jira UE-41231 - Selecting multiple text widgets in UMG will now allow you to set their value correctly, and the "Multiple Values" text will no longer be set in the widgets instead.
Change 3347920 on 2017/03/15 by Jamie.Dale
Fixing some places passing tooltips as FString rather than FText
#jira UE-42603
Change 3347925 on 2017/03/15 by Jamie.Dale
Re-saving some assets so their tooltips can be gathered
#jira UE-42603
Change 3348788 on 2017/03/15 by Jamie.Dale
Updated the Windows platform to use the newer Vista+ style browser dialogs, rather than the older XP style dialogs
Change 3349187 on 2017/03/16 by Andrew.Rodham
Sequencer: Added the ability to specify additional event receivers for level sequence actors
- Such actors will receive events from event tracks
Change 3349194 on 2017/03/16 by Andrew.Rodham
Sequencer: Reset compiled templates on load in the editor, and ensure correct serialization of generation ledger
- Resetting on load means that we guarantee up-to-date templates, even if underlying compilation logic changes.
#jira UE-42198
#jira UE-40969
Change 3349210 on 2017/03/16 by Andrew.Rodham
Sequencer: Event tracks can now be defined to trigger events at the start of evaluation, after objects are spawned, or at the end of evaluation
Change 3349211 on 2017/03/16 by Andrew.Rodham
Sequencer: Add ability to retrieve bound objects from blueprint
Change 3349398 on 2017/03/16 by Nick.Darnell
UMG - Fixing a flashing hierarchy view. Looks like assets continuing to stream in causing the object change notification to continue to fire, and the widget designer refreshed any time it happened. Now limit to only if widgets are changing.
Change 3349420 on 2017/03/16 by Alex.Delesky
#jira UE-40720 - Multiline editable text boxes can now be set to Read-Only.
Change 3349548 on 2017/03/16 by Alexis.Matte
Fbx importer, when importing a staticmesh with combine mesh option check and the fbx file contain some "MultiSub Material" the materialinstance are now always hook properly.
Change 3349818 on 2017/03/16 by Cody.Albert
Fixed constructor for FNavigationMetaData
Change 3350047 on 2017/03/16 by Cody.Albert
Removed unneeded check so that children actors are never orphaned when their parent is moved into a newly created folder in the world outliner
Change 3350072 on 2017/03/16 by Arciel.Rekman
ShaderCompiler: make sure strings are at least 4-byte aligned.
- Can crash wcscpy() under Linux otherwise (reported by a licensee).
Change 3350146 on 2017/03/16 by Arciel.Rekman
Fix CodeLite project generation (UE-42921).
- Reportedly causes a crash in CodeLite 10.x
Change 3350235 on 2017/03/16 by Arciel.Rekman
Fix memory leak in address symbolication on Linux.
- Makes MallocProfiler work again.
- Also add progress update in MallocProfiler since symbolication is still slow.
Merging CL 3338764 from Fortnite to Dev-Editor.
Change 3350382 on 2017/03/16 by Arciel.Rekman
Linux: fix incorrect cast of rlimit in i686.
Change 3350471 on 2017/03/16 by Jamie.Dale
Enabling loc dashboard by default for new projects
Change 3350516 on 2017/03/16 by Jamie.Dale
Enabling content hot-reloading by default
Change 3350582 on 2017/03/16 by Cody.Albert
Corrected Widget Interaction Component to use current impact point instead of last impact point
Change 3350945 on 2017/03/16 by Jamie.Dale
Gave FConfigFile::FindOrAddSection API linkage
Change 3351441 on 2017/03/17 by Michael.Dupuis
#jira UE-42843: Fixed Transaction begin/end order issue happening with min slider passing max slider value
Add support for multiple selection value display
Change 3351558 on 2017/03/17 by Michael.Dupuis
#jira UE-42845: Always refresh the detail panel to properly update for selection change, delete, etc.
Change 3351657 on 2017/03/17 by Matt.Kuhlenschmidt
Adding USD Third Party dependencies
Change 3351665 on 2017/03/17 by Matt.Kuhlenschmidt
Added experimental USD Importer Plugin
This plugin supports basic static mesh importing and scene creation of actors using static meshes
Change 3351682 on 2017/03/17 by Matt.Kuhlenschmidt
Enabling USD importer in engine test project for automation tests
Change 3351749 on 2017/03/17 by Alexis.Matte
Make sure the selection proxy is off for the skeletal mesh component. UE4 use the selection outline instead
#jira UE-41677
Change 3351831 on 2017/03/17 by Michael.Dupuis
#jira UETOOL-1102:
Added HSV controls to Color Grading
Some look improvement for RGV/HSV
Color Grading refactor
Group Reset bug fix (relevant only to color grading)
Change 3352041 on 2017/03/17 by Matt.Kuhlenschmidt
Updated USD plugin whitelisting
Change 3352093 on 2017/03/17 by Michael.Dupuis
when FREEZERENDERING is called, stop the foliage culling too
Change 3352211 on 2017/03/17 by Alexis.Matte
Fix the physic asset missing skeleton warning
#jira UE-43006
Change 3352336 on 2017/03/17 by Alexis.Matte
We now allow a negative W value of the ScreenPoint vector in the ScreenToPixel function. In this case we simply reverse the W value to kept the manipulator direction on the good side.
#jira UE-37458
Change 3352947 on 2017/03/17 by Phillip.Kavan
#jira UE-42510 - Instanced static mesh transform edits are now reflected in the Blueprint editor's preview scene.
Change summary:
- Added IPropertyHandle::GetValueBaseAddress() (interface).
- Modified IPropertyHandle::NotifyPostChange() to include EPropertyChangeType as an optional input.
- Added FPropertyHandleBase::GetValueBaseAddress() (implementation).
- Modified FPropertyHandleBase::NotifyPostChange() to include the optional input arg in the property change event.
- Modified FPropertyHandleBase::CreatePropertyNameWidget() to clear the override text after temporarily replacing display name/tooltip text for the creation of the SPropertyNameWidget. This was done to allow for transactions to be named according to the property that's being modified.
- Modified FMathStructProxyCustomization::OnValueCommitted() to only apply the input value while not interactively editing via spinbox as well as when not post-processing an undo/redo (which can trigger a focus loss).
- Modified the FMathStructProxyCustomization::OnEndSliderMovement() delegate to include property handle and proxy value input parameters, as well as to call FlushValues() as part of the implementation.
- Modified FlushValues() for each of FMatrixStructCustomization, FTransformStructCustomization and FQuatStructCustomization to explicitly handle both propagation and transaction processing.
- Modified UInstancedStaticMeshComponent::UpdateInstanceTransform() to call Modify() prior to applying changes (so that the previous state is recorded when inside a transaction context).
- Modified FInstanceStaticMeshSCSEditorCustomization::HandleViewportDrag() to propagate changes to all instances of the ISMC archetype.
Known issues:
- Using the spinbox to edit instanced mesh transform values in the Blueprint editor will not apply the change to instances in the level editor until after you release the mouse button (i.e. - it will not be shown as a "live" update).
Change 3353678 on 2017/03/20 by Michael.Dupuis
properly unfreeze the culling of foliage when toggling the freezerendering command
Change 3353747 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3372: Git plugin: fix update status on directories hotfix (still) slightly broken in master (UE4.16) (Contributed by SRombauts)
Change 3353749 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3373: Git Plugin: hotfix for regression off Visual Diffs with older version of Git in master (UE4.16) (Contributed by SRombauts)
Change 3353754 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3390: Allow OBJ imports to change if materials and textures are also imported (Contributed by mmdanggg2)
Change 3353909 on 2017/03/20 by Matt.Kuhlenschmidt
Fixed actors showing thumbnails in details panel and made a few other tweeks to thumbnail displays in details panels
- The color of the accepted type is now shown properly
- All object based properties now have thumbnails on by default.
Change 3353948 on 2017/03/20 by Nick.Darnell
UMG - Updating the background blur widget's upgrade code to use the custom version, and handling older cases that were continuing to generate blur slots, even when already upgraded.
Change 3354335 on 2017/03/20 by Nick.Darnell
Paragon - Excluding Archetype objects from reporting references, which causes crashes in the fast template mode.
Change 3354495 on 2017/03/20 by Nick.Darnell
Core - Making it so order that outers are discovered does not matter, initializing the chain of outers if hasn't been created when instancing subobjects.
Change 3354578 on 2017/03/20 by Nick.Darnell
Slate - There's now a console variable option, Slate.VerifyHitTestVisibility (off by default) which enables additional visibility checks for widgets. Normally this isn't nessesary, but if you're changing the visibility of widgets during a frame, and several hit tests need to be performed that frame there's a chance that a button could be clicked twice in one frame. Enabling this mode will make all hit testing more expensive, so for now it's off by default, but available for licensees that need the extra testing.
Change 3354737 on 2017/03/20 by Nick.Darnell
Core - Adding a fix to Dev-Editor from that enables objects in the same package being requested to also be loaded. This came about during async streaming callbacks alerting that a requested class was done loading, but there were still other assets in the package 'not loaded' but were available, just needed post load called on them.
Change 3355923 on 2017/03/21 by Yannick.Lange
VR Editor: - Remove unnecessary cleanup functions.
- Initialize with VR Mode and remove SetOwner function, since it shouldn't be possible to reset the VR Mode afterwards.
Change 3355959 on 2017/03/21 by Yannick.Lange
VR Editor: - Rename VREditorWorldInteraction to VREditorPlacement, to avoid confusion with ViewportWorldInteraction. VREditorPlacement will only handle placing objects from content browser in the VR Mode.
- Removed SnapSelectedActorsToGround to VREditorMode.
Change 3355965 on 2017/03/21 by Yannick.Lange
VR Editor: Forgot to add files to previous submit 3355959.
Change 3355977 on 2017/03/21 by Yannick.Lange
VR Editor: Remove function to add a new extension with TSubclassOf<UEditorWorldExtension>.
Change 3356017 on 2017/03/21 by Yannick.Lange
VR Editor: - UI system check owner VRMode.
- UI system fix check on VRMode on shutdown.
Change 3356028 on 2017/03/21 by Nick.Darnell
Slate - SButton now correctly releases mouse capture even if it becomes disabled while pressed, but before 'click' has been fired.
#jira UE-42777
Change 3356071 on 2017/03/21 by Yannick.Lange
VR Editor: Copy of change 3353663.
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Cleanup FLandscapeToolInteractorPosition.
- Change from 3353663: Use TStrokeClass::UseContinuousApply and TimeSinceLastInteractorMove to decide when to apply ToolStroke on tick.
Change 3356180 on 2017/03/21 by Michael.Dupuis
Added ShowFlag Foliage Occlusion Bounds
Fixed non initialized variable
Expose changing Min Occlusion Bounds instead of assuming 6
#rn none
Change 3356347 on 2017/03/21 by Nick.Darnell
UMG - Introducing a faster CreateWidget. When cooking, the widget compiler now generates a widget template/archetype that is stored in the same package as the generated blueprint class. During compiling we generate a nearly fully initialized widget tree including all sub userwidgets and their trees, hookup all member variables, initialize named slots, setup any animations...etc. This nearly fully constructed widget can be instanced using it as an archetype in the NewObject call, and does not have to use the correspondingly slow StaticDuplicateObject path. There are restrictions on this method, part of the compiling step for widgets now inspects if the instancing would be successful, or if there would be GLEO references after instancing because a user forgot to setup Instanced on a subobject property. Luckily that should be few and far between, all UVisuals (Widgets & Slots) are now DefaultToInstanced, which takes care of the overwhelming cases that demand the instanced flag. Especially given the bulk of cases using BindWidget in native code.
UMG - Removing a lot of deprecated functions from 4.8 on UUserWidget.
Change 3356357 on 2017/03/21 by Nick.Darnell
Build - Fixing some IWYU issues on the incremental build.
Change 3356461 on 2017/03/21 by Nick.Darnell
Build - Fixing linux build errors.
Change 3356468 on 2017/03/21 by Jamie.Dale
STextPropertyEditableTextBox now handles empty texts correctly
Change 3356916 on 2017/03/21 by Matt.Kuhlenschmidt
Fixed a crash when a material render proxy on a preview node is deleted when it is in flight on the render thread
#jira UE-40556
Change 3357033 on 2017/03/21 by Alexis.Matte
Fix crash when importing file with import commandlet
Make sure path are combine properly to avoid crash
Add some missing pointer check
Make sure the asset are save when there is no source control
#jira UE-42334
Change 3357176 on 2017/03/21 by Alex.Delesky
#jira UE-42445 - TMaps now support editing the values of structs that act as map keys. TMaps with struct keys will now show the types of their elements in the details panel as well, and structs will now also display numbers next to set elements.
Change 3357197 on 2017/03/21 by Alex.Delesky
#jira none - Fixing build issue for TMap key struct change.
Change 3357205 on 2017/03/21 by Michael.Dupuis
Forgot to reset min granularity to 6 from testing
Change 3357340 on 2017/03/21 by Arciel.Rekman
Mark FMallocAnsi (standard libc malloc) thread-safe on Linux.
Change 3357413 on 2017/03/21 by matt.kuhlenschmidt
Added '/Game/Effects/Fort_Effects/Materials/Smoke/M_Main_Smoke_Puff.M_Main_Smoke_Puff' to collection 'MattKTest'
Upgraded collection 'MattKTest' (was version 1, now version 2)
Change 3357505 on 2017/03/21 by Alexis.Matte
Fix to avoid changing the CDO of FbxAssetImportData. The UI was saving the Config which was saving the CDO. But already serialized data will be reload badly if the CDO change since we serialize only the diff.
#jira UE-42947
Change 3357825 on 2017/03/21 by Arciel.Rekman
Clean up the large thread pool on exit.
- Seems like the destruction was missed in the original CL 2785131 (12/1/15).
- Fixes problems when threads were allocated in memory that is being cleaned up in another place on exit.
Change 3358086 on 2017/03/22 by Yannick.Lange
VR Editor: - Fix gizmo scaling down when dragging the world.
- Fix gizmo scaling down when dragging rotation handle.
Change 3358175 on 2017/03/22 by Andrew.Rodham
Sequencer: Made ALevelSequenceActor::AdditionalEventReceivers advanced display
Change 3358367 on 2017/03/22 by tim.gautier
Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters
Change 3358457 on 2017/03/22 by Yannick.Lange
VR Editor: Deleting unused UI assets.
Change 3358801 on 2017/03/22 by Matt.Kuhlenschmidt
Guard against crash if the level editor is shut down when the object system has already been shut down
#jira UE-35605
Change 3358897 on 2017/03/22 by matt.barnes
Checking in WIP test content for UEQATC-1635 (UMG Navigation)
Change 3358976 on 2017/03/22 by Alex.Delesky
#jira none - Fixing an issue where ItemPropertyNode could potentially dereference a null property
Change 3358987 on 2017/03/22 by Yannick.Lange
VR Editor: Fix warning: Can't find file for asset '/Engine/VREditor/UI/VRButtonBackground' while loading ../../../Engine/Content/VREditor/Devices/Vive/VivePreControllerMaterial.uasset.
Change 3359067 on 2017/03/22 by Yannick.Lange
VR Editor: Fix Radial Menu remains on controller after exiting VR Preview
#jira UE-42885
Change 3359179 on 2017/03/22 by Matt.Kuhlenschmidt
Fixed "Multiple Values" in Body Setup when single bone has multiple bodies
#jira UE-41546
Change 3359626 on 2017/03/22 by Arciel.Rekman
Linux: pool OS allocations.
- Add a TMemoryPool and TMemoryPoolArray classes that can be used with any type of OS allocator functions.
- Add ability to bypass CachedOSPageAllocator for given sizes. Also, corrected the condition on AllocImpl to match one on FreeImpl.
- Switch Linux to pool mmap()/munmap() by default (helps 32-bit Linux and also speeds up 64-bit one), except 64-bit servers.
- Add a test to TestPAL to check performance and thread safety.
- Misc. fixes.
Change 3359989 on 2017/03/23 by Andrew.Rodham
Sequencer: Binding overrides improvements
- Added the ability to override spawnable bindings
- Added the ability to override bindings in sub sequences
- Deprecated "Get Sequence Bindings" node in favor of "Get Sequence Binding", which is more robust, and provides a better UI/UX for selecting single bindings
#jira UE-42470
Change 3360369 on 2017/03/23 by Alexis.Matte
Fix the staticmesh conversion from UE4 4.13 to earlier UE4 versions
#jira UE-42731
Change 3360556 on 2017/03/23 by Andrew.Rodham
Sequencer: Added drag/drop support for binding overrides
- You can now drag and drop sequencer object binding nodes into blueprint graphs (to create 'Get Sequence Binding' nodes), and onto binding overrides specified on level sequence actors.
Change 3360618 on 2017/03/23 by Arciel.Rekman
Make Binned2 work on Mac.
- Game/server will use Binned2 by default.
Change 3360838 on 2017/03/23 by Nick.Darnell
CommonUI - Making the SingleMaterialStyleMID property transient. It had been serialized mistakenly onto several widgets when it appears the intent is to dynamically allocate it upon demand.
Change 3360841 on 2017/03/23 by Nick.Darnell
UMG - Updating the editor to use DuplicateAndInitializeFromWidgetTree, so that Initialize is properly called when duplicating sub widget trees.
Change 3362561 on 2017/03/24 by Matt.Kuhlenschmidt
Fixed text outlines being cropped at large sizes
#jira UE-42647
Change 3362565 on 2017/03/24 by Matt.Kuhlenschmidt
Added automation test for font outlines
Change 3362567 on 2017/03/24 by Matt.Kuhlenschmidt
Resaved this file to fix 0 engine version warnings
Change 3362582 on 2017/03/24 by Yannick.Lange
VR Editor: - Fix log warnings when teleporting.
- Fix undo/redo when using teleport scaling.
- Improved teleport scaling and push/pull input.
#jira UE-43214
Change 3362631 on 2017/03/24 by Jamie.Dale
Split the monolithic culture concept in UE4
UE4 has historically only supported the concept of a single monolithic "culture" that applied to both text localization and internationalization, as well as all asset localization. Typically the "culture" was set to the "locale" of the OS, however that could be undesirable or incorrect on platforms (such as newer versions of Windows) that have a distinct concept of "language" (for localization) and "locale" (for internationalization).
This change splits the concept of "culture" into "language" and "locale", and also adds the concept of "asset groups". The language is now used to work out which localization we should use, and the locale is used to control how numbers/dates/times/etc are formatted within our internationalization library.
Asset groups expand on the language used by asset localization and allow you to create a group of asset classes that can be assigned a different culture than the main game language. A typical use-case of this would be creating an "audio" group that could, for example, be set to Japanese while the rest of the game runs in English.
If your game doesn't care about the distinction between language and locale, and doesn't need to use asset groups, then you're able to continue to use "culture" as you always have. If, however, you do care about those things, then you'll likely want to avoid using the "culture" directly (as it's now a very aggressive setting that overrides all others), and instead favor using language/locale (games will typically treat these as the same) and asset groups as separate concepts (both in settings, and in your in-game UI).
The language or locale for a game can be controlled by settings within the "Internationalization" section of your configs (this would typically be set in your GameUserSettings config, in the same way that "culture" works), eg)
[Internationalization]
language=fr
locale=fr
The asset groups for a game can be controlled by settings within the "Internationalization.AssetGroupClasses" and "Internationalization.AssetGroupCultures" sections of your configs (the asset group class definition would typically be set in your DefaultGame config, and the cultures the groups use would typically be set in your GameUserSettings config), eg)
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
[Internationalization.AssetGroupCultures]
+Audio=ja
#jira UE-38418
#jira UE-43014
Change 3362798 on 2017/03/24 by Nick.Darnell
UMG - Putting the finishing touches on the hardware cursor system. Can now load them from blueprints, and there are options for setting them up in the project settings.
UMG - Deprecating the old properties for software widget cursors. They've been moved into a map that can handle any of the mouse cursors as the enum key, which was always the intent/desire but maps couldn't be used as UProperties then.
Change 3362805 on 2017/03/24 by Jamie.Dale
PR #3397: Allow empty source to override display string (Contributed by jorgenpt)
Change 3363039 on 2017/03/24 by Jamie.Dale
Use the pre-scaled font height where possible to avoid an extra multiply
Change 3363188 on 2017/03/24 by Joe.Graf
Added support for -iterate for content plugins that require path remapping during cook/packaging
#CodeReview: matt.kuhlenschmidt
#rb: matt.kuhlenschmidt
Change 3363355 on 2017/03/24 by Nick.Darnell
UMG - Removing the CookAdditionalFiles function in UserInterfaceSettings.
Change 3363672 on 2017/03/24 by Matt.Kuhlenschmidt
Material thumbnails now respect used particle system sprites flag and show a quad insead of a sphere by default. For this change I added the ability to have per asset type override for the default thumbnail shape and I added a way to reset thumbnails to default. All existinging particle system materials that have not had a custom thumbnail will have to be reloaded and resaved for this to work
#jira UE-42410
Change 3363699 on 2017/03/24 by Mike.Fricker
VR Editor: Improved extensibility (for mesh editor)
- This was merged from CL 3352612 and re-opened for edit before commit
- All mesh editor changes were stripped before merging
Change 3363784 on 2017/03/24 by Matt.Barnes
Adding content for tests following UEQATC-3548
Change 3363872 on 2017/03/24 by Arciel.Rekman
Linux: require user to setup clang/clang++ for building hlslcc.
- Earlier we tried to handle most common scenarios since libhlslcc needed to be built during the setup. Now that we supply a prebuilt version we don't need to be as user friendly, especially given that the attempts to second guess the compiler started to look complicated.
Change 3364089 on 2017/03/24 by Matt.Kuhlenschmidt
Fix CIS
Change 3364381 on 2017/03/24 by JeanMichel.Dignard
UV Packing optim
- Use horizontal segments instead of checking texel by texel to fit source chart in layout.
- Skip a couple of rasterize by flipping either the X texels or the Y texels when possible.
- Keep the best chart raster so that we don't need to reraster when adding the chart to the layout.
- Added a lightmap UV version in StaticMesh so that we don't invalidate the lighting cache. Only use the new lightmap UV generation when going through UStaticMesh::Build which invalidates the lighting.
Change 3364587 on 2017/03/24 by Arciel.Rekman
Fix ordered comparison warning from clang 4.0.
Change 3364596 on 2017/03/24 by Arciel.Rekman
Linux: fix editor being stuck (hack).
- Rebuilt hlslcc in Debug.
Change 3364863 on 2017/03/25 by Max.Chen
Sequencer: Fixed crash when deactivating a section in sequencer
#jira UE-39880
Change 3364864 on 2017/03/25 by Max.Chen
Sequencer: Integrating fix from licensee to ensure FVirtualTrackArea::HitTestSection checks the row of the section
Change 3364865 on 2017/03/25 by Max.Chen
Cine Camera: Default post process depth of field method to CircleDOF and use that setting in UpdateCameraLens.
#jira UE-40621
Change 3364866 on 2017/03/25 by Max.Chen
GitHub #3183: Conversion to base class is inaccessible.
Change 3364869 on 2017/03/25 by Max.Chen
Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The setting is only used to initialize the time snapping interval of the level sequence. Added translate keys with ctrl and left-right arrows.
#jira UE-41009
#jira UE-41210
Change 3364870 on 2017/03/25 by Max.Chen
Sequencer: Added translate keys with ctrl and left-right arrows.
#jira UE-41210
Change 3364871 on 2017/03/25 by Max.Chen
Sequencer: Add level sequence actor customization to open sequencer from the details panel. For matinee parity.
#jira UE-41459
Change 3364879 on 2017/03/25 by Max.Chen
Sequencer: Duplicate shot should put the duplicate on the next available row, keeping the start/end times the same.
#jira UE-41289
Change 3364880 on 2017/03/25 by Max.Chen
Sequencer: Opening the API for MovieSceneAudio-related classes along with some minor functionality additions:
- Adding _API specifiers to MovieSceneAudioTrack, MovieSceneAudioSection, and FAudioTrackEditor so they can be subclassed in other modules.
- Made GetSoundDuration function in MovieSceneAudioTrack.cpp a member function so it's functionaliy could be reused by subclasses.
- Adding ability to specify delegates for OnQueueSubtitles, OnAudioFinished, and OnAudioPlaybackPercent in a MovieSceneAudioSection, and have them automatically assigned to any AudioComponents that are played by the MovieSceneAudioTemplate
Change 3364884 on 2017/03/25 by Max.Chen
Sequencer fbx import
- Removed the PostRotation compensation as it was setuped for 3ds max.
- On import, add a rotation to camera and light animation keys like we do on export.
- Merge the component local transform with the ActorNode transform when exporting only one component that isn't the root component in fbx since we're not creating child nodes in that case.
#jira UE-34692
Change 3364885 on 2017/03/25 by Max.Chen
Sequence Recorder: Fix crash when clearing properties to record.
#jira UE-41873
Change 3364886 on 2017/03/25 by Max.Chen
Sequencer: Add error when attempting to add a circularly dependent level sequence
#jira UE-22358
Change 3364890 on 2017/03/26 by Max.Chen
Sequencer: Added ability to specify a 'notify' function to property instance bindings
- When specified, the (parameterless) function will be called after a property is set
Change 3364891 on 2017/03/26 by Max.Chen
Sequencer: Various fixes to thumbnails
- Fixed alpha blending being used when presenting the full screen quad for thumbnails
Change 3364892 on 2017/03/26 by Max.Chen
Sequencer: PreRoll and PostRoll is now exposed at the section level, for all sections
- For the majority of sections this will be unimplemented, but it will allow for some tracks to set up their data ahead of time
Change 3364896 on 2017/03/26 by Max.Chen
Sequencer: Add segment flags to equality operator for movie scene evaluation segments
- This prevents them from being accumulated into adjacent segments of the same index and forced time, but differing flags
Change 3364897 on 2017/03/26 by Max.Chen
Sequencer: Fixed "Evaluate in preroll" and "Evaluate in Postroll" options
- Pre and postroll flags now come through on compiled segments, so the previous manual logic for sub sections is obsolete; we can just use the compiled segment data directly.
Change 3364898 on 2017/03/26 by Max.Chen
Sequencer: Moved track options to be accessible on all nodes, and operate on all selected tracks
Change 3364902 on 2017/03/26 by Max.Chen
Sequencer: Ensure evaluation flags are considered when compiling segments from external sequences
- This ensures that preroll regions in sub sequences are correctly evaluated when their parent section has preroll
- Changed high pass blending to always allow preroll
Change 3364903 on 2017/03/26 by Max.Chen
Engine: Moved proxy mesh transform update out of camera view computation code
- GetCameraView can happen as part of end of frame updates, which will assert if any changes of transform happen during its processing
Change 3364908 on 2017/03/26 by Max.Chen
Sequencer: Added visualization of pre and postroll on sections
Change 3364909 on 2017/03/26 by Max.Chen
Sequencer: Prevent MovieSceneCompiler from removing preroll segments
Change 3364910 on 2017/03/26 by Max.Chen
Sequencer: MediaPlayer PreRoll/PostRoll fix
- Handle PreRoll/PostRoll on sub scenes that have a start offset
Change 3364922 on 2017/03/26 by Max.Chen
Sequencer: Add check for valid property before dereferencing.
#jira UE-40951
Change 3364923 on 2017/03/26 by Max.Chen
Sequencer: Fix MovieScene preroll so that it seeks to the start correct frame before the preroll.
Change 3364924 on 2017/03/26 by Max.Chen
Sequencer - change default behavior for pre/post roll evaluation
- MovieSceneTracks are NOT evaluated by default
Change 3364925 on 2017/03/26 by Max.Chen
Sequencer: Shot track rows now consider pre and post roll when being compiled
Change 3364926 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to define shared execution tokens, identifyable with a unique identifier, and sortable based on a sort order (<=0: before standard tokens, >0: after other tokens)
Change 3364927 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to selectively restore state for specific anim type IDs for a given object
- This allows us to specifically restore one particular type of animation for a given object (ie, transform, skeletal animation control, or motion blur)
Change 3364928 on 2017/03/26 by Max.Chen
Sequencer: Fixed sub-sub tracks not being present in master sequences
- In order to correctly handle preroll in inner-inner sequences, we need to have access to those tracks when compiling intermediate sub sections. By caching off all the inner templates, we can have access to these tracks to check whether they want to be evaluated in pre/post roll in the master sequence
Change 3364937 on 2017/03/26 by Max.Chen
Sequencer: Update cine camera component debug focus plane on tick, rather than in GetCameraView
#jira UE-41332
Change 3364938 on 2017/03/26 by Max.Chen
Sequencer: Fix crash inserting a level sequence with an invalid shot.
#jira UE-41481
Change 3364940 on 2017/03/26 by Max.Chen
Sequencer: Made handling of pre and post roll more consistent between explicit section pre/post roll and pre/post roll inherited from an outer sub section
Change 3364942 on 2017/03/26 by Max.Chen
Movie Scene Capture: Move EDL generation to setup instead of close to ensure it gets written out when capturing as a separate process.
#jira UE-41703
Change 3364943 on 2017/03/26 by Max.Chen
Sequencer: Prevent capturing movies in editor while a PIE session is running
#jira UE-41399
Change 3364944 on 2017/03/26 by Max.Chen
CIS fixes
Change 3364951 on 2017/03/26 by Max.Chen
Sequencer: Fix autokey not setting a keyframe for slate color with specified color.
#jira UE-41645
Change 3364952 on 2017/03/26 by Max.Chen
Sequencer: Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row
#jira UE-41684
Change 3364953 on 2017/03/26 by Max.Chen
Sequencer: Fix edl so that it doesn't write out when a shot is out of range. Also fixed not writing the EDL with the correct frame rate when exporting from the track. Reworked the cmx EDL so that its encoded in the same edit time space, including a blank slug at the beginning of the edit.
#jira UE-41925
Change 3364954 on 2017/03/26 by Max.Chen
Sequencer - Allow animating parameters on cascade effect components which aren't owned by an AEmitter.
Change 3364955 on 2017/03/26 by Max.Chen
Sequencer: Fixed sequencer anim instance not being used in the case where one was requested, but a different anim instance was already set
This fixes an issue when rendering in seaprate process, animations that were set up to use the sequencer instance would be controlled using montage animation instead.
Change 3364963 on 2017/03/26 by Max.Chen
Sequencer: Fix filtering to include child nodes.
#jira UE-42068
Change 3364964 on 2017/03/26 by Max.Chen
Sequencer: Enable UseCustomStartFrame and UseCustomEndFrame when rendering a single shot from the menu.
#jira UE-42021
Change 3364965 on 2017/03/26 by Max.Chen
Sequencer: Set the fade color in the track display
Change 3364966 on 2017/03/26 by Max.Chen
Sequencer: Show actor attached to label in attach section.
Change 3364967 on 2017/03/26 by Max.Chen
Sequencer: Fix static analysis warnings
Change 3364968 on 2017/03/26 by Max.Chen
Sequencer: Fix crash on converting to spawnable.
The previous implementation purported to allow null objects to set up spawnable defaults but it actually needed to compare the spawned object to the supported type. This new mechanism now allows the spawner to indicate that it accepts null objects and doesn't crash.
#jira UE-42069
Change 3364969 on 2017/03/26 by Max.Chen
Sequencer: Fixed crash caused by holding onto stale properties through a raw ptr
#jira UE-42072
Change 3364977 on 2017/03/26 by Max.Chen
Sequencer: Convert FLinearColor to FColor for fade.
#jira UE-41990
Change 3364978 on 2017/03/26 by Max.Chen
Sequencer: Limit GetAllSections to the sections that actually correspond to the track
#jira UE-42167
Change 3364979 on 2017/03/26 by Max.Chen
Sequencer: Filter root nodes too
#jira UE-42068
Change 3364980 on 2017/03/26 by Max.Chen
Sequencer: Filter relevant material parameters
#jira UE-40712
Change 3364982 on 2017/03/26 by Max.Chen
Sequencer: Remove audio range bounds which clamps to the section bounds (needed for evaluating in pre and post roll)
Change 3364983 on 2017/03/26 by Max.Chen
Sequencer: Add socket name to attach track section.
Change 3364984 on 2017/03/26 by Max.Chen
Sequencer: Fix sub track node deletion so that all the sub tracks aren't deleted, only the row being requested.
#jira UE-40955
Change 3364988 on 2017/03/26 by Max.Chen
Sequencer: Invalidate expired objects when blueprints are compiled. Fix actor references now handles sections that need to have their guids updated (ie. attach tracks).
Change 3364994 on 2017/03/26 by Max.Chen
Sequencer: Audio waveforms now show peak samples with smoothed RMS in the center
- Audio row heights are now also resizable by dragging on the bottom end of the track lane in the track area view
Change 3364995 on 2017/03/26 by Max.Chen
UMG: Fix crash on undo
#jira UE-42210
Change 3365000 on 2017/03/26 by Max.Chen
Sequencer: Fix crash from GetCurrentValue.
Change 3365001 on 2017/03/26 by Max.Chen
Sequencer: Split "Snap to the Dragged Key" option into two options, pressed key and dragged key.
#jira UE-42382
Change 3365002 on 2017/03/26 by Max.Chen
Sequencer: Downgraded check to ensure for FMovieSceneEvalTemplateBase::GetScriptStructImpl()
Change 3365003 on 2017/03/26 by Max.Chen
Sequencer: Fixed section template script struct
- Because the cpp is not parsed by UHT, the empty template had its parent struct, rather than its own
- We now just return null, and handle empty segments correctly in the segment remapper as part of the track compilation
Change 3365013 on 2017/03/26 by Max.Chen
Sequencer: Added data validation on compiled template loads, and extra guards against misuse of movie scene types
Change 3365014 on 2017/03/26 by Max.Chen
Sequencer: Sequencer now re-evaluates when starting PIE or Simulate
- This can be disabled by disabling "Bind Sequencer to PIE" and "Bind Sequencer to Simulate" in PIE advanced settings
Change 3365015 on 2017/03/26 by Max.Chen
Sequencer: Fix edl files so that they don't write out empty range shots
Change 3365017 on 2017/03/26 by Max.Chen
Sequencer: Set max tick rate when in game.
#jira UE-41078
Change 3365018 on 2017/03/26 by Max.Chen
Sequencer: When finishing a scrub, playback status is now correctly set to stopped rather than stepping
- This fixes a hack that was previously in place from the old PostTickRenderFixup that caused it to run that step after scrubbing bad finished. This is no longer necessary, and actually breaks clicking to set the scrub position, as it now means that we step across the entire range between the previous and current time.
Change 3365022 on 2017/03/26 by Max.Chen
Sequencer: Insert shot now creates a shot at the current time and puts it on the next available row.
#jira UE-41480, UE-27699
Change 3365023 on 2017/03/26 by Max.Chen
Sequencer: Add loop selection range. If there is no selection range, loop mode is restricted to loop or no loop.
#jira UE-42285
Change 3365029 on 2017/03/26 by Max.Chen
Sequencer: Add hotkeys to set the selection range to the next and previous shot (page up, page down). Also, added hotkey to set the playback range to all the shots (end)
Change 3365030 on 2017/03/26 by Max.Chen
Sequencer: Fix particle system restore state so that it gets the proper initial active state of the particle system.
#jira UE-42861, UE-42859
Change 3365031 on 2017/03/26 by Max.Chen
Sequencer: Snap time when changing time snapping intervals.
#jira UE-42590
Change 3365032 on 2017/03/26 by Max.Chen
Sequencer: Add When Finished state to sections. By default, sections now restore state.
#jira UE-41991, UE-31569
Change 3365033 on 2017/03/26 by Max.Chen
#jira UE-42028 "DialogueWave playback calls OnQueueSubtitles multiple times"
Only queue subtitles once per wave instance playback
Change 3365041 on 2017/03/26 by Max.Chen
Sequencer: Subscene hierarchical bias
Tracks can now be prioritized based on their subscene hierarhical bias value. Higher bias values take precedence.
#jira UE-42078
Change 3365042 on 2017/03/26 by Max.Chen
Sequencer: Generic paste menu for master (root) tracks.
Change 3365043 on 2017/03/26 by Max.Chen
Sequencer: Hierarchical bias for level visibility track
#jira UE-43024
Change 3365044 on 2017/03/26 by Max.Chen
Sequencer: Prevent throttling on editing keys/sections.
Change 3365045 on 2017/03/26 by Max.Chen
Sequencer: Set sequencer audio components bIsUISound to false so that they don't continue playing when the game is paused.
#jira UE-39391
Change 3365046 on 2017/03/26 by Max.Chen
Sequencer: Add missing BindLevelEditorCommands()
Change 3365049 on 2017/03/26 by Max.Chen
Sequencer: Set tick prerequites for spawnables when they are spawned.
#jira UE-43009
Change 3365050 on 2017/03/26 by Max.Chen
Sequencer: Jump to Start and End of playback shortcuts.
Rewind renamed to Jump to Start. Shortcut - up arrow.
Jump to End Shortcut - ctrl up arrow.
#jira UE-43224
Change 3365051 on 2017/03/26 by Max.Chen
Sequencer: Add last range to playback
Change 3365057 on 2017/03/26 by Max.Chen
Sequencer: Fix master sequence subscene generation times.
Change 3365058 on 2017/03/26 by Max.Chen
Sequencer: Fix paste so that it doesn't paste both onto object nodes and master tracks.
Change 3365059 on 2017/03/26 by Max.Chen
Sequencer: Fix crash pasting audio track.
Change 3365060 on 2017/03/26 by Max.Chen
Sequencer: Cache player fade state so that restore state will return the values to the pre animated state.
#jira UE-43313
Change 3365061 on 2017/03/26 by Max.Chen
Sequencer: Filter hidden functions. This fixes a bug where the field of view property for a cinematic camera appears to be animatable. It should be hidden just like it is in the property editor.
#jira UE-41461
Change 3365065 on 2017/03/26 by Max.Chen
Sequencer: Support component hierarchies when drawing animation paths
#jira UE-39500
Change 3365066 on 2017/03/26 by Max.Chen
Sequencer: Refine pause behaviour in sequencer to always evaluate the next frame
- This ensures that we get a full frame's worth of evaluation so that the paused frame is of a good quality (and avoids us evaluating a tiny range)
Change 3365075 on 2017/03/26 by Max.Chen
Sequencer: Fix add shot not setting next row.
Change 3365076 on 2017/03/26 by Max.Chen
Sequencer: Export MovieSceneTrackEditor
#jira UE-41641
Change 3365472 on 2017/03/27 by Yannick.Lange
VR Editor landscape. Back out changelist 3356071 with new proper fixes.
CL 3356071 introduced another bug and it wasn't correct because of removing FLandscapeToolInteractorPosition. This changelist fixes the same and additional bugs for VREditor Landscape mode.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Fix VREditor Landscape Texture Painting does not paint continuously
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Removed Interactor parameter from BeginTool.
#jira UE-42780, UE-42779
Change 3365497 on 2017/03/27 by Matt.Kuhlenschmidt
Fix texture importing when an FBX file incorrectly reports absolute path as relative. First we try absolute, then we try fbx reported relative, then we try relative to parent FBX file.
Change 3365498 on 2017/03/27 by Matt.Kuhlenschmidt
Fix attempting to load a package in FBX scene import when the import path is empty. This greatly reduces FBX scene import time
Change 3365504 on 2017/03/27 by Yannick.Lange
VR Editor landscape fix ensure in when starting to paint/sculpt. Mousemove on tool should only be called when the tool is actually active, not when hovering.
Change 3365551 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3425: Added Scrollbar customization to SComboBox (Contributed by Altrue)
#jira UE-43338
Change 3365580 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3409: Add support for per-Category filtering in Output Log (Contributed by thagberg)
Change 3365672 on 2017/03/27 by Andrew.Rodham
Sequencer: Preanimated state producers can now produce null tokens
- Doing so implies no preanimated state should be saved
Change 3365791 on 2017/03/27 by Andrew.Rodham
Sequencer: Added Material Parameter Collection track
Change 3365806 on 2017/03/27 by Max.Chen
Sequencer: Add option to instance sub sequences.
#jira UE-43307
Change 3365822 on 2017/03/27 by Matt.Kuhlenschmidt
Subdue the output log font color a bit
Change 3365846 on 2017/03/27 by Jamie.Dale
Added package redirection on load/find
Change 3365852 on 2017/03/27 by Jamie.Dale
Adding a way to mark a package as no longer missing
Change 3365896 on 2017/03/27 by Jamie.Dale
Adding GlobalNotification to Slate
This is the guts of the GlobalEditorNotification, so it can be used by code that doesn't link to UnrealEd.
Change 3365900 on 2017/03/27 by Jamie.Dale
Prevent the default cooked sandbox from trying to read non-cooked assets
Change 3366550 on 2017/03/27 by Max.Chen
Sequencer: Fix case
Change 3367301 on 2017/03/28 by Andrew.Rodham
Tests: Added test actor with a variety of properties for testing purposes
Change 3367303 on 2017/03/28 by Andrew.Rodham
Tests: Enabled ActorSequenceEditor plugin in EngineTest project
Change 3367304 on 2017/03/28 by Andrew.Rodham
Tests: Added several functional testing maps for sequencer
- SequencerTest_Properties - tests animating various property types
- SequencerTest_Events - tests basic event triggering functionality (including additional event receivers and event ordering)
- SequencerTest_BindingOverrides - tests overriding possessable and spawnable bindings, along with bindings in sub sequences
- SequencerTest_ActorSequence - tests basic actor sequence functionality
Change 3367465 on 2017/03/28 by Max.Chen
Sequencer: Set Bind Sequencer to PIE off by default, Bind Sequencer to Simulate remains on by default.
Change 3367515 on 2017/03/28 by Matt.Kuhlenschmidt
Guard against visual studio accessor crash
#jira UE-43368
Change 3368118 on 2017/03/28 by Alexis.Matte
Fix the staticmesh conversion from 4.13. There was a error in the LOD loop we where not remapping the LOD 0.
#jira UE-42731
Change 3368485 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for MacOSX 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368495 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for Windows 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368501 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - SVN Build instructions for Windows and Mac 64-bit libraries, and license files for Mac libraries
Change 3368782 on 2017/03/28 by Nick.Darnell
UMG - Improving some logging for fast widget creation.
Change 3368826 on 2017/03/28 by Nick.Darnell
Slate - Slate Application now maintains seperate tracking for each pointer being utilized for drag drop, so now multiple fingers on multiple widgets can now simultaneously be attempting a drag, however once one of them becomes successful, we clear all state of all other tracking since only one Drag Drop operation is possible at a time.
Slate - bFoldTick is now removed from the codebase, we haven't supported the other (non-folded) code path for awhile, so there was no point in maintaining the switch.
Slate - Users have noticed issues where the cursor does not appear when changing visibility (through toggling the way the cursor appears). This was rooted in how the OS requested cursor changes, WM_SETCURSOR on Windows only asks for new cursors when the mouse moves, but often cursors change just because mouse capture changes. So now the path has been centralized in Slate Tick to only handle the cursor changes in one place, and several places that need to refresh the cursor state, now set a flag to handle it on next tick.
#jira UE-40486
Change 3368917 on 2017/03/28 by Arciel.Rekman
Linux: allow building with clang 4.0.
Change 3369074 on 2017/03/28 by Nick.Darnell
UMG - Fixing some spelling on the hardware cursor tip.
UMG - Changed some checks to ensure now that users can input the wrong data from the editor. Adding some clamping to the editor interface so that users are not tempted to enter incorrect hotspot ranges for their cursors.
#jira UE-43419
#jira UE-43425
Change 3369137 on 2017/03/28 by Max.Chen
Sequencer: Add given master track sets the outer to the movie scene.
Change 3369360 on 2017/03/29 by Andrew.Rodham
Sequencer: Reconciled 3349194 and 3365041 with animphys merge
Change 3369410 on 2017/03/29 by Alexis.Matte
Fix the select filename in the FileDialog "Desktop window platform"
#jira UE-43319
Change 3369475 on 2017/03/29 by Nick.Darnell
PR #3413: UE-37710: Proper scaling of WebBrowserViewport (Contributed by projectgheist)
Modified - you can't use the clip rect to decide on how large you should be.
#jira UE-37710
Change 3369775 on 2017/03/29 by Max.Chen
ControlRig: Fix crash on exit.
#jira UE-43411
Change 3370466 on 2017/03/29 by Nick.Darnell
AsyncLoading - Adding USoundBase to the set of CDOs that have a particular fixed boot order.
StreamableManager - Only showing the duplicate load error in debug builds, it's not a real error.
#jira UE-43409
Change 3370570 on 2017/03/29 by Nick.Darnell
Slate - Fixing a bug with ZOrder being discarded on the SOverlay Slot.
#jira UE-43431
Change 3370644 on 2017/03/29 by Andrew.Rodham
Temporarily disabling sequencer functional test "Event Position"
Change 3370713 on 2017/03/29 by Nick.Darnell
PR #3399: UE-42831: Anchor text ignores scale (Contributed by projectgheist)
#jira UE-43156
#jira UE-42831
Change 3371243 on 2017/03/30 by Arciel.Rekman
Linux: scale OS allocation pool to match memory size.
- Number of distinct VMAs (contiguous virtual memory areas, i.e. mappings done via mmap()) is rather low (~64k)
and we can run out of VMAs earlier than we will run into available memory. Larger pool makes this less likely.
Change 3371262 on 2017/03/30 by Arciel.Rekman
Linux: fix custom present.
- PR #3383 contributed by yaakuro.
Change 3371301 on 2017/03/30 by Arciel.Rekman
Linux: fix copying to a non-existent directory during Setup.
Change 3371307 on 2017/03/30 by Andrew.Rodham
Editor: Added "Resave All" functionality to content browser folders
Change 3371364 on 2017/03/30 by Andrew.Rodham
Sequencer: Level streaming improvements
- Tick prerequisites are now set up when any object binding is resolved, not at the start of the sequence. This unifies code between spawnables and possessables, and allows tick prerequisites to still be set up when levels are streamed in
- Actor references are no longer resolved when a PIEInstance is specified on the package, and it cannot be fixed up to a different ptr than the original. This stops us resolving actors from one world into another.
- Fixed level visibility request getting cleared when the cumulative total was 0 (it should only do this if there are no requests left)
#jira UE-43225
Change 3371365 on 2017/03/30 by Andrew.Rodham
Tests: Sequencer level streaming tests
Change 3371493 on 2017/03/30 by Nick.Darnell
PR #3408: UE-19980: Added FCanExecuteAction to prevent keyboard shortcut. (Contributed by projectgheist)
Change 3371524 on 2017/03/30 by Nick.Darnell
PR #2938: Minor UMG code fixups (Contributed by projectgheist), accepted most of the changes.
Change 3371545 on 2017/03/30 by Nick.Darnell
UMG - Fixing some minor issues with WidgetComponents not properly limiting input depending on what is supported with reguard to hardware input.
Change 3371576 on 2017/03/30 by Matt.Kuhlenschmidt
PR #3433: Fix for the Standalone D3D Slate Shader using the wrong value for the. (Contributed by megasjay)
Change 3371590 on 2017/03/30 by Nick.Darnell
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's camera. The widgets should now show up in the right locations.
Change 3371625 on 2017/03/30 by Alexis.Matte
Fix the merge tool material id assignment
#jira UE-43246
Change 3371666 on 2017/03/30 by Nick.Darnell
UMG - Reducing logging, don't need to tell everyone all the time we're using the fast widget path.
Change 3371687 on 2017/03/30 by Arciel.Rekman
Linux: switch to new managed filehandles.
Change 3371778 on 2017/03/30 by Matt.Kuhlenschmidt
Fixed the animation to play property on skeletal meshes being too small to read anything
#jira UE-43327
Change 3372709 on 2017/03/30 by Matt.Kuhlenschmidt
Made slate loading widget / movie play back more thread safe by eliminating Slate applicaiton or the main window from being ticked directly on another thread. We now have a separate virtual window for ticking and painting the loading screen widgets in isolation
Change 3372757 on 2017/03/30 by Nick.Darnell
Paragon - Fixing cases where people were using PostLoad() where really it should have done when the widget was constructed or created. This is a side effect of the FastWidget creation path 'PostLoad()' is not called on newly constructed widgets, though it did before because part of duplicating the WidgetTree, required serialization, which would have called it.
Change 3372777 on 2017/03/30 by Nick.Darnell
Fixing fast widget template cooking so that it does the same logic as Initialize did, centralizing the code to find the first widgetblueprintclass.
Change 3372949 on 2017/03/30 by Nick.Darnell
UMG - Fixing some cooking crashes for the super class.
Change 3373139 on 2017/03/30 by Jeff.Farris
Added TimingPolicy option to WidgetComponent, so widgets can optionally tick in game time rather than real time.
(Copy of CL 3279699 from Robo Recall to Dev-Editor)
Change 3373235 on 2017/03/30 by Nick.Darnell
Fixing a cooking issue, accidentally removed code that was properly loading some needed assets.
Change 3373266 on 2017/03/30 by Matt.Kuhlenschmidt
Made GetMoviePlayer thread safe. Simply accessing GetMoviePlayer is safe now as is checking IsLoadingFinished. However, most of the functions on movie player are only safe from the game thread!
Change 3374026 on 2017/03/31 by Andrew.Rodham
Sequencer: Moved evaluation group registration to IMovieSceneModule
#jira UE-43420
Change 3374060 on 2017/03/31 by Yannick.Lange
VR Editor: Collision on motion controllers in simulate.
Change 3374185 on 2017/03/31 by Nick.Darnell
Attempting to fix the build.
Change 3374232 on 2017/03/31 by Max.Chen
Sequencer: Fix audio not playing in editor
#jira UE-43514
Change 3374322 on 2017/03/31 by Nick.Darnell
UMG - SafeZone widget now has comments, and useful tips. Using the debugging console commands now trigger the broadcast that will cause controls like the SSafeZone widget to resample the display metrics to learn the new safezone ratio.
Change 3374424 on 2017/03/31 by Max.Chen
Updated test content so that the door animation is now set to "Keep State" for the When Finished property.
#jira UE-43519
Change 3374447 on 2017/03/31 by Max.Chen
Sequencer: Notify streaming system prior to camera cuts
By default, this does nothing. Users will need to enable the preroll section of camera cuts for the streaming system to activate prior to cutting to cameras.
#jira UE-42406
Change 3374571 on 2017/03/31 by Andrew.Rodham
Sequencer: Unified global and object-bound pre animated state, added InitializeObjectForAnimation method to state producers
Change 3374578 on 2017/03/31 by Andrew.Rodham
Sequencer: Added unit tests for pre-animated state
Change 3374592 on 2017/03/31 by Max.Chen
Color Customization: Set curve color names.
#jira UE-43405
Change 3374596 on 2017/03/31 by Andrew.Rodham
Corrected documentation comment
Change 3374671 on 2017/03/31 by Matt.Kuhlenschmidt
Fix movie scene audio track not compiling outside of editor
Change 3374689 on 2017/03/31 by Matt.Kuhlenschmidt
Remove the slate thread masquerading as the game thread in IsInGameThread
Change 3374730 on 2017/03/31 by Max.Chen
Sequencer: Add check for null loaded level.
Change 3374732 on 2017/03/31 by Max.Chen
Sequencer: Remove null tracks on postload.
Change 3374737 on 2017/03/31 by tim.gautier
- Updated UMG_Optimization: Adjusted Variable names to resolve compile errors due to Widget Components and Variables sharing names (cannot be done with new compile improvements)
- Set Level Blueprint for TM-UMG back to AllPalettes
Change 3374987 on 2017/03/31 by Nick.Darnell
UMG - Introducing a way to inform the widgets more information about the designer. There's now a DesignerChanged event sent to all design time widgets letting them know things like the current screen size and DPI scale.
UMG - The SafeZone widget will now show the correct safe zone amount if you use the safezone command line options, which are now documented in the comment for the USafeZone class.
Change 3375599 on 2017/03/31 by Max.Chen
Cine Camera: Update camera debug plane when property changes, rather rely soley on tick. This fixes a bug where sliding the value on the details panel doesn't update the debug plane in the viewport simultaneously.
#jira UE-43543
Change 3375601 on 2017/03/31 by Arciel.Rekman
Linux: switch to v9 cross-toolchain.
Change 3375856 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed 'formal parameter with requested alignment of 16 won't be aligned'
Change 3375870 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed explicit template instantiation ocurring before the complete definition of type's members
- This resulted such members not being instantiated (and hence exported) when compiled with clang
Change 3376114 on 2017/04/02 by Arciel.Rekman
Linux: make source code accessor aware of clang 3.9 and 4.0.
Change 3376138 on 2017/04/02 by Arciel.Rekman
Linux: add clang to fedora deps (UE-42123).
- PR #3273 submitted by cpyarger.
Change 3376159 on 2017/04/02 by Arciel.Rekman
Linux: some support for building on Debian Sid or Stretch (UE-35841).
- Basd on PR #2790 by haimat.
Change 3376163 on 2017/04/02 by Arciel.Rekman
Linux: install latest clang on Arch (UE-42341).
- This undoes PR #1905.
- PR #2897 by SiebenCorgie.
- PR #3302 by awesomeness872.
- PR #3341 by patrickelectric.
Change 3376167 on 2017/04/02 by Arciel.Rekman
Add FreeBSD mem info (courtesy support for the out of tree build) (UE-42994).
- PR #3378 by mdcasey.
Change 3376168 on 2017/04/02 by Arciel.Rekman
Linux: fixed VHACD Makefile on a case sensitive fs (UE-42905).
- PR #3381 by slonopotamus.
Change 3376177 on 2017/04/02 by Arciel.Rekman
SlateDlg: case-insensitive comparison of filter extensions (UE-39477).
- PR #3019 by aknarts.
Change 3376178 on 2017/04/02 by Arciel.Rekman
WebRTC: only x86_64 version exists for Linux.
Change 3376245 on 2017/04/03 by Andrew.Rodham
Sequencer: Re-enabled event order test
Change 3376339 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash during loading movie playback on DX12 due to not ever cleaning up old resources
#jira UE-27026
Change 3376481 on 2017/04/03 by Alex.Delesky
#jira UE-43495 - TMaps will now support customized key properties correctly.
Change 3376741 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash flushing font cache when loading a movie. This is no longer save on the slate movie thread
#jira UE-43567
Change 3376763 on 2017/04/03 by Shaun.Kime
Material Reroute nodes do not work for Texture Object Parameters as they return a base output type. Modified logic to now support this node type.
#jira UE-43521
Change 3376836 on 2017/04/03 by Jamie.Dale
Fixed text format history being clobbered by reference collection
#jira UE-37513
Change 3376852 on 2017/04/03 by Nick.Darnell
Paragon - Found a case where a user had marked a BindWidget property as Transient which prevents serializing the property binding now for widget fast mode.
#jira UE-43564
Change 3377207 on 2017/04/03 by Jamie.Dale
Desktop platform directory pickers are expected to return absolute paths
File pickers return relative paths though, and we should make this consistent at some point.
#jira UE-43588
Change 3377214 on 2017/04/03 by Matt.Kuhlenschmidt
Fix movie player shutdown crash in non-editor builds
#jira UE-43577
Change 3377299 on 2017/04/03 by Michael.Dupuis
#jira UE-43586 : properties should be non transactional
#jira UE-43559
Change 3378333 on 2017/04/04 by Michael.Dupuis
#jira UE-43585
#jira UE-43586
Revert back to purple color
Change 3378633 on 2017/04/04 by Matt.Kuhlenschmidt
Resaved this asset to avoid zero engine version warnings
Change 3378958 on 2017/04/04 by Nick.Darnell
Automation - Fixing the race condition to finish compiling shaders on screenshots for UI.
[CL 3379345 by Matt Kuhlenschmidt in Main branch]
2017-04-04 15:35:21 -04:00
2014-03-14 14:13:41 -04:00
if ( bRecompile )
{
bool bNewlyCreated ;
GetExpressionPreview ( MaterialExpression , bNewlyCreated ) ;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3379190)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3342222 on 2017/03/10 by Nick.Darnell
UMG - Adding a GetContent to the UContentWidget.
Change 3342228 on 2017/03/10 by Nick.Darnell
Project Launcher - Always consume mouse wheel vertically so it stops scrolling to the right.
Change 3342310 on 2017/03/10 by Nick.Darnell
UMG - Cleaning up some extra class references.
Change 3343382 on 2017/03/13 by Jamie.Dale
Applying optimization to FChunkManifestGenerator::ContainsMap
Change 3343523 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing"
- Enabling this allows you to see every property on selected objects that belong to a simulating world, even non-visible and non-editable properties. Very useful for inspection and debugging.
- Remember to change World Outliner to show you actors in the "Play World" if you want to select and inspect those objects first!
- This setting is saved for your entire project, similar to "Show All Advanced"
Change 3343573 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing" (part 2)
- Fixed missing include / unity issue
Change 3343709 on 2017/03/13 by Jamie.Dale
Some fixes for gathering cached dependency data
- We no longer load dependency data that doesn't have the correct package name.
- We no longer populate the dependency results when bGatherDependsData is false.
Change 3343900 on 2017/03/13 by Alexis.Matte
fix crash when creating too much LOD at import
#jira UE-42785
Change 3344104 on 2017/03/13 by Alexis.Matte
Add a boolean to the static mesh socket so we know if the socket was imported or created in UE4. This allow us to not impact editor socket when we re-import a fbx
#jira UE-42736
Change 3344802 on 2017/03/14 by Michael.Dupuis
#jira UE-42244 : added missing nullptr so render thread wont try to access global var when we're no longer in landscape mode
Changed the sync method between graphic resource from render thread and game thread to prevent desync
Change 3346061 on 2017/03/14 by Jamie.Dale
Adding const& and && overloads of FText::Format
Change 3346192 on 2017/03/14 by Arciel.Rekman
Linux: fix VHACD to retain bincompat with the baseline (UE-42895).
- It is now compiled against libc++ instead of libstdc++ in the toolchain.
Change 3347083 on 2017/03/15 by Andrew.Rodham
Fixed crash when changing anchors on a background blur widget
Change 3347359 on 2017/03/15 by Michael.Dupuis
#jira UE-38193:
Added Rename, Delete, New Folder, Size Map, Show In Explorer for folder and asset in the path view and asset view
Change 3347382 on 2017/03/15 by Michael.Dupuis
missing include incremental
Change 3347500 on 2017/03/15 by Alex.Delesky
#jira UE-41231 - Selecting multiple text widgets in UMG will now allow you to set their value correctly, and the "Multiple Values" text will no longer be set in the widgets instead.
Change 3347920 on 2017/03/15 by Jamie.Dale
Fixing some places passing tooltips as FString rather than FText
#jira UE-42603
Change 3347925 on 2017/03/15 by Jamie.Dale
Re-saving some assets so their tooltips can be gathered
#jira UE-42603
Change 3348788 on 2017/03/15 by Jamie.Dale
Updated the Windows platform to use the newer Vista+ style browser dialogs, rather than the older XP style dialogs
Change 3349187 on 2017/03/16 by Andrew.Rodham
Sequencer: Added the ability to specify additional event receivers for level sequence actors
- Such actors will receive events from event tracks
Change 3349194 on 2017/03/16 by Andrew.Rodham
Sequencer: Reset compiled templates on load in the editor, and ensure correct serialization of generation ledger
- Resetting on load means that we guarantee up-to-date templates, even if underlying compilation logic changes.
#jira UE-42198
#jira UE-40969
Change 3349210 on 2017/03/16 by Andrew.Rodham
Sequencer: Event tracks can now be defined to trigger events at the start of evaluation, after objects are spawned, or at the end of evaluation
Change 3349211 on 2017/03/16 by Andrew.Rodham
Sequencer: Add ability to retrieve bound objects from blueprint
Change 3349398 on 2017/03/16 by Nick.Darnell
UMG - Fixing a flashing hierarchy view. Looks like assets continuing to stream in causing the object change notification to continue to fire, and the widget designer refreshed any time it happened. Now limit to only if widgets are changing.
Change 3349420 on 2017/03/16 by Alex.Delesky
#jira UE-40720 - Multiline editable text boxes can now be set to Read-Only.
Change 3349548 on 2017/03/16 by Alexis.Matte
Fbx importer, when importing a staticmesh with combine mesh option check and the fbx file contain some "MultiSub Material" the materialinstance are now always hook properly.
Change 3349818 on 2017/03/16 by Cody.Albert
Fixed constructor for FNavigationMetaData
Change 3350047 on 2017/03/16 by Cody.Albert
Removed unneeded check so that children actors are never orphaned when their parent is moved into a newly created folder in the world outliner
Change 3350072 on 2017/03/16 by Arciel.Rekman
ShaderCompiler: make sure strings are at least 4-byte aligned.
- Can crash wcscpy() under Linux otherwise (reported by a licensee).
Change 3350146 on 2017/03/16 by Arciel.Rekman
Fix CodeLite project generation (UE-42921).
- Reportedly causes a crash in CodeLite 10.x
Change 3350235 on 2017/03/16 by Arciel.Rekman
Fix memory leak in address symbolication on Linux.
- Makes MallocProfiler work again.
- Also add progress update in MallocProfiler since symbolication is still slow.
Merging CL 3338764 from Fortnite to Dev-Editor.
Change 3350382 on 2017/03/16 by Arciel.Rekman
Linux: fix incorrect cast of rlimit in i686.
Change 3350471 on 2017/03/16 by Jamie.Dale
Enabling loc dashboard by default for new projects
Change 3350516 on 2017/03/16 by Jamie.Dale
Enabling content hot-reloading by default
Change 3350582 on 2017/03/16 by Cody.Albert
Corrected Widget Interaction Component to use current impact point instead of last impact point
Change 3350945 on 2017/03/16 by Jamie.Dale
Gave FConfigFile::FindOrAddSection API linkage
Change 3351441 on 2017/03/17 by Michael.Dupuis
#jira UE-42843: Fixed Transaction begin/end order issue happening with min slider passing max slider value
Add support for multiple selection value display
Change 3351558 on 2017/03/17 by Michael.Dupuis
#jira UE-42845: Always refresh the detail panel to properly update for selection change, delete, etc.
Change 3351657 on 2017/03/17 by Matt.Kuhlenschmidt
Adding USD Third Party dependencies
Change 3351665 on 2017/03/17 by Matt.Kuhlenschmidt
Added experimental USD Importer Plugin
This plugin supports basic static mesh importing and scene creation of actors using static meshes
Change 3351682 on 2017/03/17 by Matt.Kuhlenschmidt
Enabling USD importer in engine test project for automation tests
Change 3351749 on 2017/03/17 by Alexis.Matte
Make sure the selection proxy is off for the skeletal mesh component. UE4 use the selection outline instead
#jira UE-41677
Change 3351831 on 2017/03/17 by Michael.Dupuis
#jira UETOOL-1102:
Added HSV controls to Color Grading
Some look improvement for RGV/HSV
Color Grading refactor
Group Reset bug fix (relevant only to color grading)
Change 3352041 on 2017/03/17 by Matt.Kuhlenschmidt
Updated USD plugin whitelisting
Change 3352093 on 2017/03/17 by Michael.Dupuis
when FREEZERENDERING is called, stop the foliage culling too
Change 3352211 on 2017/03/17 by Alexis.Matte
Fix the physic asset missing skeleton warning
#jira UE-43006
Change 3352336 on 2017/03/17 by Alexis.Matte
We now allow a negative W value of the ScreenPoint vector in the ScreenToPixel function. In this case we simply reverse the W value to kept the manipulator direction on the good side.
#jira UE-37458
Change 3352947 on 2017/03/17 by Phillip.Kavan
#jira UE-42510 - Instanced static mesh transform edits are now reflected in the Blueprint editor's preview scene.
Change summary:
- Added IPropertyHandle::GetValueBaseAddress() (interface).
- Modified IPropertyHandle::NotifyPostChange() to include EPropertyChangeType as an optional input.
- Added FPropertyHandleBase::GetValueBaseAddress() (implementation).
- Modified FPropertyHandleBase::NotifyPostChange() to include the optional input arg in the property change event.
- Modified FPropertyHandleBase::CreatePropertyNameWidget() to clear the override text after temporarily replacing display name/tooltip text for the creation of the SPropertyNameWidget. This was done to allow for transactions to be named according to the property that's being modified.
- Modified FMathStructProxyCustomization::OnValueCommitted() to only apply the input value while not interactively editing via spinbox as well as when not post-processing an undo/redo (which can trigger a focus loss).
- Modified the FMathStructProxyCustomization::OnEndSliderMovement() delegate to include property handle and proxy value input parameters, as well as to call FlushValues() as part of the implementation.
- Modified FlushValues() for each of FMatrixStructCustomization, FTransformStructCustomization and FQuatStructCustomization to explicitly handle both propagation and transaction processing.
- Modified UInstancedStaticMeshComponent::UpdateInstanceTransform() to call Modify() prior to applying changes (so that the previous state is recorded when inside a transaction context).
- Modified FInstanceStaticMeshSCSEditorCustomization::HandleViewportDrag() to propagate changes to all instances of the ISMC archetype.
Known issues:
- Using the spinbox to edit instanced mesh transform values in the Blueprint editor will not apply the change to instances in the level editor until after you release the mouse button (i.e. - it will not be shown as a "live" update).
Change 3353678 on 2017/03/20 by Michael.Dupuis
properly unfreeze the culling of foliage when toggling the freezerendering command
Change 3353747 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3372: Git plugin: fix update status on directories hotfix (still) slightly broken in master (UE4.16) (Contributed by SRombauts)
Change 3353749 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3373: Git Plugin: hotfix for regression off Visual Diffs with older version of Git in master (UE4.16) (Contributed by SRombauts)
Change 3353754 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3390: Allow OBJ imports to change if materials and textures are also imported (Contributed by mmdanggg2)
Change 3353909 on 2017/03/20 by Matt.Kuhlenschmidt
Fixed actors showing thumbnails in details panel and made a few other tweeks to thumbnail displays in details panels
- The color of the accepted type is now shown properly
- All object based properties now have thumbnails on by default.
Change 3353948 on 2017/03/20 by Nick.Darnell
UMG - Updating the background blur widget's upgrade code to use the custom version, and handling older cases that were continuing to generate blur slots, even when already upgraded.
Change 3354335 on 2017/03/20 by Nick.Darnell
Paragon - Excluding Archetype objects from reporting references, which causes crashes in the fast template mode.
Change 3354495 on 2017/03/20 by Nick.Darnell
Core - Making it so order that outers are discovered does not matter, initializing the chain of outers if hasn't been created when instancing subobjects.
Change 3354578 on 2017/03/20 by Nick.Darnell
Slate - There's now a console variable option, Slate.VerifyHitTestVisibility (off by default) which enables additional visibility checks for widgets. Normally this isn't nessesary, but if you're changing the visibility of widgets during a frame, and several hit tests need to be performed that frame there's a chance that a button could be clicked twice in one frame. Enabling this mode will make all hit testing more expensive, so for now it's off by default, but available for licensees that need the extra testing.
Change 3354737 on 2017/03/20 by Nick.Darnell
Core - Adding a fix to Dev-Editor from that enables objects in the same package being requested to also be loaded. This came about during async streaming callbacks alerting that a requested class was done loading, but there were still other assets in the package 'not loaded' but were available, just needed post load called on them.
Change 3355923 on 2017/03/21 by Yannick.Lange
VR Editor: - Remove unnecessary cleanup functions.
- Initialize with VR Mode and remove SetOwner function, since it shouldn't be possible to reset the VR Mode afterwards.
Change 3355959 on 2017/03/21 by Yannick.Lange
VR Editor: - Rename VREditorWorldInteraction to VREditorPlacement, to avoid confusion with ViewportWorldInteraction. VREditorPlacement will only handle placing objects from content browser in the VR Mode.
- Removed SnapSelectedActorsToGround to VREditorMode.
Change 3355965 on 2017/03/21 by Yannick.Lange
VR Editor: Forgot to add files to previous submit 3355959.
Change 3355977 on 2017/03/21 by Yannick.Lange
VR Editor: Remove function to add a new extension with TSubclassOf<UEditorWorldExtension>.
Change 3356017 on 2017/03/21 by Yannick.Lange
VR Editor: - UI system check owner VRMode.
- UI system fix check on VRMode on shutdown.
Change 3356028 on 2017/03/21 by Nick.Darnell
Slate - SButton now correctly releases mouse capture even if it becomes disabled while pressed, but before 'click' has been fired.
#jira UE-42777
Change 3356071 on 2017/03/21 by Yannick.Lange
VR Editor: Copy of change 3353663.
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Cleanup FLandscapeToolInteractorPosition.
- Change from 3353663: Use TStrokeClass::UseContinuousApply and TimeSinceLastInteractorMove to decide when to apply ToolStroke on tick.
Change 3356180 on 2017/03/21 by Michael.Dupuis
Added ShowFlag Foliage Occlusion Bounds
Fixed non initialized variable
Expose changing Min Occlusion Bounds instead of assuming 6
#rn none
Change 3356347 on 2017/03/21 by Nick.Darnell
UMG - Introducing a faster CreateWidget. When cooking, the widget compiler now generates a widget template/archetype that is stored in the same package as the generated blueprint class. During compiling we generate a nearly fully initialized widget tree including all sub userwidgets and their trees, hookup all member variables, initialize named slots, setup any animations...etc. This nearly fully constructed widget can be instanced using it as an archetype in the NewObject call, and does not have to use the correspondingly slow StaticDuplicateObject path. There are restrictions on this method, part of the compiling step for widgets now inspects if the instancing would be successful, or if there would be GLEO references after instancing because a user forgot to setup Instanced on a subobject property. Luckily that should be few and far between, all UVisuals (Widgets & Slots) are now DefaultToInstanced, which takes care of the overwhelming cases that demand the instanced flag. Especially given the bulk of cases using BindWidget in native code.
UMG - Removing a lot of deprecated functions from 4.8 on UUserWidget.
Change 3356357 on 2017/03/21 by Nick.Darnell
Build - Fixing some IWYU issues on the incremental build.
Change 3356461 on 2017/03/21 by Nick.Darnell
Build - Fixing linux build errors.
Change 3356468 on 2017/03/21 by Jamie.Dale
STextPropertyEditableTextBox now handles empty texts correctly
Change 3356916 on 2017/03/21 by Matt.Kuhlenschmidt
Fixed a crash when a material render proxy on a preview node is deleted when it is in flight on the render thread
#jira UE-40556
Change 3357033 on 2017/03/21 by Alexis.Matte
Fix crash when importing file with import commandlet
Make sure path are combine properly to avoid crash
Add some missing pointer check
Make sure the asset are save when there is no source control
#jira UE-42334
Change 3357176 on 2017/03/21 by Alex.Delesky
#jira UE-42445 - TMaps now support editing the values of structs that act as map keys. TMaps with struct keys will now show the types of their elements in the details panel as well, and structs will now also display numbers next to set elements.
Change 3357197 on 2017/03/21 by Alex.Delesky
#jira none - Fixing build issue for TMap key struct change.
Change 3357205 on 2017/03/21 by Michael.Dupuis
Forgot to reset min granularity to 6 from testing
Change 3357340 on 2017/03/21 by Arciel.Rekman
Mark FMallocAnsi (standard libc malloc) thread-safe on Linux.
Change 3357413 on 2017/03/21 by matt.kuhlenschmidt
Added '/Game/Effects/Fort_Effects/Materials/Smoke/M_Main_Smoke_Puff.M_Main_Smoke_Puff' to collection 'MattKTest'
Upgraded collection 'MattKTest' (was version 1, now version 2)
Change 3357505 on 2017/03/21 by Alexis.Matte
Fix to avoid changing the CDO of FbxAssetImportData. The UI was saving the Config which was saving the CDO. But already serialized data will be reload badly if the CDO change since we serialize only the diff.
#jira UE-42947
Change 3357825 on 2017/03/21 by Arciel.Rekman
Clean up the large thread pool on exit.
- Seems like the destruction was missed in the original CL 2785131 (12/1/15).
- Fixes problems when threads were allocated in memory that is being cleaned up in another place on exit.
Change 3358086 on 2017/03/22 by Yannick.Lange
VR Editor: - Fix gizmo scaling down when dragging the world.
- Fix gizmo scaling down when dragging rotation handle.
Change 3358175 on 2017/03/22 by Andrew.Rodham
Sequencer: Made ALevelSequenceActor::AdditionalEventReceivers advanced display
Change 3358367 on 2017/03/22 by tim.gautier
Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters
Change 3358457 on 2017/03/22 by Yannick.Lange
VR Editor: Deleting unused UI assets.
Change 3358801 on 2017/03/22 by Matt.Kuhlenschmidt
Guard against crash if the level editor is shut down when the object system has already been shut down
#jira UE-35605
Change 3358897 on 2017/03/22 by matt.barnes
Checking in WIP test content for UEQATC-1635 (UMG Navigation)
Change 3358976 on 2017/03/22 by Alex.Delesky
#jira none - Fixing an issue where ItemPropertyNode could potentially dereference a null property
Change 3358987 on 2017/03/22 by Yannick.Lange
VR Editor: Fix warning: Can't find file for asset '/Engine/VREditor/UI/VRButtonBackground' while loading ../../../Engine/Content/VREditor/Devices/Vive/VivePreControllerMaterial.uasset.
Change 3359067 on 2017/03/22 by Yannick.Lange
VR Editor: Fix Radial Menu remains on controller after exiting VR Preview
#jira UE-42885
Change 3359179 on 2017/03/22 by Matt.Kuhlenschmidt
Fixed "Multiple Values" in Body Setup when single bone has multiple bodies
#jira UE-41546
Change 3359626 on 2017/03/22 by Arciel.Rekman
Linux: pool OS allocations.
- Add a TMemoryPool and TMemoryPoolArray classes that can be used with any type of OS allocator functions.
- Add ability to bypass CachedOSPageAllocator for given sizes. Also, corrected the condition on AllocImpl to match one on FreeImpl.
- Switch Linux to pool mmap()/munmap() by default (helps 32-bit Linux and also speeds up 64-bit one), except 64-bit servers.
- Add a test to TestPAL to check performance and thread safety.
- Misc. fixes.
Change 3359989 on 2017/03/23 by Andrew.Rodham
Sequencer: Binding overrides improvements
- Added the ability to override spawnable bindings
- Added the ability to override bindings in sub sequences
- Deprecated "Get Sequence Bindings" node in favor of "Get Sequence Binding", which is more robust, and provides a better UI/UX for selecting single bindings
#jira UE-42470
Change 3360369 on 2017/03/23 by Alexis.Matte
Fix the staticmesh conversion from UE4 4.13 to earlier UE4 versions
#jira UE-42731
Change 3360556 on 2017/03/23 by Andrew.Rodham
Sequencer: Added drag/drop support for binding overrides
- You can now drag and drop sequencer object binding nodes into blueprint graphs (to create 'Get Sequence Binding' nodes), and onto binding overrides specified on level sequence actors.
Change 3360618 on 2017/03/23 by Arciel.Rekman
Make Binned2 work on Mac.
- Game/server will use Binned2 by default.
Change 3360838 on 2017/03/23 by Nick.Darnell
CommonUI - Making the SingleMaterialStyleMID property transient. It had been serialized mistakenly onto several widgets when it appears the intent is to dynamically allocate it upon demand.
Change 3360841 on 2017/03/23 by Nick.Darnell
UMG - Updating the editor to use DuplicateAndInitializeFromWidgetTree, so that Initialize is properly called when duplicating sub widget trees.
Change 3362561 on 2017/03/24 by Matt.Kuhlenschmidt
Fixed text outlines being cropped at large sizes
#jira UE-42647
Change 3362565 on 2017/03/24 by Matt.Kuhlenschmidt
Added automation test for font outlines
Change 3362567 on 2017/03/24 by Matt.Kuhlenschmidt
Resaved this file to fix 0 engine version warnings
Change 3362582 on 2017/03/24 by Yannick.Lange
VR Editor: - Fix log warnings when teleporting.
- Fix undo/redo when using teleport scaling.
- Improved teleport scaling and push/pull input.
#jira UE-43214
Change 3362631 on 2017/03/24 by Jamie.Dale
Split the monolithic culture concept in UE4
UE4 has historically only supported the concept of a single monolithic "culture" that applied to both text localization and internationalization, as well as all asset localization. Typically the "culture" was set to the "locale" of the OS, however that could be undesirable or incorrect on platforms (such as newer versions of Windows) that have a distinct concept of "language" (for localization) and "locale" (for internationalization).
This change splits the concept of "culture" into "language" and "locale", and also adds the concept of "asset groups". The language is now used to work out which localization we should use, and the locale is used to control how numbers/dates/times/etc are formatted within our internationalization library.
Asset groups expand on the language used by asset localization and allow you to create a group of asset classes that can be assigned a different culture than the main game language. A typical use-case of this would be creating an "audio" group that could, for example, be set to Japanese while the rest of the game runs in English.
If your game doesn't care about the distinction between language and locale, and doesn't need to use asset groups, then you're able to continue to use "culture" as you always have. If, however, you do care about those things, then you'll likely want to avoid using the "culture" directly (as it's now a very aggressive setting that overrides all others), and instead favor using language/locale (games will typically treat these as the same) and asset groups as separate concepts (both in settings, and in your in-game UI).
The language or locale for a game can be controlled by settings within the "Internationalization" section of your configs (this would typically be set in your GameUserSettings config, in the same way that "culture" works), eg)
[Internationalization]
language=fr
locale=fr
The asset groups for a game can be controlled by settings within the "Internationalization.AssetGroupClasses" and "Internationalization.AssetGroupCultures" sections of your configs (the asset group class definition would typically be set in your DefaultGame config, and the cultures the groups use would typically be set in your GameUserSettings config), eg)
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
[Internationalization.AssetGroupCultures]
+Audio=ja
#jira UE-38418
#jira UE-43014
Change 3362798 on 2017/03/24 by Nick.Darnell
UMG - Putting the finishing touches on the hardware cursor system. Can now load them from blueprints, and there are options for setting them up in the project settings.
UMG - Deprecating the old properties for software widget cursors. They've been moved into a map that can handle any of the mouse cursors as the enum key, which was always the intent/desire but maps couldn't be used as UProperties then.
Change 3362805 on 2017/03/24 by Jamie.Dale
PR #3397: Allow empty source to override display string (Contributed by jorgenpt)
Change 3363039 on 2017/03/24 by Jamie.Dale
Use the pre-scaled font height where possible to avoid an extra multiply
Change 3363188 on 2017/03/24 by Joe.Graf
Added support for -iterate for content plugins that require path remapping during cook/packaging
#CodeReview: matt.kuhlenschmidt
#rb: matt.kuhlenschmidt
Change 3363355 on 2017/03/24 by Nick.Darnell
UMG - Removing the CookAdditionalFiles function in UserInterfaceSettings.
Change 3363672 on 2017/03/24 by Matt.Kuhlenschmidt
Material thumbnails now respect used particle system sprites flag and show a quad insead of a sphere by default. For this change I added the ability to have per asset type override for the default thumbnail shape and I added a way to reset thumbnails to default. All existinging particle system materials that have not had a custom thumbnail will have to be reloaded and resaved for this to work
#jira UE-42410
Change 3363699 on 2017/03/24 by Mike.Fricker
VR Editor: Improved extensibility (for mesh editor)
- This was merged from CL 3352612 and re-opened for edit before commit
- All mesh editor changes were stripped before merging
Change 3363784 on 2017/03/24 by Matt.Barnes
Adding content for tests following UEQATC-3548
Change 3363872 on 2017/03/24 by Arciel.Rekman
Linux: require user to setup clang/clang++ for building hlslcc.
- Earlier we tried to handle most common scenarios since libhlslcc needed to be built during the setup. Now that we supply a prebuilt version we don't need to be as user friendly, especially given that the attempts to second guess the compiler started to look complicated.
Change 3364089 on 2017/03/24 by Matt.Kuhlenschmidt
Fix CIS
Change 3364381 on 2017/03/24 by JeanMichel.Dignard
UV Packing optim
- Use horizontal segments instead of checking texel by texel to fit source chart in layout.
- Skip a couple of rasterize by flipping either the X texels or the Y texels when possible.
- Keep the best chart raster so that we don't need to reraster when adding the chart to the layout.
- Added a lightmap UV version in StaticMesh so that we don't invalidate the lighting cache. Only use the new lightmap UV generation when going through UStaticMesh::Build which invalidates the lighting.
Change 3364587 on 2017/03/24 by Arciel.Rekman
Fix ordered comparison warning from clang 4.0.
Change 3364596 on 2017/03/24 by Arciel.Rekman
Linux: fix editor being stuck (hack).
- Rebuilt hlslcc in Debug.
Change 3364863 on 2017/03/25 by Max.Chen
Sequencer: Fixed crash when deactivating a section in sequencer
#jira UE-39880
Change 3364864 on 2017/03/25 by Max.Chen
Sequencer: Integrating fix from licensee to ensure FVirtualTrackArea::HitTestSection checks the row of the section
Change 3364865 on 2017/03/25 by Max.Chen
Cine Camera: Default post process depth of field method to CircleDOF and use that setting in UpdateCameraLens.
#jira UE-40621
Change 3364866 on 2017/03/25 by Max.Chen
GitHub #3183: Conversion to base class is inaccessible.
Change 3364869 on 2017/03/25 by Max.Chen
Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The setting is only used to initialize the time snapping interval of the level sequence. Added translate keys with ctrl and left-right arrows.
#jira UE-41009
#jira UE-41210
Change 3364870 on 2017/03/25 by Max.Chen
Sequencer: Added translate keys with ctrl and left-right arrows.
#jira UE-41210
Change 3364871 on 2017/03/25 by Max.Chen
Sequencer: Add level sequence actor customization to open sequencer from the details panel. For matinee parity.
#jira UE-41459
Change 3364879 on 2017/03/25 by Max.Chen
Sequencer: Duplicate shot should put the duplicate on the next available row, keeping the start/end times the same.
#jira UE-41289
Change 3364880 on 2017/03/25 by Max.Chen
Sequencer: Opening the API for MovieSceneAudio-related classes along with some minor functionality additions:
- Adding _API specifiers to MovieSceneAudioTrack, MovieSceneAudioSection, and FAudioTrackEditor so they can be subclassed in other modules.
- Made GetSoundDuration function in MovieSceneAudioTrack.cpp a member function so it's functionaliy could be reused by subclasses.
- Adding ability to specify delegates for OnQueueSubtitles, OnAudioFinished, and OnAudioPlaybackPercent in a MovieSceneAudioSection, and have them automatically assigned to any AudioComponents that are played by the MovieSceneAudioTemplate
Change 3364884 on 2017/03/25 by Max.Chen
Sequencer fbx import
- Removed the PostRotation compensation as it was setuped for 3ds max.
- On import, add a rotation to camera and light animation keys like we do on export.
- Merge the component local transform with the ActorNode transform when exporting only one component that isn't the root component in fbx since we're not creating child nodes in that case.
#jira UE-34692
Change 3364885 on 2017/03/25 by Max.Chen
Sequence Recorder: Fix crash when clearing properties to record.
#jira UE-41873
Change 3364886 on 2017/03/25 by Max.Chen
Sequencer: Add error when attempting to add a circularly dependent level sequence
#jira UE-22358
Change 3364890 on 2017/03/26 by Max.Chen
Sequencer: Added ability to specify a 'notify' function to property instance bindings
- When specified, the (parameterless) function will be called after a property is set
Change 3364891 on 2017/03/26 by Max.Chen
Sequencer: Various fixes to thumbnails
- Fixed alpha blending being used when presenting the full screen quad for thumbnails
Change 3364892 on 2017/03/26 by Max.Chen
Sequencer: PreRoll and PostRoll is now exposed at the section level, for all sections
- For the majority of sections this will be unimplemented, but it will allow for some tracks to set up their data ahead of time
Change 3364896 on 2017/03/26 by Max.Chen
Sequencer: Add segment flags to equality operator for movie scene evaluation segments
- This prevents them from being accumulated into adjacent segments of the same index and forced time, but differing flags
Change 3364897 on 2017/03/26 by Max.Chen
Sequencer: Fixed "Evaluate in preroll" and "Evaluate in Postroll" options
- Pre and postroll flags now come through on compiled segments, so the previous manual logic for sub sections is obsolete; we can just use the compiled segment data directly.
Change 3364898 on 2017/03/26 by Max.Chen
Sequencer: Moved track options to be accessible on all nodes, and operate on all selected tracks
Change 3364902 on 2017/03/26 by Max.Chen
Sequencer: Ensure evaluation flags are considered when compiling segments from external sequences
- This ensures that preroll regions in sub sequences are correctly evaluated when their parent section has preroll
- Changed high pass blending to always allow preroll
Change 3364903 on 2017/03/26 by Max.Chen
Engine: Moved proxy mesh transform update out of camera view computation code
- GetCameraView can happen as part of end of frame updates, which will assert if any changes of transform happen during its processing
Change 3364908 on 2017/03/26 by Max.Chen
Sequencer: Added visualization of pre and postroll on sections
Change 3364909 on 2017/03/26 by Max.Chen
Sequencer: Prevent MovieSceneCompiler from removing preroll segments
Change 3364910 on 2017/03/26 by Max.Chen
Sequencer: MediaPlayer PreRoll/PostRoll fix
- Handle PreRoll/PostRoll on sub scenes that have a start offset
Change 3364922 on 2017/03/26 by Max.Chen
Sequencer: Add check for valid property before dereferencing.
#jira UE-40951
Change 3364923 on 2017/03/26 by Max.Chen
Sequencer: Fix MovieScene preroll so that it seeks to the start correct frame before the preroll.
Change 3364924 on 2017/03/26 by Max.Chen
Sequencer - change default behavior for pre/post roll evaluation
- MovieSceneTracks are NOT evaluated by default
Change 3364925 on 2017/03/26 by Max.Chen
Sequencer: Shot track rows now consider pre and post roll when being compiled
Change 3364926 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to define shared execution tokens, identifyable with a unique identifier, and sortable based on a sort order (<=0: before standard tokens, >0: after other tokens)
Change 3364927 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to selectively restore state for specific anim type IDs for a given object
- This allows us to specifically restore one particular type of animation for a given object (ie, transform, skeletal animation control, or motion blur)
Change 3364928 on 2017/03/26 by Max.Chen
Sequencer: Fixed sub-sub tracks not being present in master sequences
- In order to correctly handle preroll in inner-inner sequences, we need to have access to those tracks when compiling intermediate sub sections. By caching off all the inner templates, we can have access to these tracks to check whether they want to be evaluated in pre/post roll in the master sequence
Change 3364937 on 2017/03/26 by Max.Chen
Sequencer: Update cine camera component debug focus plane on tick, rather than in GetCameraView
#jira UE-41332
Change 3364938 on 2017/03/26 by Max.Chen
Sequencer: Fix crash inserting a level sequence with an invalid shot.
#jira UE-41481
Change 3364940 on 2017/03/26 by Max.Chen
Sequencer: Made handling of pre and post roll more consistent between explicit section pre/post roll and pre/post roll inherited from an outer sub section
Change 3364942 on 2017/03/26 by Max.Chen
Movie Scene Capture: Move EDL generation to setup instead of close to ensure it gets written out when capturing as a separate process.
#jira UE-41703
Change 3364943 on 2017/03/26 by Max.Chen
Sequencer: Prevent capturing movies in editor while a PIE session is running
#jira UE-41399
Change 3364944 on 2017/03/26 by Max.Chen
CIS fixes
Change 3364951 on 2017/03/26 by Max.Chen
Sequencer: Fix autokey not setting a keyframe for slate color with specified color.
#jira UE-41645
Change 3364952 on 2017/03/26 by Max.Chen
Sequencer: Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row
#jira UE-41684
Change 3364953 on 2017/03/26 by Max.Chen
Sequencer: Fix edl so that it doesn't write out when a shot is out of range. Also fixed not writing the EDL with the correct frame rate when exporting from the track. Reworked the cmx EDL so that its encoded in the same edit time space, including a blank slug at the beginning of the edit.
#jira UE-41925
Change 3364954 on 2017/03/26 by Max.Chen
Sequencer - Allow animating parameters on cascade effect components which aren't owned by an AEmitter.
Change 3364955 on 2017/03/26 by Max.Chen
Sequencer: Fixed sequencer anim instance not being used in the case where one was requested, but a different anim instance was already set
This fixes an issue when rendering in seaprate process, animations that were set up to use the sequencer instance would be controlled using montage animation instead.
Change 3364963 on 2017/03/26 by Max.Chen
Sequencer: Fix filtering to include child nodes.
#jira UE-42068
Change 3364964 on 2017/03/26 by Max.Chen
Sequencer: Enable UseCustomStartFrame and UseCustomEndFrame when rendering a single shot from the menu.
#jira UE-42021
Change 3364965 on 2017/03/26 by Max.Chen
Sequencer: Set the fade color in the track display
Change 3364966 on 2017/03/26 by Max.Chen
Sequencer: Show actor attached to label in attach section.
Change 3364967 on 2017/03/26 by Max.Chen
Sequencer: Fix static analysis warnings
Change 3364968 on 2017/03/26 by Max.Chen
Sequencer: Fix crash on converting to spawnable.
The previous implementation purported to allow null objects to set up spawnable defaults but it actually needed to compare the spawned object to the supported type. This new mechanism now allows the spawner to indicate that it accepts null objects and doesn't crash.
#jira UE-42069
Change 3364969 on 2017/03/26 by Max.Chen
Sequencer: Fixed crash caused by holding onto stale properties through a raw ptr
#jira UE-42072
Change 3364977 on 2017/03/26 by Max.Chen
Sequencer: Convert FLinearColor to FColor for fade.
#jira UE-41990
Change 3364978 on 2017/03/26 by Max.Chen
Sequencer: Limit GetAllSections to the sections that actually correspond to the track
#jira UE-42167
Change 3364979 on 2017/03/26 by Max.Chen
Sequencer: Filter root nodes too
#jira UE-42068
Change 3364980 on 2017/03/26 by Max.Chen
Sequencer: Filter relevant material parameters
#jira UE-40712
Change 3364982 on 2017/03/26 by Max.Chen
Sequencer: Remove audio range bounds which clamps to the section bounds (needed for evaluating in pre and post roll)
Change 3364983 on 2017/03/26 by Max.Chen
Sequencer: Add socket name to attach track section.
Change 3364984 on 2017/03/26 by Max.Chen
Sequencer: Fix sub track node deletion so that all the sub tracks aren't deleted, only the row being requested.
#jira UE-40955
Change 3364988 on 2017/03/26 by Max.Chen
Sequencer: Invalidate expired objects when blueprints are compiled. Fix actor references now handles sections that need to have their guids updated (ie. attach tracks).
Change 3364994 on 2017/03/26 by Max.Chen
Sequencer: Audio waveforms now show peak samples with smoothed RMS in the center
- Audio row heights are now also resizable by dragging on the bottom end of the track lane in the track area view
Change 3364995 on 2017/03/26 by Max.Chen
UMG: Fix crash on undo
#jira UE-42210
Change 3365000 on 2017/03/26 by Max.Chen
Sequencer: Fix crash from GetCurrentValue.
Change 3365001 on 2017/03/26 by Max.Chen
Sequencer: Split "Snap to the Dragged Key" option into two options, pressed key and dragged key.
#jira UE-42382
Change 3365002 on 2017/03/26 by Max.Chen
Sequencer: Downgraded check to ensure for FMovieSceneEvalTemplateBase::GetScriptStructImpl()
Change 3365003 on 2017/03/26 by Max.Chen
Sequencer: Fixed section template script struct
- Because the cpp is not parsed by UHT, the empty template had its parent struct, rather than its own
- We now just return null, and handle empty segments correctly in the segment remapper as part of the track compilation
Change 3365013 on 2017/03/26 by Max.Chen
Sequencer: Added data validation on compiled template loads, and extra guards against misuse of movie scene types
Change 3365014 on 2017/03/26 by Max.Chen
Sequencer: Sequencer now re-evaluates when starting PIE or Simulate
- This can be disabled by disabling "Bind Sequencer to PIE" and "Bind Sequencer to Simulate" in PIE advanced settings
Change 3365015 on 2017/03/26 by Max.Chen
Sequencer: Fix edl files so that they don't write out empty range shots
Change 3365017 on 2017/03/26 by Max.Chen
Sequencer: Set max tick rate when in game.
#jira UE-41078
Change 3365018 on 2017/03/26 by Max.Chen
Sequencer: When finishing a scrub, playback status is now correctly set to stopped rather than stepping
- This fixes a hack that was previously in place from the old PostTickRenderFixup that caused it to run that step after scrubbing bad finished. This is no longer necessary, and actually breaks clicking to set the scrub position, as it now means that we step across the entire range between the previous and current time.
Change 3365022 on 2017/03/26 by Max.Chen
Sequencer: Insert shot now creates a shot at the current time and puts it on the next available row.
#jira UE-41480, UE-27699
Change 3365023 on 2017/03/26 by Max.Chen
Sequencer: Add loop selection range. If there is no selection range, loop mode is restricted to loop or no loop.
#jira UE-42285
Change 3365029 on 2017/03/26 by Max.Chen
Sequencer: Add hotkeys to set the selection range to the next and previous shot (page up, page down). Also, added hotkey to set the playback range to all the shots (end)
Change 3365030 on 2017/03/26 by Max.Chen
Sequencer: Fix particle system restore state so that it gets the proper initial active state of the particle system.
#jira UE-42861, UE-42859
Change 3365031 on 2017/03/26 by Max.Chen
Sequencer: Snap time when changing time snapping intervals.
#jira UE-42590
Change 3365032 on 2017/03/26 by Max.Chen
Sequencer: Add When Finished state to sections. By default, sections now restore state.
#jira UE-41991, UE-31569
Change 3365033 on 2017/03/26 by Max.Chen
#jira UE-42028 "DialogueWave playback calls OnQueueSubtitles multiple times"
Only queue subtitles once per wave instance playback
Change 3365041 on 2017/03/26 by Max.Chen
Sequencer: Subscene hierarchical bias
Tracks can now be prioritized based on their subscene hierarhical bias value. Higher bias values take precedence.
#jira UE-42078
Change 3365042 on 2017/03/26 by Max.Chen
Sequencer: Generic paste menu for master (root) tracks.
Change 3365043 on 2017/03/26 by Max.Chen
Sequencer: Hierarchical bias for level visibility track
#jira UE-43024
Change 3365044 on 2017/03/26 by Max.Chen
Sequencer: Prevent throttling on editing keys/sections.
Change 3365045 on 2017/03/26 by Max.Chen
Sequencer: Set sequencer audio components bIsUISound to false so that they don't continue playing when the game is paused.
#jira UE-39391
Change 3365046 on 2017/03/26 by Max.Chen
Sequencer: Add missing BindLevelEditorCommands()
Change 3365049 on 2017/03/26 by Max.Chen
Sequencer: Set tick prerequites for spawnables when they are spawned.
#jira UE-43009
Change 3365050 on 2017/03/26 by Max.Chen
Sequencer: Jump to Start and End of playback shortcuts.
Rewind renamed to Jump to Start. Shortcut - up arrow.
Jump to End Shortcut - ctrl up arrow.
#jira UE-43224
Change 3365051 on 2017/03/26 by Max.Chen
Sequencer: Add last range to playback
Change 3365057 on 2017/03/26 by Max.Chen
Sequencer: Fix master sequence subscene generation times.
Change 3365058 on 2017/03/26 by Max.Chen
Sequencer: Fix paste so that it doesn't paste both onto object nodes and master tracks.
Change 3365059 on 2017/03/26 by Max.Chen
Sequencer: Fix crash pasting audio track.
Change 3365060 on 2017/03/26 by Max.Chen
Sequencer: Cache player fade state so that restore state will return the values to the pre animated state.
#jira UE-43313
Change 3365061 on 2017/03/26 by Max.Chen
Sequencer: Filter hidden functions. This fixes a bug where the field of view property for a cinematic camera appears to be animatable. It should be hidden just like it is in the property editor.
#jira UE-41461
Change 3365065 on 2017/03/26 by Max.Chen
Sequencer: Support component hierarchies when drawing animation paths
#jira UE-39500
Change 3365066 on 2017/03/26 by Max.Chen
Sequencer: Refine pause behaviour in sequencer to always evaluate the next frame
- This ensures that we get a full frame's worth of evaluation so that the paused frame is of a good quality (and avoids us evaluating a tiny range)
Change 3365075 on 2017/03/26 by Max.Chen
Sequencer: Fix add shot not setting next row.
Change 3365076 on 2017/03/26 by Max.Chen
Sequencer: Export MovieSceneTrackEditor
#jira UE-41641
Change 3365472 on 2017/03/27 by Yannick.Lange
VR Editor landscape. Back out changelist 3356071 with new proper fixes.
CL 3356071 introduced another bug and it wasn't correct because of removing FLandscapeToolInteractorPosition. This changelist fixes the same and additional bugs for VREditor Landscape mode.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Fix VREditor Landscape Texture Painting does not paint continuously
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Removed Interactor parameter from BeginTool.
#jira UE-42780, UE-42779
Change 3365497 on 2017/03/27 by Matt.Kuhlenschmidt
Fix texture importing when an FBX file incorrectly reports absolute path as relative. First we try absolute, then we try fbx reported relative, then we try relative to parent FBX file.
Change 3365498 on 2017/03/27 by Matt.Kuhlenschmidt
Fix attempting to load a package in FBX scene import when the import path is empty. This greatly reduces FBX scene import time
Change 3365504 on 2017/03/27 by Yannick.Lange
VR Editor landscape fix ensure in when starting to paint/sculpt. Mousemove on tool should only be called when the tool is actually active, not when hovering.
Change 3365551 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3425: Added Scrollbar customization to SComboBox (Contributed by Altrue)
#jira UE-43338
Change 3365580 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3409: Add support for per-Category filtering in Output Log (Contributed by thagberg)
Change 3365672 on 2017/03/27 by Andrew.Rodham
Sequencer: Preanimated state producers can now produce null tokens
- Doing so implies no preanimated state should be saved
Change 3365791 on 2017/03/27 by Andrew.Rodham
Sequencer: Added Material Parameter Collection track
Change 3365806 on 2017/03/27 by Max.Chen
Sequencer: Add option to instance sub sequences.
#jira UE-43307
Change 3365822 on 2017/03/27 by Matt.Kuhlenschmidt
Subdue the output log font color a bit
Change 3365846 on 2017/03/27 by Jamie.Dale
Added package redirection on load/find
Change 3365852 on 2017/03/27 by Jamie.Dale
Adding a way to mark a package as no longer missing
Change 3365896 on 2017/03/27 by Jamie.Dale
Adding GlobalNotification to Slate
This is the guts of the GlobalEditorNotification, so it can be used by code that doesn't link to UnrealEd.
Change 3365900 on 2017/03/27 by Jamie.Dale
Prevent the default cooked sandbox from trying to read non-cooked assets
Change 3366550 on 2017/03/27 by Max.Chen
Sequencer: Fix case
Change 3367301 on 2017/03/28 by Andrew.Rodham
Tests: Added test actor with a variety of properties for testing purposes
Change 3367303 on 2017/03/28 by Andrew.Rodham
Tests: Enabled ActorSequenceEditor plugin in EngineTest project
Change 3367304 on 2017/03/28 by Andrew.Rodham
Tests: Added several functional testing maps for sequencer
- SequencerTest_Properties - tests animating various property types
- SequencerTest_Events - tests basic event triggering functionality (including additional event receivers and event ordering)
- SequencerTest_BindingOverrides - tests overriding possessable and spawnable bindings, along with bindings in sub sequences
- SequencerTest_ActorSequence - tests basic actor sequence functionality
Change 3367465 on 2017/03/28 by Max.Chen
Sequencer: Set Bind Sequencer to PIE off by default, Bind Sequencer to Simulate remains on by default.
Change 3367515 on 2017/03/28 by Matt.Kuhlenschmidt
Guard against visual studio accessor crash
#jira UE-43368
Change 3368118 on 2017/03/28 by Alexis.Matte
Fix the staticmesh conversion from 4.13. There was a error in the LOD loop we where not remapping the LOD 0.
#jira UE-42731
Change 3368485 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for MacOSX 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368495 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for Windows 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368501 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - SVN Build instructions for Windows and Mac 64-bit libraries, and license files for Mac libraries
Change 3368782 on 2017/03/28 by Nick.Darnell
UMG - Improving some logging for fast widget creation.
Change 3368826 on 2017/03/28 by Nick.Darnell
Slate - Slate Application now maintains seperate tracking for each pointer being utilized for drag drop, so now multiple fingers on multiple widgets can now simultaneously be attempting a drag, however once one of them becomes successful, we clear all state of all other tracking since only one Drag Drop operation is possible at a time.
Slate - bFoldTick is now removed from the codebase, we haven't supported the other (non-folded) code path for awhile, so there was no point in maintaining the switch.
Slate - Users have noticed issues where the cursor does not appear when changing visibility (through toggling the way the cursor appears). This was rooted in how the OS requested cursor changes, WM_SETCURSOR on Windows only asks for new cursors when the mouse moves, but often cursors change just because mouse capture changes. So now the path has been centralized in Slate Tick to only handle the cursor changes in one place, and several places that need to refresh the cursor state, now set a flag to handle it on next tick.
#jira UE-40486
Change 3368917 on 2017/03/28 by Arciel.Rekman
Linux: allow building with clang 4.0.
Change 3369074 on 2017/03/28 by Nick.Darnell
UMG - Fixing some spelling on the hardware cursor tip.
UMG - Changed some checks to ensure now that users can input the wrong data from the editor. Adding some clamping to the editor interface so that users are not tempted to enter incorrect hotspot ranges for their cursors.
#jira UE-43419
#jira UE-43425
Change 3369137 on 2017/03/28 by Max.Chen
Sequencer: Add given master track sets the outer to the movie scene.
Change 3369360 on 2017/03/29 by Andrew.Rodham
Sequencer: Reconciled 3349194 and 3365041 with animphys merge
Change 3369410 on 2017/03/29 by Alexis.Matte
Fix the select filename in the FileDialog "Desktop window platform"
#jira UE-43319
Change 3369475 on 2017/03/29 by Nick.Darnell
PR #3413: UE-37710: Proper scaling of WebBrowserViewport (Contributed by projectgheist)
Modified - you can't use the clip rect to decide on how large you should be.
#jira UE-37710
Change 3369775 on 2017/03/29 by Max.Chen
ControlRig: Fix crash on exit.
#jira UE-43411
Change 3370466 on 2017/03/29 by Nick.Darnell
AsyncLoading - Adding USoundBase to the set of CDOs that have a particular fixed boot order.
StreamableManager - Only showing the duplicate load error in debug builds, it's not a real error.
#jira UE-43409
Change 3370570 on 2017/03/29 by Nick.Darnell
Slate - Fixing a bug with ZOrder being discarded on the SOverlay Slot.
#jira UE-43431
Change 3370644 on 2017/03/29 by Andrew.Rodham
Temporarily disabling sequencer functional test "Event Position"
Change 3370713 on 2017/03/29 by Nick.Darnell
PR #3399: UE-42831: Anchor text ignores scale (Contributed by projectgheist)
#jira UE-43156
#jira UE-42831
Change 3371243 on 2017/03/30 by Arciel.Rekman
Linux: scale OS allocation pool to match memory size.
- Number of distinct VMAs (contiguous virtual memory areas, i.e. mappings done via mmap()) is rather low (~64k)
and we can run out of VMAs earlier than we will run into available memory. Larger pool makes this less likely.
Change 3371262 on 2017/03/30 by Arciel.Rekman
Linux: fix custom present.
- PR #3383 contributed by yaakuro.
Change 3371301 on 2017/03/30 by Arciel.Rekman
Linux: fix copying to a non-existent directory during Setup.
Change 3371307 on 2017/03/30 by Andrew.Rodham
Editor: Added "Resave All" functionality to content browser folders
Change 3371364 on 2017/03/30 by Andrew.Rodham
Sequencer: Level streaming improvements
- Tick prerequisites are now set up when any object binding is resolved, not at the start of the sequence. This unifies code between spawnables and possessables, and allows tick prerequisites to still be set up when levels are streamed in
- Actor references are no longer resolved when a PIEInstance is specified on the package, and it cannot be fixed up to a different ptr than the original. This stops us resolving actors from one world into another.
- Fixed level visibility request getting cleared when the cumulative total was 0 (it should only do this if there are no requests left)
#jira UE-43225
Change 3371365 on 2017/03/30 by Andrew.Rodham
Tests: Sequencer level streaming tests
Change 3371493 on 2017/03/30 by Nick.Darnell
PR #3408: UE-19980: Added FCanExecuteAction to prevent keyboard shortcut. (Contributed by projectgheist)
Change 3371524 on 2017/03/30 by Nick.Darnell
PR #2938: Minor UMG code fixups (Contributed by projectgheist), accepted most of the changes.
Change 3371545 on 2017/03/30 by Nick.Darnell
UMG - Fixing some minor issues with WidgetComponents not properly limiting input depending on what is supported with reguard to hardware input.
Change 3371576 on 2017/03/30 by Matt.Kuhlenschmidt
PR #3433: Fix for the Standalone D3D Slate Shader using the wrong value for the. (Contributed by megasjay)
Change 3371590 on 2017/03/30 by Nick.Darnell
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's camera. The widgets should now show up in the right locations.
Change 3371625 on 2017/03/30 by Alexis.Matte
Fix the merge tool material id assignment
#jira UE-43246
Change 3371666 on 2017/03/30 by Nick.Darnell
UMG - Reducing logging, don't need to tell everyone all the time we're using the fast widget path.
Change 3371687 on 2017/03/30 by Arciel.Rekman
Linux: switch to new managed filehandles.
Change 3371778 on 2017/03/30 by Matt.Kuhlenschmidt
Fixed the animation to play property on skeletal meshes being too small to read anything
#jira UE-43327
Change 3372709 on 2017/03/30 by Matt.Kuhlenschmidt
Made slate loading widget / movie play back more thread safe by eliminating Slate applicaiton or the main window from being ticked directly on another thread. We now have a separate virtual window for ticking and painting the loading screen widgets in isolation
Change 3372757 on 2017/03/30 by Nick.Darnell
Paragon - Fixing cases where people were using PostLoad() where really it should have done when the widget was constructed or created. This is a side effect of the FastWidget creation path 'PostLoad()' is not called on newly constructed widgets, though it did before because part of duplicating the WidgetTree, required serialization, which would have called it.
Change 3372777 on 2017/03/30 by Nick.Darnell
Fixing fast widget template cooking so that it does the same logic as Initialize did, centralizing the code to find the first widgetblueprintclass.
Change 3372949 on 2017/03/30 by Nick.Darnell
UMG - Fixing some cooking crashes for the super class.
Change 3373139 on 2017/03/30 by Jeff.Farris
Added TimingPolicy option to WidgetComponent, so widgets can optionally tick in game time rather than real time.
(Copy of CL 3279699 from Robo Recall to Dev-Editor)
Change 3373235 on 2017/03/30 by Nick.Darnell
Fixing a cooking issue, accidentally removed code that was properly loading some needed assets.
Change 3373266 on 2017/03/30 by Matt.Kuhlenschmidt
Made GetMoviePlayer thread safe. Simply accessing GetMoviePlayer is safe now as is checking IsLoadingFinished. However, most of the functions on movie player are only safe from the game thread!
Change 3374026 on 2017/03/31 by Andrew.Rodham
Sequencer: Moved evaluation group registration to IMovieSceneModule
#jira UE-43420
Change 3374060 on 2017/03/31 by Yannick.Lange
VR Editor: Collision on motion controllers in simulate.
Change 3374185 on 2017/03/31 by Nick.Darnell
Attempting to fix the build.
Change 3374232 on 2017/03/31 by Max.Chen
Sequencer: Fix audio not playing in editor
#jira UE-43514
Change 3374322 on 2017/03/31 by Nick.Darnell
UMG - SafeZone widget now has comments, and useful tips. Using the debugging console commands now trigger the broadcast that will cause controls like the SSafeZone widget to resample the display metrics to learn the new safezone ratio.
Change 3374424 on 2017/03/31 by Max.Chen
Updated test content so that the door animation is now set to "Keep State" for the When Finished property.
#jira UE-43519
Change 3374447 on 2017/03/31 by Max.Chen
Sequencer: Notify streaming system prior to camera cuts
By default, this does nothing. Users will need to enable the preroll section of camera cuts for the streaming system to activate prior to cutting to cameras.
#jira UE-42406
Change 3374571 on 2017/03/31 by Andrew.Rodham
Sequencer: Unified global and object-bound pre animated state, added InitializeObjectForAnimation method to state producers
Change 3374578 on 2017/03/31 by Andrew.Rodham
Sequencer: Added unit tests for pre-animated state
Change 3374592 on 2017/03/31 by Max.Chen
Color Customization: Set curve color names.
#jira UE-43405
Change 3374596 on 2017/03/31 by Andrew.Rodham
Corrected documentation comment
Change 3374671 on 2017/03/31 by Matt.Kuhlenschmidt
Fix movie scene audio track not compiling outside of editor
Change 3374689 on 2017/03/31 by Matt.Kuhlenschmidt
Remove the slate thread masquerading as the game thread in IsInGameThread
Change 3374730 on 2017/03/31 by Max.Chen
Sequencer: Add check for null loaded level.
Change 3374732 on 2017/03/31 by Max.Chen
Sequencer: Remove null tracks on postload.
Change 3374737 on 2017/03/31 by tim.gautier
- Updated UMG_Optimization: Adjusted Variable names to resolve compile errors due to Widget Components and Variables sharing names (cannot be done with new compile improvements)
- Set Level Blueprint for TM-UMG back to AllPalettes
Change 3374987 on 2017/03/31 by Nick.Darnell
UMG - Introducing a way to inform the widgets more information about the designer. There's now a DesignerChanged event sent to all design time widgets letting them know things like the current screen size and DPI scale.
UMG - The SafeZone widget will now show the correct safe zone amount if you use the safezone command line options, which are now documented in the comment for the USafeZone class.
Change 3375599 on 2017/03/31 by Max.Chen
Cine Camera: Update camera debug plane when property changes, rather rely soley on tick. This fixes a bug where sliding the value on the details panel doesn't update the debug plane in the viewport simultaneously.
#jira UE-43543
Change 3375601 on 2017/03/31 by Arciel.Rekman
Linux: switch to v9 cross-toolchain.
Change 3375856 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed 'formal parameter with requested alignment of 16 won't be aligned'
Change 3375870 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed explicit template instantiation ocurring before the complete definition of type's members
- This resulted such members not being instantiated (and hence exported) when compiled with clang
Change 3376114 on 2017/04/02 by Arciel.Rekman
Linux: make source code accessor aware of clang 3.9 and 4.0.
Change 3376138 on 2017/04/02 by Arciel.Rekman
Linux: add clang to fedora deps (UE-42123).
- PR #3273 submitted by cpyarger.
Change 3376159 on 2017/04/02 by Arciel.Rekman
Linux: some support for building on Debian Sid or Stretch (UE-35841).
- Basd on PR #2790 by haimat.
Change 3376163 on 2017/04/02 by Arciel.Rekman
Linux: install latest clang on Arch (UE-42341).
- This undoes PR #1905.
- PR #2897 by SiebenCorgie.
- PR #3302 by awesomeness872.
- PR #3341 by patrickelectric.
Change 3376167 on 2017/04/02 by Arciel.Rekman
Add FreeBSD mem info (courtesy support for the out of tree build) (UE-42994).
- PR #3378 by mdcasey.
Change 3376168 on 2017/04/02 by Arciel.Rekman
Linux: fixed VHACD Makefile on a case sensitive fs (UE-42905).
- PR #3381 by slonopotamus.
Change 3376177 on 2017/04/02 by Arciel.Rekman
SlateDlg: case-insensitive comparison of filter extensions (UE-39477).
- PR #3019 by aknarts.
Change 3376178 on 2017/04/02 by Arciel.Rekman
WebRTC: only x86_64 version exists for Linux.
Change 3376245 on 2017/04/03 by Andrew.Rodham
Sequencer: Re-enabled event order test
Change 3376339 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash during loading movie playback on DX12 due to not ever cleaning up old resources
#jira UE-27026
Change 3376481 on 2017/04/03 by Alex.Delesky
#jira UE-43495 - TMaps will now support customized key properties correctly.
Change 3376741 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash flushing font cache when loading a movie. This is no longer save on the slate movie thread
#jira UE-43567
Change 3376763 on 2017/04/03 by Shaun.Kime
Material Reroute nodes do not work for Texture Object Parameters as they return a base output type. Modified logic to now support this node type.
#jira UE-43521
Change 3376836 on 2017/04/03 by Jamie.Dale
Fixed text format history being clobbered by reference collection
#jira UE-37513
Change 3376852 on 2017/04/03 by Nick.Darnell
Paragon - Found a case where a user had marked a BindWidget property as Transient which prevents serializing the property binding now for widget fast mode.
#jira UE-43564
Change 3377207 on 2017/04/03 by Jamie.Dale
Desktop platform directory pickers are expected to return absolute paths
File pickers return relative paths though, and we should make this consistent at some point.
#jira UE-43588
Change 3377214 on 2017/04/03 by Matt.Kuhlenschmidt
Fix movie player shutdown crash in non-editor builds
#jira UE-43577
Change 3377299 on 2017/04/03 by Michael.Dupuis
#jira UE-43586 : properties should be non transactional
#jira UE-43559
Change 3378333 on 2017/04/04 by Michael.Dupuis
#jira UE-43585
#jira UE-43586
Revert back to purple color
Change 3378633 on 2017/04/04 by Matt.Kuhlenschmidt
Resaved this asset to avoid zero engine version warnings
Change 3378958 on 2017/04/04 by Nick.Darnell
Automation - Fixing the race condition to finish compiling shaders on screenshots for UI.
[CL 3379345 by Matt Kuhlenschmidt in Main branch]
2017-04-04 15:35:21 -04:00
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( MaterialExpression - > GraphNode ) ;
if ( GraphNode )
{
GraphNode - > InvalidatePreviewMaterialDelegate . ExecuteIfBound ( ) ;
}
2014-03-14 14:13:41 -04:00
break ;
}
}
}
}
FMatExpressionPreview * FMaterialEditor : : GetExpressionPreview ( UMaterialExpression * MaterialExpression , bool & bNewlyCreated )
{
bNewlyCreated = false ;
if ( ! MaterialExpression - > bHidePreviewWindow & & ! MaterialExpression - > bCollapsed )
{
FMatExpressionPreview * Preview = NULL ;
for ( int32 PreviewIndex = 0 ; PreviewIndex < ExpressionPreviews . Num ( ) ; + + PreviewIndex )
{
FMatExpressionPreview & ExpressionPreview = ExpressionPreviews [ PreviewIndex ] ;
if ( ExpressionPreview . GetExpression ( ) = = MaterialExpression )
{
Preview = & ExpressionPreviews [ PreviewIndex ] ;
break ;
}
}
if ( ! Preview )
{
bNewlyCreated = true ;
Preview = new ( ExpressionPreviews ) FMatExpressionPreview ( MaterialExpression ) ;
2014-10-01 09:08:51 -04:00
Preview - > CacheShaders ( GMaxRHIShaderPlatform , true ) ;
2014-03-14 14:13:41 -04:00
}
return Preview ;
}
return NULL ;
}
void FMaterialEditor : : PreColorPickerCommit ( FLinearColor LinearColor )
{
// Begin a property edit transaction.
if ( GEditor )
{
GEditor - > BeginTransaction ( LOCTEXT ( " ModifyColorPicker " , " Modify Color Picker Value " ) ) ;
}
NotifyPreChange ( NULL ) ;
UObject * Object = ColorPickerObject . Get ( false ) ;
if ( Object )
{
Object - > PreEditChange ( NULL ) ;
}
}
void FMaterialEditor : : OnColorPickerCommitted ( FLinearColor LinearColor )
{
UObject * Object = ColorPickerObject . Get ( false ) ;
if ( Object )
{
Object - > MarkPackageDirty ( ) ;
2014-10-23 21:38:06 -04:00
FPropertyChangedEvent Event ( ColorPickerProperty . Get ( false ) ) ;
Object - > PostEditChangeProperty ( Event ) ;
2014-03-14 14:13:41 -04:00
}
NotifyPostChange ( NULL , NULL ) ;
if ( GEditor )
{
GEditor - > EndTransaction ( ) ;
}
RefreshExpressionPreviews ( ) ;
}
TSharedRef < SGraphEditor > FMaterialEditor : : CreateGraphEditorWidget ( )
{
GraphEditorCommands = MakeShareable ( new FUICommandList ) ;
{
// Editing commands
GraphEditorCommands - > MapAction ( FGenericCommands : : Get ( ) . SelectAll ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : SelectAllNodes ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : CanSelectAllNodes )
) ;
GraphEditorCommands - > MapAction ( FGenericCommands : : Get ( ) . Delete ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : DeleteSelectedNodes ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : CanDeleteNodes )
) ;
GraphEditorCommands - > MapAction ( FGenericCommands : : Get ( ) . Copy ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : CopySelectedNodes ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : CanCopyNodes )
) ;
GraphEditorCommands - > MapAction ( FGenericCommands : : Get ( ) . Paste ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : PasteNodes ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : CanPasteNodes )
) ;
GraphEditorCommands - > MapAction ( FGenericCommands : : Get ( ) . Cut ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : CutSelectedNodes ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : CanCutNodes )
) ;
GraphEditorCommands - > MapAction ( FGenericCommands : : Get ( ) . Duplicate ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : DuplicateNodes ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : CanDuplicateNodes )
) ;
// Graph Editor Commands
GraphEditorCommands - > MapAction ( FGraphEditorCommands : : Get ( ) . CreateComment ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnCreateComment )
) ;
// Material specific commands
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . UseCurrentTexture ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnUseCurrentTexture )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . ConvertObjects ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertObjects )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . ConvertToTextureObjects ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertTextures )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . ConvertToTextureSamples ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertTextures )
) ;
2014-10-23 21:38:06 -04:00
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . ConvertToConstant ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnConvertObjects )
) ;
2014-03-14 14:13:41 -04:00
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . StopPreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnPreviewNode )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . StartPreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnPreviewNode )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . EnableRealtimePreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnToggleRealtimePreview )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . DisableRealtimePreviewNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnToggleRealtimePreview )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . SelectDownstreamNodes ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnSelectDownsteamNodes )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . SelectUpstreamNodes ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnSelectUpsteamNodes )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . RemoveFromFavorites ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : RemoveSelectedExpressionFromFavorites )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . AddToFavorites ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : AddSelectedExpressionToFavorites )
) ;
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . ForceRefreshPreviews ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnForceRefreshPreviews )
) ;
2014-05-08 05:29:54 -04:00
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . CreateComponentMaskNode ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnCreateComponentMaskNode )
) ;
2014-09-05 08:25:23 -04:00
2015-04-09 11:34:39 -04:00
GraphEditorCommands - > MapAction ( FGraphEditorCommands : : Get ( ) . GoToDocumentation ,
2014-09-05 08:25:23 -04:00
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnGoToDocumentation ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : CanGoToDocumentation )
) ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3168749 on 2016/10/20 by Richard.TalbotWatkin
Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry.
#jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level
Change 3169740 on 2016/10/20 by Nick.Darnell
Automation - Removing old screenshots, working on new naming convention.
Change 3169796 on 2016/10/20 by Nick.Darnell
Automation - Adding new screenshots.
Change 3169800 on 2016/10/20 by Nick.Darnell
Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots.
Change 3169901 on 2016/10/20 by Nick.Darnell
Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots.
Change 3169926 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170053 on 2016/10/20 by Cody.Albert
Back out changelist 3169926
Change 3170067 on 2016/10/20 by Cody.Albert
Added extension point for level editor viewport's Show and Camera menus
Change 3170382 on 2016/10/21 by Michael.Dupuis
#jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor
Change 3170520 on 2016/10/21 by Alex.Delesky
#jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint
Change 3170522 on 2016/10/21 by Alex.Delesky
#jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button.
Change 3170524 on 2016/10/21 by Alex.Delesky
#jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor.
Change 3170530 on 2016/10/21 by Alex.Delesky
Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper
#jira none
Change 3170768 on 2016/10/21 by Cody.Albert
Back out changelist 3170067
Change 3170795 on 2016/10/21 by Nick.Darnell
JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties.
Change 3170797 on 2016/10/21 by Nick.Darnell
Automation - Fixing several warnings dealing with fbx testing.
Change 3170921 on 2016/10/21 by Nick.Darnell
Automation - Fixing more warnings with FBX tests.
Change 3171109 on 2016/10/21 by Cody.Albert
Added extension point for level editor viewport Show menu
Change 3171812 on 2016/10/24 by Jamie.Dale
Back out changelist 3163044
This broke wrapping for Japanese and Chinese.
Change 3171842 on 2016/10/24 by Michael.Dupuis
#jira UE-36400
Name each Parameter uniquely either from copy/paste of any creation menu
Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1
Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type
When editing a color property update the material expression preview
Change 3171958 on 2016/10/24 by Alex.Delesky
#jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions.
Change 3171969 on 2016/10/24 by Nick.Darnell
Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions.
Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt
PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider)
Change 3172035 on 2016/10/24 by Alex.Delesky
Fix to build warning for 3171970
#jira none
Change 3172078 on 2016/10/24 by Michael.Dupuis
#jira UE-37626 Fetch property node from property handle if there is no property editor
Change 3172143 on 2016/10/24 by Jamie.Dale
Line-break iterators will now avoid breaking words in Hangul
The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers.
Change 3172418 on 2016/10/24 by Michael.Dupuis
Fixed Static Analysis error
Change 3173389 on 2016/10/25 by Michael.Dupuis
#jira UE-9284 Make the UI appear only on hover and change icons size
Change 3173918 on 2016/10/25 by Alex.Delesky
#jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created.
Change 3173966 on 2016/10/25 by Alex.Delesky
#jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse.
Change 3174847 on 2016/10/26 by Alex.Delesky
#jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen.
Change 3174916 on 2016/10/26 by Alexis.Matte
When re-importing fbx file, always log to the message log.
#jira UE-37639
Change 3174940 on 2016/10/26 by Alex.Delesky
Back out changelist 3174847 at request of platforms team. Was fixed on Main.
Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt
Import commandlet fixes
- Fixed crash when source control could not be contacted
- Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import
Change 3175217 on 2016/10/26 by Alexis.Matte
The FBX reimport animation code now return false if there was an error when importing
#jira UE-37755
Change 3175728 on 2016/10/26 by Alexis.Matte
Log a message when importing a skeletal mesh with more bone influence then the maximum supported
#2875
#jira UE-37613
Change 3177997 on 2016/10/28 by Nick.Darnell
Editor - Prevent re-entrant calls when EndPlayMap is called.
Change 3178429 on 2016/10/28 by Nick.Darnell
Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported.
Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt
Guard against bad render targets in Slate RHI
#jira UE-37905
Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt
Added logging to track https://jira.it.epicgames.net/browse/UE-37900
#jira UE-37900
Change 3179920 on 2016/10/31 by Alex.Delesky
Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591.
#jira none
Change 3179921 on 2016/10/31 by Alex.Delesky
#jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource
Change 3180119 on 2016/10/31 by Alexis.Matte
fbx importer avoid asset creation name clash
#jira UE-35100
Change 3181905 on 2016/11/01 by Alexis.Matte
Paint tool now allow users to paint on any vertex if they need it.
#jira UE-8372
Change 3182355 on 2016/11/01 by Alexis.Matte
We now support FBX LODs export for the asset exporter from the content browser.
#jira UE-35302
Change 3183286 on 2016/11/02 by Alexis.Matte
Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options.
#jira UE-37520
Change 3183567 on 2016/11/02 by Shaun.Kime
#jira UE-38019
The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor.
The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder.
Change 3184002 on 2016/11/02 by Jamie.Dale
Fixed crash during TSF IME shutdown
#jira UE-38073
Change 3185126 on 2016/11/03 by Shaun.Kime
Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins.
Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well).
#jira UE-38065
#jira UE-37645
Change 3185278 on 2016/11/03 by Nick.Darnell
UMG - Fixing some issues with HDPI mode in the widget designer.
Change 3185355 on 2016/11/03 by Nick.Darnell
UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace.
Change 3185510 on 2016/11/03 by Nick.Darnell
UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport.
Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo.
Change 3185514 on 2016/11/03 by Nick.Darnell
UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces.
Change 3185652 on 2016/11/03 by Nick.Darnell
Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing.
Change 3185952 on 2016/11/03 by Nick.Darnell
UMG - Fixing another build error relating to local widget geometry.
Change 3185953 on 2016/11/03 by Nick.Darnell
UMG - Fixing a mac compiler warning.
Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed collapse all hiding everything in the settings editors
#jira UE-38151
Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt
Fixed new assets opening in a minimized window not restoring that window.
Change 3187026 on 2016/11/04 by Shaun.Kime
UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds.
#jira UE-38094
Change 3187073 on 2016/11/04 by Nick.Darnell
Automation - Changing the code that writes out json to force no BOM as is the json standard.
Change 3187113 on 2016/11/04 by Jamie.Dale
Removed double look-up in UTextProperty::SerializeItem
Change 3187114 on 2016/11/04 by Jamie.Dale
Feedback context now uses culture correct percentage formatting
Change 3187273 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
Add also some fbx automation test
#jira UE-38242
Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt
Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes
#jira UE-38268
Change 3187463 on 2016/11/04 by Nick.Darnell
Automation - Updating the blessed screenshots, and fixing the BOM issues with the json.
Change 3188638 on 2016/11/07 by Shaun.Kime
Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background.
#jira UE-38240
Change 3189056 on 2016/11/07 by Nick.Darnell
Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser.
Change 3189147 on 2016/11/07 by Jamie.Dale
Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache
This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering).
#jira UE-38309
Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt
Guard against null object when creating details panel
Change 3190017 on 2016/11/08 by Alexis.Matte
FrontX support for scene importer
#jira UETOOL-1061
Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt
Fixed misaligned button in the new blueprint class dialog
Change 3190086 on 2016/11/08 by Nick.Darnell
UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained.
Change 3190159 on 2016/11/08 by Nick.Darnell
UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user.
Change 3190161 on 2016/11/08 by Nick.Darnell
UMG - UWidget is now Blueprintable. Improving some doc.
Change 3190545 on 2016/11/08 by Alexis.Matte
Support scaling when exporting skeleton (bind pose) to FBX
#jira UE-36120
Change 3191614 on 2016/11/09 by Simon.Tourangeau
Fix cooking crash after fbx import of a scene without meshes
#jira UE-38264
Change 3191659 on 2016/11/09 by Simon.Tourangeau
Cleanup Persona LOD section button layout
#jira UE-38339
Change 3191882 on 2016/11/09 by Jamie.Dale
Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter.
Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict.
Change 3192092 on 2016/11/09 by Jamie.Dale
Deleting some test assets that were accidentally checked in, some of which no longer load
Change 3192281 on 2016/11/09 by Alex.Delesky
#jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints.
Change 3192365 on 2016/11/09 by Shaun.Kime
Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes.
#jira UE-19022
Change 3192494 on 2016/11/09 by Alex.Delesky
#jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly.
Change 3193183 on 2016/11/10 by Alexis.Matte
When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset.
#jira UE-38450
Change 3193419 on 2016/11/10 by Alex.Delesky
Fixing UnrealTournament build error in SUTChatEditBox
#jira none
Change 3193456 on 2016/11/10 by Alex.Delesky
Fix to build warning C6011 in SWidgetHierarchyItem
#jira none
Change 3193704 on 2016/11/10 by Simon.Tourangeau
Create Cinematic Camera when importing camera from fbx
#jira UE-37764
Change 3194593 on 2016/11/11 by Nick.Darnell
Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values.
Change 3194595 on 2016/11/11 by Nick.Darnell
Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area.
Change 3194830 on 2016/11/11 by Richard.TalbotWatkin
Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude!
#jira UE-38524 - Moving many brushes to another level is very slow
Change 3194859 on 2016/11/11 by Alexis.Matte
Fix fbx skeletal mesh cleanup material crash
#jira UE-38525
Change 3195199 on 2016/11/11 by Nick.Darnell
UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots.
#jira UE-38536
Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against rendering crashes when a mesh with no lod resources is opened.
#jira UE-38520
Change 3196614 on 2016/11/14 by Nick.Darnell
Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time.
Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt
PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist)
Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt
Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal)
#jira UE-38544
Change 3196863 on 2016/11/14 by Nick.Darnell
Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor.
Change 3196900 on 2016/11/14 by Nick.Darnell
Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale.
Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt
Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel.
#jira UE-36499, UE-38497
Change 3197028 on 2016/11/14 by Alexis.Matte
Shift Drag is not moving the camera when the user is dragging the 3 axis in same time.
#jira UE-38382
Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt
Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame
Change 3197227 on 2016/11/14 by Nick.Darnell
UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema.
Change 3197239 on 2016/11/14 by Nick.Darnell
UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it.
Change 3197538 on 2016/11/14 by Nick.Darnell
UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late.
Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt
Guard against reimport factories being deleted while in use
#jira UE-37577
Change 3198589 on 2016/11/15 by Alex.Delesky
#jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key.
Change 3198783 on 2016/11/15 by Nick.Darnell
The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code.
Change 3198933 on 2016/11/15 by Jamie.Dale
Changing the package localization ID used by a package now marks the package as dirty
Change 3198942 on 2016/11/15 by Jamie.Dale
Clearing the package localization ID used by a package now marks the package as dirty
Change 3200241 on 2016/11/16 by Shaun.Kime
Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled.
By default, internal only classes will be hidden and you will be limited to your own developer folder.
Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use
[/Script/ClassViewer.ClassViewerProjectSettings]
+InternalOnlyPaths=(Path="/Engine/VREditor")
+InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget
The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders.
The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget.
Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management
#jira UE-38313
Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt
Adding missing change needed post merge from main
Change 3200968 on 2016/11/16 by Jamie.Dale
Fixed localization gather including texts that were instanced or otherwise unchanged
- It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default.
- UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances.
Change 3201033 on 2016/11/16 by Cody.Albert
Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged
Change 3201829 on 2016/11/17 by Shaun.Kime
Fixing issue where GEngine is null in early game loading, potentially causing a crash.
Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt
Fix build warning
Change 3201835 on 2016/11/17 by Nick.Darnell
Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input.
Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt
Fix streaming pause rendering starting a movie if a movie was already playing
Change 3202089 on 2016/11/17 by Nick.Darnell
Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name.
Change 3202139 on 2016/11/17 by Jamie.Dale
Fix for adjusting text spacing when lines are removed from TextLayouts
Change 3202398 on 2016/11/17 by Cody.Albert
Updated UMG Sequencer to properly fire events once per loop
Change 3202591 on 2016/11/17 by Shaun.Kime
Fixing coding standards violations.
Change 3202744 on 2016/11/17 by Shaun.Kime
StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior.
#jira UE-38315
Change 3203009 on 2016/11/17 by Alex.Delesky
Backing out changelist 3170522 per request
#jira UE-33031
Change 3204077 on 2016/11/18 by Nick.Darnell
Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images.
Change 3204086 on 2016/11/18 by Jamie.Dale
Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set
Both use FGCObject internally to reference the object and keep it alive.
FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer.
You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing).
Change 3204189 on 2016/11/18 by Alex.Delesky
Removing content from dev folder
Change 3204205 on 2016/11/18 by Jamie.Dale
Fix for being unable to delete folders that still have sub-folders in the Content Browser
#jira UE-38752
Change 3204270 on 2016/11/18 by Simon.Tourangeau
Fix StaticMesh socket reimports
- socket transforms are now updated correctly on reimport
- deleted socket from source will be removed on reimport
- fix SocketManager refresh after import
#jira UE-38195
Change 3204283 on 2016/11/18 by Alex.Delesky
#jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself.
Change 3205757 on 2016/11/21 by Jamie.Dale
PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium)
Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist)
Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt
PR #2956: Add plane to basicshapes (Contributed by tommybear)
Change 3205831 on 2016/11/21 by Jamie.Dale
Speculative fix for UE-38492
This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel.
#jira UE-38492
Change 3205869 on 2016/11/21 by Alex.Delesky
#jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor
Change 3205873 on 2016/11/21 by Alex.Delesky
#jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes.
Should also address the issue mentioned in #jira UE-32965
Change 3205954 on 2016/11/21 by Shaun.Kime
Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work.
#jira UE-38315
Change 3205965 on 2016/11/21 by Alex.Delesky
#jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused
PR #2942
Change 3207157 on 2016/11/22 by Chris.Wood
Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking.
[UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds
Change 3207344 on 2016/11/22 by Matthew.Griffin
Added UnrealWatchdog to the Binary Release
Change 3207396 on 2016/11/22 by Ben.Marsh
Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion.
Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt
Redid blur changes from Paragon Dev-General
Blur widget updates
- Renamed to SBackgroundBlur/UBackgroundBlur
- Split SBackgroundBlur out into its own file
- Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha
- Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set
- Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version)
- Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image
Change 3207443 on 2016/11/22 by Chris.Wood
Fix CIS error on Mac from my change CL 3207157
Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt
Added missing files
Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt
Guard against crash clearing scenes from the slate RHI renderer during movie loading code.
Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt
Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check
Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt
Actually call correct method of checking for a debugger
Change 3209139 on 2016/11/23 by Cody.Albert
Adding support for "Show Only Modified Properties" filter to DetailWidgetRow
Change 3209206 on 2016/11/23 by Jamie.Dale
Moving folders now removes the old folder from disk if it's empty
This had already been done for deleting folders, but moving them was missed.
#jira UE-11796
Change 3209281 on 2016/11/23 by Jamie.Dale
PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung)
Change 3210383 on 2016/11/25 by Chris.Wood
Documented Crash Report Client analytics events
[UE-32787] - Document Crash Report Client analytics events in code
Change 3210385 on 2016/11/25 by Alexis.Matte
Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not
#jira UE-38925
Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt
Fix build errors
Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt
PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts)
Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt
Fix ATSC texture compression quality tooltip
#jira UE-38996
Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt
Fix compile errors
Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt
Fix post process anim blueprints on skeletal meshes not being clearable
#jira UE-39017
Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt
Added more logging for jira UE-39000
#jira UE-39000
Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt
Redid fix for UE-35822 in dev-editor
Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt
Disable motion blur in editor views by default
#jira 38424
Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt
Fix PS4 compile errors
Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt
Details panels changes
- Added the ability to create groups within groups in details panel customizations
- Added the ability for struct customizations to add categories to the parent
Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt
Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do.
Change 3213158 on 2016/11/29 by Jamie.Dale
Updated User Defined Enum display names to use real FText instances so they can have stable keys
This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues.
User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking).
#jira UE-26274
Change 3213172 on 2016/11/29 by Jamie.Dale
Adding experimental support for content hot-reloading
The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded).
The basic workflow for package reloading is as follows:
1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects.
2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed.
3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping).
4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found).
5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't).
For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory.
In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation.
Change 3213428 on 2016/11/29 by Jamie.Dale
Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing
#jira UE-37746
Change 3213442 on 2016/11/29 by Jamie.Dale
Workaround for a bug in TSF based MS IMEs on Windows 8+
They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted.
#jira UE-37309
Change 3213603 on 2016/11/29 by Cody.Albert
Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget
#jira UE-39106
Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt
Attempt to fix includetool cis warning
Change 3215159 on 2016/11/30 by Jamie.Dale
Fixing MakeShared forward declaration
Change 3215220 on 2016/11/30 by Alex.Delesky
#jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view.
Change 3215390 on 2016/11/30 by Jamie.Dale
Maps now end a hot-reload batch
Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt
Updating guard to track down worlds that have no package as an outer
#jira UE-35712
Change 3215500 on 2016/11/30 by Alexis.Matte
Color grading widget customization
#jira UETOOL-1070
Change 3215519 on 2016/11/30 by Jamie.Dale
Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode
Change 3215556 on 2016/11/30 by Cody.Albert
Fixed issue where check-out toast would not disappear
#jira UE-39146
Change 3215585 on 2016/11/30 by Jamie.Dale
Adding an explicit ESPMode to MakeShared to try and placate Android
Change 3215737 on 2016/11/30 by Alexis.Matte
Fix build warning
Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt
Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves
#jira UE-35935
Change 3215758 on 2016/11/30 by Ben.Marsh
Add a 'Custom...' build type for Dev-Editor.
Change 3216183 on 2016/11/30 by Alexis.Matte
Fix win32 build error
Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt
Fix mac build error.
Change 3216828 on 2016/12/01 by Jamie.Dale
Fixing MakeShared on Android
#jira UE-39204
Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt
PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel)
Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt
Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty
#jira UE-36496
Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt
Fix a number of keybindings problems
- Removed editor keybindings from project settings. It should not have been in there (already in editor settings)
- Removed duplicate registration of editor keybindings from editor settings
- Fixed memory leak regenerating keybinding widgets when ending PIE world.
- Cleaned up styling a bit to make keybindings widgets clearer.
#jira UE-39211, UE-38718
Change 3216881 on 2016/12/01 by Shaun.Kime
Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to.
Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs.
Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable.
Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage.
Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count.
In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out.
#jira UE-6882
Change 3216968 on 2016/12/01 by Jamie.Dale
Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk
Change 3216970 on 2016/12/01 by Jamie.Dale
Reverting files now uses hot-reloading (if enabled)
Change 3217233 on 2016/12/01 by Jamie.Dale
You can now choose to reload dirty packages via content hot-reloading
This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor.
Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt
WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame.
Change 3217466 on 2016/12/01 by Jamie.Dale
Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date
Change 3217572 on 2016/12/01 by Jamie.Dale
Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text
Change 3217688 on 2016/12/01 by Jamie.Dale
Fixed crash reloading the active world package when it was dirty
#jira UE-39250
Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt
Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads
#jira UE-39243
Change 3218834 on 2016/12/02 by Alexis.Matte
move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options
#jira UE-38672
Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives
#jira UE-39246
Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed basic cube shape having a convex hull instead of a box for collision
Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt
Move static mesh collision properties to the collision category
Change 3219143 on 2016/12/02 by Michael.Dupuis
#jira UE-39124 We can now place single mesh at a time
#jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on
Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection
Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt
Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it
#jira UE-37452
Change 3219358 on 2016/12/02 by Alexis.Matte
Fix fbx automation tests
Change 3219362 on 2016/12/02 by Alexis.Matte
Support for MAX multisub material
#jira UE-38467
#jira UE-38471
Change 3219774 on 2016/12/02 by Jamie.Dale
PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN)
Change 3219793 on 2016/12/02 by Jamie.Dale
SWindow now restores focus back to the widget that last had focus when it was deactivated
#jira UE-38965
Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt
UI background blur tweaks
- Adjust the downsample amount for lower kernel sizes
- Flush post process memory used by the blur when switching levels
Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt
Added guards against accesing scene caching methods of the slate resource manager on the rendering thread
Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt
Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen
no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early
Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading
Change 3221831 on 2016/12/05 by Jamie.Dale
Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name
Change 3221986 on 2016/12/05 by Jamie.Dale
Added an "Inline" font loading method
This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front.
The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does.
This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded.
Change 3222065 on 2016/12/05 by Jamie.Dale
Added log warning to detect hitches when lazily loading fonts
Change 3222225 on 2016/12/05 by Jamie.Dale
Fixing style-set typo
#jira UE-39333
Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt
Fix autosaving prompting to check out built data if the built data asset was dirty during autosave
#jira UE-39295
Change 3223184 on 2016/12/06 by Alexis.Matte
Support LOD group and combine mesh
#jira UE-1088
Change 3223212 on 2016/12/06 by Alex.Delesky
#jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties.
Change 3223215 on 2016/12/06 by Alex.Delesky
#jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false.
Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt
Added back in missing code that was lost in a merge
Change 3223271 on 2016/12/06 by Alex.Delesky
#jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box).
Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt
Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials
Change 3223276 on 2016/12/06 by Alexis.Matte
Staticmesh socket fbx import.
#jira UE-38284
Change 3223363 on 2016/12/06 by Alexis.Matte
Reimport must ask for missing file when re-importing a old asset that has no source files
#jira UE-39356
Change 3223423 on 2016/12/06 by Chris.Wood
Added option to place canvas panel children in same layer using explicit ZOrder setting.
[UETOOL-935] - Figure out a solution for canvas panel batching
Change 3223551 on 2016/12/06 by Alexis.Matte
UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change
#jira UE-39383
Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt
Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default
Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt
Update doc links for maps and sets
Change 3224746 on 2016/12/07 by Michael.Dupuis
#jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
#jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras
Change 3224826 on 2016/12/07 by Michael.Dupuis
#jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior
Change 3224827 on 2016/12/07 by Simon.Tourangeau
Improve search for material match on fbx mesh import
- Add option to specify material search locations on mesh import
- On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh)
- Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes)
- If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets)
- If option is UnderRoot or more, search recursively from root folder (search recursively in /Game)
- If option is AllAssets, search in every asset folder (Search recursively everywhere)
#jira UE-39020
Change 3224989 on 2016/12/07 by Chris.Wood
Fixed black callstack text in CrashReportClient.
[UE-38987] - CrashReportClient Callstack text is rendering Black
Change 3225142 on 2016/12/07 by Jamie.Dale
Added collapsing methods when exporting text for translation
You can now choose how to collapse your text for translation from three export modes:
- ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior).
- ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior).
- ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior).
The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior).
You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource").
Change 3225509 on 2016/12/07 by Simon.Tourangeau
Static analysis fix, false positive
Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt
Fix broken physical surface details customization
- Scrolling now works properly
- Edit boxes dont change size while editing
- properly checks out or makes file writable once an edit has been made
#jira UE-39279
Change 3226840 on 2016/12/08 by Jamie.Dale
Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself
#jira OPP-6485
Change 3226940 on 2016/12/08 by Alexis.Matte
Avoid changing the W value when playing with the color grading wheel.
#jira UE-39473
Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt
Temp disable lazy load font warnings to prevent infinite recursion crashes at startup
Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt
Fix for iOS compiling
Change 3228597 on 2016/12/09 by Jamie.Dale
Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL
#jira UE-39529
Change 3228607 on 2016/12/09 by Jamie.Dale
Fixed infinite recursion caused by logging while the output log font was still being loaded
#jira UE-39523
Change 3228770 on 2016/12/09 by Jamie.Dale
Fixed UUserDefinedEnum::GetEnumText
it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail.
#jira UE-39531
Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt
Fix static analysis warning
[CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
GraphEditorCommands - > MapAction ( FMaterialEditorCommands : : Get ( ) . PromoteToParameter ,
FExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnPromoteToParameter ) ,
FCanExecuteAction : : CreateSP ( this , & FMaterialEditor : : OnCanPromoteToParameter )
) ;
2014-03-14 14:13:41 -04:00
}
FGraphAppearanceInfo AppearanceInfo ;
if ( MaterialFunction )
{
2015-01-07 09:52:40 -05:00
AppearanceInfo . CornerText = LOCTEXT ( " AppearanceCornerText_MaterialFunction " , " MATERIAL FUNCTION " ) ;
2014-03-14 14:13:41 -04:00
}
else
{
2015-01-07 09:52:40 -05:00
AppearanceInfo . CornerText = LOCTEXT ( " AppearanceCornerText_Material " , " MATERIAL " ) ;
2014-03-14 14:13:41 -04:00
}
SGraphEditor : : FGraphEditorEvents InEvents ;
InEvents . OnSelectionChanged = SGraphEditor : : FOnSelectionChanged : : CreateSP ( this , & FMaterialEditor : : OnSelectedNodesChanged ) ;
InEvents . OnNodeDoubleClicked = FSingleNodeEvent : : CreateSP ( this , & FMaterialEditor : : OnNodeDoubleClicked ) ;
InEvents . OnTextCommitted = FOnNodeTextCommitted : : CreateSP ( this , & FMaterialEditor : : OnNodeTitleCommitted ) ;
2015-06-10 13:53:25 -04:00
InEvents . OnVerifyTextCommit = FOnNodeVerifyTextCommit : : CreateSP ( this , & FMaterialEditor : : OnVerifyNodeTextCommit ) ;
2014-03-14 14:13:41 -04:00
InEvents . OnSpawnNodeByShortcut = SGraphEditor : : FOnSpawnNodeByShortcut : : CreateSP ( this , & FMaterialEditor : : OnSpawnGraphNodeByShortcut , CastChecked < UEdGraph > ( Material - > MaterialGraph ) ) ;
// Create the title bar widget
TSharedPtr < SWidget > TitleBarWidget = SNew ( SMaterialEditorTitleBar )
. TitleText ( this , & FMaterialEditor : : GetOriginalObjectName ) ;
//.MaterialInfoList(&MaterialInfoList);
return SNew ( SGraphEditor )
. AdditionalCommands ( GraphEditorCommands )
. IsEditable ( true )
. TitleBar ( TitleBarWidget )
. Appearance ( AppearanceInfo )
. GraphToEdit ( Material - > MaterialGraph )
. GraphEvents ( InEvents )
2014-06-09 11:12:17 -04:00
. ShowGraphStateOverlay ( false ) ;
2014-03-14 14:13:41 -04:00
}
void FMaterialEditor : : CleanUnusedExpressions ( )
{
TArray < UEdGraphNode * > UnusedNodes ;
Material - > MaterialGraph - > GetUnusedExpressions ( UnusedNodes ) ;
if ( UnusedNodes . Num ( ) > 0 & & CheckExpressionRemovalWarnings ( UnusedNodes ) )
{
{
// Kill off expressions referenced by the material that aren't reachable.
const FScopedTransaction Transaction ( NSLOCTEXT ( " UnrealEd " , " MaterialEditorCleanUnusedExpressions " , " Material Editor: Clean Unused Expressions " ) ) ;
Material - > Modify ( ) ;
Material - > MaterialGraph - > Modify ( ) ;
for ( int32 Index = 0 ; Index < UnusedNodes . Num ( ) ; + + Index )
{
UMaterialGraphNode * GraphNode = CastChecked < UMaterialGraphNode > ( UnusedNodes [ Index ] ) ;
UMaterialExpression * MaterialExpression = GraphNode - > MaterialExpression ;
FBlueprintEditorUtils : : RemoveNode ( NULL , GraphNode , true ) ;
2014-06-27 07:35:59 -04:00
if ( PreviewExpression = = MaterialExpression )
{
SetPreviewExpression ( NULL ) ;
}
2014-03-14 14:13:41 -04:00
MaterialExpression - > Modify ( ) ;
Material - > Expressions . Remove ( MaterialExpression ) ;
Material - > RemoveExpressionParameter ( MaterialExpression ) ;
// Make sure the deleted expression is caught by gc
MaterialExpression - > MarkPendingKill ( ) ;
}
Material - > MaterialGraph - > LinkMaterialExpressionsFromGraph ( ) ;
} // ScopedTransaction
GraphEditor - > ClearSelectionSet ( ) ;
GraphEditor - > NotifyGraphChanged ( ) ;
SetMaterialDirty ( ) ;
}
}
bool FMaterialEditor : : CheckExpressionRemovalWarnings ( const TArray < UEdGraphNode * > & NodesToRemove )
{
FString FunctionWarningString ;
bool bFirstExpression = true ;
for ( int32 Index = 0 ; Index < NodesToRemove . Num ( ) ; + + Index )
{
if ( UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( NodesToRemove [ Index ] ) )
{
UMaterialExpressionFunctionInput * FunctionInput = Cast < UMaterialExpressionFunctionInput > ( GraphNode - > MaterialExpression ) ;
UMaterialExpressionFunctionOutput * FunctionOutput = Cast < UMaterialExpressionFunctionOutput > ( GraphNode - > MaterialExpression ) ;
if ( FunctionInput )
{
if ( ! bFirstExpression )
{
FunctionWarningString + = TEXT ( " , " ) ;
}
bFirstExpression = false ;
FunctionWarningString + = FunctionInput - > InputName ;
}
if ( FunctionOutput )
{
if ( ! bFirstExpression )
{
FunctionWarningString + = TEXT ( " , " ) ;
}
bFirstExpression = false ;
FunctionWarningString + = FunctionOutput - > OutputName ;
}
}
}
if ( FunctionWarningString . Len ( ) > 0 )
{
if ( EAppReturnType : : Yes ! = FMessageDialog : : Open ( EAppMsgType : : YesNo ,
FText : : Format (
NSLOCTEXT ( " UnrealEd " , " Prompt_MaterialEditorDeleteFunctionInputs " , " Delete function inputs or outputs \" {0} \" ? \n Any materials which use this function will lose their connections to these function inputs or outputs once deleted. " ) ,
FText : : FromString ( FunctionWarningString ) ) ) )
{
// User said don't delete
return false ;
}
}
return true ;
}
void FMaterialEditor : : RemoveSelectedExpressionFromFavorites ( )
{
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
if ( SelectedNodes . Num ( ) = = 1 )
{
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
if ( UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) )
{
MaterialExpressionClasses : : Get ( ) - > RemoveMaterialExpressionFromFavorites ( GraphNode - > MaterialExpression - > GetClass ( ) ) ;
EditorOptions - > FavoriteExpressions . Remove ( GraphNode - > MaterialExpression - > GetClass ( ) - > GetName ( ) ) ;
EditorOptions - > SaveConfig ( ) ;
}
}
}
}
void FMaterialEditor : : AddSelectedExpressionToFavorites ( )
{
const FGraphPanelSelectionSet SelectedNodes = GraphEditor - > GetSelectedNodes ( ) ;
if ( SelectedNodes . Num ( ) = = 1 )
{
for ( FGraphPanelSelectionSet : : TConstIterator NodeIt ( SelectedNodes ) ; NodeIt ; + + NodeIt )
{
if ( UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * NodeIt ) )
{
MaterialExpressionClasses : : Get ( ) - > AddMaterialExpressionToFavorites ( GraphNode - > MaterialExpression - > GetClass ( ) ) ;
EditorOptions - > FavoriteExpressions . AddUnique ( GraphNode - > MaterialExpression - > GetClass ( ) - > GetName ( ) ) ;
EditorOptions - > SaveConfig ( ) ;
}
}
}
}
void FMaterialEditor : : OnSelectedNodesChanged ( const TSet < class UObject * > & NewSelection )
{
TArray < UObject * > SelectedObjects ;
UObject * EditObject = Material ;
if ( MaterialFunction )
{
EditObject = MaterialFunction ;
}
if ( NewSelection . Num ( ) = = 0 )
{
SelectedObjects . Add ( EditObject ) ;
}
else
{
for ( TSet < class UObject * > : : TConstIterator SetIt ( NewSelection ) ; SetIt ; + + SetIt )
{
if ( UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( * SetIt ) )
{
SelectedObjects . Add ( GraphNode - > MaterialExpression ) ;
}
else if ( UMaterialGraphNode_Comment * CommentNode = Cast < UMaterialGraphNode_Comment > ( * SetIt ) )
{
SelectedObjects . Add ( CommentNode - > MaterialExpressionComment ) ;
}
else
{
SelectedObjects . Add ( EditObject ) ;
}
}
}
GetDetailView ( ) - > SetObjects ( SelectedObjects , true ) ;
}
void FMaterialEditor : : OnNodeDoubleClicked ( class UEdGraphNode * Node )
{
UMaterialGraphNode * GraphNode = Cast < UMaterialGraphNode > ( Node ) ;
if ( GraphNode )
{
UMaterialExpressionConstant3Vector * Constant3Expression = Cast < UMaterialExpressionConstant3Vector > ( GraphNode - > MaterialExpression ) ;
UMaterialExpressionConstant4Vector * Constant4Expression = Cast < UMaterialExpressionConstant4Vector > ( GraphNode - > MaterialExpression ) ;
UMaterialExpressionFunctionInput * InputExpression = Cast < UMaterialExpressionFunctionInput > ( GraphNode - > MaterialExpression ) ;
UMaterialExpressionVectorParameter * VectorExpression = Cast < UMaterialExpressionVectorParameter > ( GraphNode - > MaterialExpression ) ;
FColorChannels ChannelEditStruct ;
2014-10-23 21:38:06 -04:00
// Reset to default
ColorPickerProperty = NULL ;
2014-03-14 14:13:41 -04:00
if ( Constant3Expression )
{
ChannelEditStruct . Red = & Constant3Expression - > Constant . R ;
ChannelEditStruct . Green = & Constant3Expression - > Constant . G ;
ChannelEditStruct . Blue = & Constant3Expression - > Constant . B ;
}
else if ( Constant4Expression )
{
ChannelEditStruct . Red = & Constant4Expression - > Constant . R ;
ChannelEditStruct . Green = & Constant4Expression - > Constant . G ;
ChannelEditStruct . Blue = & Constant4Expression - > Constant . B ;
ChannelEditStruct . Alpha = & Constant4Expression - > Constant . A ;
}
else if ( InputExpression )
{
ChannelEditStruct . Red = & InputExpression - > PreviewValue . X ;
ChannelEditStruct . Green = & InputExpression - > PreviewValue . Y ;
ChannelEditStruct . Blue = & InputExpression - > PreviewValue . Z ;
ChannelEditStruct . Alpha = & InputExpression - > PreviewValue . W ;
}
else if ( VectorExpression )
{
ChannelEditStruct . Red = & VectorExpression - > DefaultValue . R ;
ChannelEditStruct . Green = & VectorExpression - > DefaultValue . G ;
ChannelEditStruct . Blue = & VectorExpression - > DefaultValue . B ;
ChannelEditStruct . Alpha = & VectorExpression - > DefaultValue . A ;
2014-10-23 21:38:06 -04:00
static FName DefaultValueName = FName ( TEXT ( " DefaultValue " ) ) ;
// Store off the property the color picker will be manipulating, so we can construct a useful PostEditChangeProperty later
ColorPickerProperty = VectorExpression - > GetClass ( ) - > FindPropertyByName ( DefaultValueName ) ;
2014-03-14 14:13:41 -04:00
}
if ( ChannelEditStruct . Red | | ChannelEditStruct . Green | | ChannelEditStruct . Blue | | ChannelEditStruct . Alpha )
{
TArray < FColorChannels > Channels ;
Channels . Add ( ChannelEditStruct ) ;
ColorPickerObject = GraphNode - > MaterialExpression ;
// Open a color picker that only sends updates when Ok is clicked,
// Since it is too slow to recompile preview expressions as the user is picking different colors
FColorPickerArgs PickerArgs ;
PickerArgs . ParentWidget = GraphEditor ; //AsShared();
PickerArgs . bUseAlpha = Constant4Expression ! = NULL | | VectorExpression ! = NULL ;
2015-07-30 11:01:42 -04:00
PickerArgs . bOnlyRefreshOnOk = false ;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3050373)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2973846 on 2016/05/11 by Jamie.Dale
Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue
These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).
The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.
This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).
Change 2973847 on 2016/05/11 by Jamie.Dale
Changing the loading phase in the localization dashboard now writes to the default config
#jira UE-30482
Change 2973866 on 2016/05/11 by Jamie.Dale
Deprecated some functions that were taking an unused position.
These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.
- FViewportFrame::ResizeFrame
- FSceneViewport::ResizeFrame
- FSceneViewport::ResizeViewport
Change 2974505 on 2016/05/11 by Nick.Darnell
PR #2309: Added Combobox styling (Contributed by Chris528)
Change 2975241 on 2016/05/12 by Richard.TalbotWatkin
Made sRGB Preview the default in the Color Picker.
Change 2975390 on 2016/05/12 by Jamie.Dale
Made sure that en-US-POSIX is in our list of available cultures
Some people use machine tags as their native text, so they need an invariant machine like culture to use as their native culture. en-US-POSIX is perfect for this.
Change 2975411 on 2016/05/12 by Jamie.Dale
PR #2237: Fixed formatting of Error_TooManyMaterials message (Contributed by pfranz)
Change 2975559 on 2016/05/12 by Jamie.Dale
Dialogue Wave VO direction can now be localized
This is gathered as editor-only data.
#jira UE-28715
Change 2975710 on 2016/05/12 by Jamie.Dale
Implemented UObject::IsLocalizedResource to test whether the object belongs to a localized package
Change 2975728 on 2016/05/12 by Jamie.Dale
Exported dialogue scripts now include a column that says whether they have a localized recording of that line of dialogue
#jira UETOOL-794
Change 2975763 on 2016/05/12 by Jamie.Dale
We no longer warn if asked to check out a UNC path when running the GatherText commandlets
#jira UE-25833
Change 2975766 on 2016/05/12 by Jamie.Dale
Resolved some loc key conflicts
#jira UE-25833
Change 2975774 on 2016/05/12 by Jamie.Dale
PO files now only contain a single entry in the case of a native translation being exported
They used to contain the original entry, as well as an entry for the native translation, however the original entry would never be used.
This change also cleans up some directory walking code that was looking for archive files, and replaces it with code to load the specific archive file.
Change 2975776 on 2016/05/12 by Jamie.Dale
Downgraded a PO file import warning that isn't really an issue
#jira UE-25833
Change 2976675 on 2016/05/13 by Jamie.Dale
Fixed some more fallout from changes to use the window position when changing the game viewport mode
- FSceneViewport::ResizeFrame:
- Fixed the HMD monitor info setting the wrong variables.
- Fixed SetWindowMode and ResizeViewport potentially being passed two different modes.
- We now only move the window if we need to (this avoids issues with WindowedFullscreen window positioning).
- FWindowsWindow::MoveWindowTo:
- Now treats the screen space position it's given as relative to the top-left of the window, rather than the top-left of the windows' client area.
- FWindowsApplication:
- WM_MOVE was passing a screen space position relative to the top-left of the windows' client area, rather than its window area like Slate expected.
#jira UE-30276
#jira UE-30677
Change 2976804 on 2016/05/13 by Jamie.Dale
Slight optimization to FICUInternationalization::FindOrMakeCulture to avoid hitting the filesystem until we know we need to
Change 2976967 on 2016/05/13 by Alexis.Matte
#jira UE-30687 Cannot import a skeletal mesh scale to zero
Change 2977042 on 2016/05/13 by Alexis.Matte
#jira UE-29952 log a warning if fbx exceed the maximum number of LOD.
#2326 Github PR
#code review matt.kuhlenschmidt
Change 2977074 on 2016/05/13 by Jamie.Dale
Follow up to CL# 2976804 to avoid a potential change in behavior
Change 2977076 on 2016/05/13 by Jamie.Dale
Some tidy up and optimization to SCulturePicker
Change 2977327 on 2016/05/13 by Alex.Delesky
Now deleting the Redirector package on Redirector Fix Up rather than simply removing it from the Content Browser.
#jira UE-30423
Change 2977499 on 2016/05/13 by Alexis.Matte
#jira UE-29475
Enable UStruct child property to be favorite
Change 2978415 on 2016/05/16 by Jamie.Dale
We now pre-load all the culture data when starting the editor to avoid a UI hitch later
Change 2978517 on 2016/05/16 by Alex.Delesky
#jira UE-29406
Creating a static mesh from a geometry brush and then attempting to reimport the mesh will no longer crash the editor.
Change 2978518 on 2016/05/16 by Alex.Delesky
#jira UE-28210
The FBX Importer no longer runs cleanup upon failing to import an FBX file and won't crash the engine the next time an FBX is imported within the same editor session.
Change 2978556 on 2016/05/16 by Alexis.Matte
Fbx tests automation
#jira UE-29635
Change 2978797 on 2016/05/16 by Alexis.Matte
#jira UE-30774
- prevent baking the pivot if we transform the vertex with the absolute transform.
- Also make sure we set the identity for the Max puivot in case we dont bake the pivot and we dont transform the vertex with the absolute transform.
#code review matt.kuhlenschmidt
Change 2978965 on 2016/05/16 by Alexis.Matte
FBX importer, fix the socket rotation.
#jira UE-30094
Change 2980613 on 2016/05/17 by Jamie.Dale
Moved the XLOC UAT localization provider to be publicly accessible
Change 2980614 on 2016/05/17 by Jamie.Dale
Reference update for project move
Change 2980633 on 2016/05/17 by Jamie.Dale
Made the culture mapping used between XLOC and UE4 configurable on a per-project basis
You can now override GetEpicCultureToXLocLanguageId in your custom localization provider in order to change the default mappings.
Change 2980836 on 2016/05/17 by Jamie.Dale
Added -LocalizationSteps flag to allow you to only run a subset of the UAT "Localise" command
You can pass any of the following steps: Download, Gather, Import, Export, Compile, GenerateReports, Upload
Change 2982700 on 2016/05/18 by Jamie.Dale
Fixed the loc package gather potentially adding the same source location multiple times
Change 2983906 on 2016/05/19 by Jamie.Dale
Slight cleanup of the way we register localization gatherer callbacks
Change 2984356 on 2016/05/19 by Chris.Wood
Removed temporary analytics API change needed for earlier hot fix
[UE-31005] - Undo temp Hardware Survey API change from 4.10 - CL 2782817
Change 2986679 on 2016/05/23 by Alex.Delesky
#jira UE-24747 - Importing FBX files that contain meshes that do not have non-degenerate triangles will no longer crash the editor on import, and will warn the user that the meshes are bad.
Change 2986798 on 2016/05/23 by Alex.Delesky
#jira UE-31136 - Chord Input fields will no longer display the blinking edit cursor if they do not have focus.
Change 2987106 on 2016/05/23 by Alexis.Matte
Fbx importer, fail import must not create a package in the content browser
#jira UE-31154
Change 2987563 on 2016/05/23 by Alex.Delesky
#jira UE-30988 - Changed the default window mode when launching a game from the .uproject file to Windowed
Change 2987564 on 2016/05/23 by Alex.Delesky
#jira UE-28856 - Fixed a crash that could potentially occur when starting up PIE while dragging objects like widgets in the editor.
Change 2988321 on 2016/05/24 by Jamie.Dale
Added a way to backup and restore the selection state of a level (its actors and components) in a way that can be reapplied even if the level is reloaded
Change 2988708 on 2016/05/24 by Jamie.Dale
Fix for crash when missing the fallback/last resort font
Change 2988782 on 2016/05/24 by Jamie.Dale
Added the ability to version each localized string individually when loaded into the localization manager
The single 32-bit global history has now been replaced with two 16-bit histories. One is global, and is updated whenever the culture is changed (or a LocRes file is loaded), and the other is local to each string, and is updated if the display string is changed outside of a culture update (to handle cases where the display string is changed, but the key is preserved). Changing the global history will reset all local histories.
Because of the change from an int32 to a uint16, 0, rather than INDEX_NONE, is now considered the "unset" value for a history.
Change 2988856 on 2016/05/24 by Jamie.Dale
Added a way to get the package(s) of the object(s) being edited by a property panel
Typically the package is just the outermost of the object being edited, however there are some cases where this may not be the case:
- UMG widgets edit a transient copy of the real data, so we use the SetObjectPackageOverrides to override the package these objects should use to be the real asset package.
- Structs (UDS, Data Table, etc) don't have a way to get to their package, so you have to specify it on their FStructOnScope instance (see FStructOnScope::GetPackage and FStructOnScope::SetPackage). This has been hooked up for the UDS and Data Table editors.
Change 2988955 on 2016/05/24 by Alex.Delesky
#jira UE-30645 - Adding in support for splash images to support .png and .jpg files. In general, this adds multi-extension support for external image references and external image picker modules.
Git Request #2376
Change 2989418 on 2016/05/25 by Jamie.Dale
Added a way to count text references within a package that match the given search criteria
This can be used to detect whether a localization ID is unique within its package.
The following search modes are available:
- MatchId: Detect a reference if it matches the given ID (ignoring the source text)
- MatchSource: Detect a reference if it matches the given ID and source string
- MismatchSource: Detect a reference if it matches the given ID but has a different source string
Change 2989436 on 2016/05/25 by Jamie.Dale
Added "root-level" meta-data (meta-data associated with the package rather than an object within it)
Change 2989471 on 2016/05/25 by Alexis.Matte
Fbx scene importer, fix naming clash when creating package we now also look in memory to find existing package not just on disk
Change 2989639 on 2016/05/25 by Jamie.Dale
Added static version of FName::IsValidXName
This allows you to verify name-like strings without having to convert them to an FName (and thus add them to the name table)
Change 2989716 on 2016/05/25 by Alex.Delesky
#jira UE-30828 - The Standalone Session Frontend will now render the names of automation tests correctly instead of as solid white blocks.
Change 2990100 on 2016/05/25 by Alexis.Matte
Fix crash when reimporting a mesh that originaly exceed the maximum number of LOD
#jira UE-30907
Change 2991442 on 2016/05/26 by Bob.Tellez
#UE4 Fix components in world not rendering when saved without a physics scene.
Change 2991736 on 2016/05/26 by Bob.Tellez
#UE4 Fix duplicated worlds not being initialized when inactive. Re-enabled duplication of worlds in the content browser.
Change 2991942 on 2016/05/26 by Alex.Delesky
#jira UE-31012 - Setting a Decimal Grid Interval value to 0 and using it will no longer crash the editor or cause an editor crash on startup.
Change 2991994 on 2016/05/26 by Alex.Delesky
#jira UE-31177 - Attempting to export an entire level as an object file and choosing to export all materials as images will no longer crash the editor.
Change 2994037 on 2016/05/30 by Alexis.Matte
Add Fbx Automation Tests
- static mesh import reimport (sections and materials)
- skeletal mesh import and reimport (sections and materials also bone position)
- static/skeletal mesh LODs (import, add, reimport)
- rigid mesh (import, reimport)
Change 2994253 on 2016/05/31 by Alexis.Matte
Mikkt crash when computing the normals if there is more vertex then the number of wedge
#jira UE-29143
Change 2994260 on 2016/05/31 by Alexis.Matte
Make sure we cannot modify fbx test plan when json file is read only
Change 2994431 on 2016/05/31 by Alex.Delesky
#jira UE-21900 - The scale widget should now render all axes when using an orthographic camera.
Change 2994432 on 2016/05/31 by Alex.Delesky
#jira UE-31328 - New objects dragged into the scene will now comply with the Surface Snapping option in the viewport, and will not use the Surface Offset if snapping is disabled.
Change 2994537 on 2016/05/31 by Richard.TalbotWatkin
Fixed potential crash in the Mesh Paint tool when non-transactable actors are in the SelectedActors list following a Redo.
#jira UE-31172 - Crash related to Vertex Painting - MeshPaint!CastChecked<AActor,UObject>()
Change 2994983 on 2016/05/31 by Richard.TalbotWatkin
Added some guard code to protect against a crash when editing geometry. Repro currently unknown, ensure was added in order to try to get more information.
#jira UE-30820 - UT EDITOR: CRASH: Crash in Public Release CL#2973693
Change 2995022 on 2016/05/31 by Jamie.Dale
PR #2428: Added missing END_OPTIMIZATION macro to SOutputLog (Contributed by MatzeOGH)
Change 2995027 on 2016/05/31 by Jamie.Dale
PR #2409: fixed a small typo in GraphEditor.h (Contributed by MatzeOGH)
Change 2995963 on 2016/06/01 by Alex.Delesky
#jira UE-31317 - The transform gizmo will no longer block the placement of a material onto a mesh.
Change 2997002 on 2016/06/01 by Cody.Albert
Fix to ensure ActiveTopLevelWindow is properly set after a window is destroyed
#jira UE-31448
Change 2998013 on 2016/06/02 by Alexis.Matte
Prevent static mesh materials array to grow when using the reset button in the staticmesh editor.
#jira UE-12931
Change 2998370 on 2016/06/02 by Alexis.Matte
Fbx Automation, add some import LOD test in case the options are not ok
Change 2999709 on 2016/06/03 by Jamie.Dale
Fixed some issues with gathering text from BP bytecode
Bytecode in Blueprints is very volatile, and can only be safely gathered after it's been compiled (which is not guaranteed to have happened by the time we save the package). This change avoids caching any assets that contain scripts (non-data-only Blueprints), and instead will always load them to perform a gather (which will ensure the Blueprint bytecode is up-to-date due to compile-on-load).
Change 2999755 on 2016/06/03 by Richard.TalbotWatkin
Fixes to Spline Mesh collision generation.
- Fixed a serious issue with DDC ID generation, in that the static mesh wasn't forming a part of the key, hence any two spline meshes with identical properties but different meshes would yield the same cache entry.
- Fixed how different collision boxes are transformed when rebuilding physics meshes. Convex collision transforms are now correctly taken into account, and spherical and capsule collision now gets correctly translated when a scale is applied to the start or end of the spline mesh.
- Optimized physics rebuilding. A new BodySetup object is now only created when needed, otherwise it is reused.
#jira UE-31361 - Splines handle box collision and collision from other shapes differently
Change 2999973 on 2016/06/03 by Jamie.Dale
We now skip bulk data when detecting text references
#jira UE-31596
Change 3000159 on 2016/06/03 by Alex.Delesky
#jira UE-30244 - Added a safeguard against a potential crash when editing BSP brushes before placing another BSP brush into the level.
Change 3001814 on 2016/06/06 by Alexis.Matte
Make sure the staticmesh Materials list dont grow when we reimport or override a LOD other then the base mesh.
Add a fbx test to make sure the problem is flag by automation test
#jira UE-1394
Change 3001820 on 2016/06/06 by Alex.Delesky
#jira UE-19079 - Widget Blueprints should no longer crash when dragging widgets from one blueprint to a second and then compiling the second blueprint.
Change 3001915 on 2016/06/06 by Alexis.Matte
Make sure we check attribute type before checking attribute unique ID in case of unique id clash.
#jira UE-31214
Change 3002026 on 2016/06/06 by Alexis.Matte
Importing morph target should not import textures like materials since the base mesh already import thoses.
UDN Question:
https://udn.unrealengine.com/questions/293973/does-importing-an-fbx-with-morph-targets-cause-a-m.html
Change 3002623 on 2016/06/06 by Jamie.Dale
Fixing more loc conflicts
Change 3002883 on 2016/06/06 by Jamie.Dale
Adding retry when dealing with OneSky
This is attempting to compensate for some timeouts with OneSky, which were also noticed when testing UE-31413
Change 3003004 on 2016/06/06 by Trung.Le
#jira UE-13101 - Make "Description" field for a BluePrint Function multiline
Change 3003859 on 2016/06/07 by Alexis.Matte
#jira UE-30436 Refresh the property editor when a array element is added, remove, insert, delete and the property is favorite
Change 3004132 on 2016/06/07 by Jamie.Dale
Fixed a hash conflict that could occur when both the case-sensitive and case-insensitive FName hashes were identical
This resulted in the case-preserving FName being added to the head of the linked list for the bucket, which caused any subsequent name lookups to return that name index for the comparison index (since it matched an insensitive string comparison), rather than the name index of the first case-variant of that name that was added to the bucket.
This change has new entries be inserted at the tail of the list, which ensures that enumeration for a case-insensitive name will always find the same entry in the bucket (the first one that was ever added) and will continue to compare correctly.
Change 3004286 on 2016/06/07 by Jamie.Dale
Ensured that assignments that publish new names to the bucket are atomic
Change 3004310 on 2016/06/07 by Jamie.Dale
Ensured FName internal hashes are returned as uint16
Change 3004381 on 2016/06/07 by Jamie.Dale
FAsyncPackage now creates the meta-data before processing the remaining exports
This matches the behavior of FLinkerLoad::LoadAllObjects, as other objects may depend on the meta-data being loaded before them.
Change 3004765 on 2016/06/07 by Alex.Delesky
#jira UE-31498 - Material thumbnails will now render the full sphere rather than an extreme close-up of the material.
Change 3005754 on 2016/06/08 by Trung.Le
Allow whitespace for meta class names
#jira UE-31668
Change 3005755 on 2016/06/08 by Stephan.Jiang
UMGSequencePlayer implements GetPlaybackContext() and return UserWidget->GetWorld() if it's valid
#jira UE-31299
Change 3006512 on 2016/06/08 by Alex.Delesky
#jira UE-31572 - The "All Classes" tab in the Modes panel will now refresh when a placeable asset is created, renamed, or deleted without needed to navigate away from the tab first.
Change 3006760 on 2016/06/08 by Jamie.Dale
Added support for stable localization keys
This feature adds support for preserving the existing key of an FText property when editing the source string, providing that it is the only reference to that string within the package. A side effect of this is that you're now able to specify custom keys for FText properties since we can now verify that the custom key won't cause an identity conflict.
In order to limit the search domain for uniqueness to a single package, we've added the concept of a "localization namespace" to packages (stored in the meta-data). Each package is given a unique namespace, which is appended to the user-defined namespace of the text when it is modified, saved, or duplicated. This package namespace ensures that the same user-defined namespace and key may be used in different packages without causing an identity conflict.
In order to access the package namespace within the Core code that hosts FText (which doesn't know about UPackage), FArchive now provides a GetLocalizationNamespace function to access the package namespace within the Core code, and a SetLocalizationNamespace function for CoreUObject and Engine code to pass down the package namespace from their packages.
If you have an archive that handles duplicating objects into a different package, or duplicating packages themselves, then you'll want to make sure it's setting the package namespace correctly. FObjectReader and FObjectWriter have been updated to do this, and serve as a good example. FDuplicateDataReader (used by StaticDuplicateObject), and FCopyPropertiesArchiveObjectWriter (used when compiling Blueprints) have also been updated to set the package namespace, as they both handle copying objects between packages. TextNamespaceUtil provides a suite of functions for getting at (or setting) the namespace for a package.
Keys will start to stabilize naturally over time once this feature is enabled, however the StabilizeLocalizationKeys commandlet may also be used to stabilize all the keys for a game at once. Running it for a game under source control would look something like this:
MyGame -run=StabilizeLocalizationKeys -IncludeGame -NativeCulture=en -EnableSCC
This commandlet also updates your localization archives to use the new text identities, however you'll still need to run a localization gather and localization compile before the updated translations will be available for your game.
Note: This feature is currently disabled via the USE_STABLE_LOCALIZATION_KEYS define. It will be enabled at a later date.
#jira UETOOL-796
Change 3007501 on 2016/06/09 by Trung.Le
#jira UE-31722
Fix MaterialFunctions crash when editing text in Libraries Category Text field. Solution: Removed PredEdit and PostEdit from IEditableTextProperty, its derived types and other code that was calling them. The new SetText method already calls NotifyPreChange and NotifyPostChange to properly create/destroy ScopedTransaction.
Change 3007524 on 2016/06/09 by Jamie.Dale
Added some additional checks to avoid re-keying text when duplicating for PIE
Change 3007564 on 2016/06/09 by Jamie.Dale
PR #2401: DataTable import/export improvements (Contributed by bozaro)
Change 3007653 on 2016/06/09 by Jamie.Dale
PR #2459: Generate JSON for nested structs in DataTable rows (Contributed by jorgenpt)
Change 3008019 on 2016/06/09 by Jamie.Dale
Updated structs to export as JSON when displaying them in the Data Table editor
This produces much cleaner results than using the text export method (which will use the internal names for user defined structs).
This also cleans up the FDataTableExporterCSV and FDataTableExporterJSON APIs so that you don't need to pass in a UDataTable if you're not going to use it.
#jira UE-29958
Change 3008052 on 2016/06/09 by Jamie.Dale
Fixed bug importing an array inside a JSON Data Table
This was noticed when testing a GitHub PR, but the JSON importer for a Data Table was appending the new data to the array rather than replacing it. It now clears the array prior to importing.
Change 3008875 on 2016/06/10 by Jamie.Dale
PR #2406: Git plugin: Fix for Git diff not working in UE 4.12 (and master) (Contributed by SRombauts)
Change 3008879 on 2016/06/10 by Jamie.Dale
PR #2484: Git Plugin: fix the Submit To Source Control menu broken by new "migrate" support in 4.12 (and master) (Contributed by SRombauts)
Change 3008990 on 2016/06/10 by Alex.Delesky
#jira UE-15699 - Submitting to source control via the editor should now check for current asset status before prompting the user to submit their changes. This should prevent files that had been previously deleted from being readded to source.
Change 3008991 on 2016/06/10 by Alex.Delesky
#jira UE-31688 - The Output Log will now automatically anchor to the bottom of the scroll bar when the user scrolls all the way down using the mouse wheel or clicking and dragging the content window.
Change 3010856 on 2016/06/13 by Alexis.Matte
#jira UE-31713 Fix a serialize issue for skeletal mesh with apex cloth.
Change 3011736 on 2016/06/13 by Jamie.Dale
Adding missing plurals.res file
This is needed to get plural form information from ICU.
#jira UETOOL-875
Change 3012387 on 2016/06/14 by Richard.TalbotWatkin
Disabled the Paste context menu action if the property is marked as EditConst.
#jira UE-27469 - User is able to paste values into a read-only setting
Change 3012971 on 2016/06/14 by Stephan.Jiang
Editor Preferences->Widget Designer now have two options to toggle the visibilities of widgets created from Engine content folder and Developers folder.
By default, visibility for engine content is off and developers is on
#jira UE-31657
Change 3013111 on 2016/06/14 by Jamie.Dale
Unified the number, percentage, and currency formatting between the ICU and Legacy text implementations
Removed all the old legacy number formatting code, and removed the calls to the ICU specific number formatting. Everything is now using FastDecimalFormat as this will allow some optimizations later when formatting numbers in FText::Format.
Change 3015438 on 2016/06/15 by Cody.Albert
Fixing ScrollBy function to calculate new scroll offset based on the current scroll offset and not the current desired scroll offset (which may not be the same during an animation)
#jira UE-32082
Change 3016782 on 2016/06/16 by Richard.TalbotWatkin
Corrected ConvexHull2D so that it returns an empty set of indices when passed an empty points array.
Change 3016949 on 2016/06/16 by Jamie.Dale
Added FastDecimalFormat overloads to write into an existing string
This helps avoid an extra allocation if you already have a pre-sized string that you're writing the number to (as is the case in FText::Format).
Change 3016952 on 2016/06/16 by Jamie.Dale
Changed an Add for an Emplace to avoid moving a temporary
Change 3016954 on 2016/06/16 by Jamie.Dale
Updated some FText code to avoid creating temporary objects just to move data through a hierarchy
There was some code in FText and its internal types that were using pass-by-value as a marshaller to move data through a hierarchy. This resulted in temporary objects being created and destroyed to facilitate the movement of data.
This change has all the internal FText code (private FText constructors, internal text data, and internal text history) take its movable types as an r-value reference. This avoids the temporary objects, but also makes it impossible to accidentally copy a construction argument when you meant to move it (you can still copy, but the copy must be explicit).
In addition to this, FText::FromString and FText::AsCultureInvariant now have two overloads, const FString& and FString&&, to avoid them creating a temporary when you're invoking a move. FText::ChangeKey now takes its parameters by const& as their data wasn't being moved further down the chain, so the by-value copy was wasteful.
Change 3019021 on 2016/06/19 by Richard.TalbotWatkin
When deleting a brush, ensure geometry is rebuilt before updating the details panel according to the selection change, so that the old Surface Properties don't continue to appear.
#jira UE-8966 - Surface Properties of a BSP remain in the details panel after the BSP is deleted
Change 3019022 on 2016/06/19 by Richard.TalbotWatkin
Fixed issue where the Surface Properties category in the Details panel doesn't appear after selecting a surface on a Brush which has just been placed.
#jira UE-31916 - Selecting an edge of BSP geometry then a face does not show Surface Properties while in Place mode
#jira UE-31915 - Selecting BSP face does not show Surface Properties in Details
Change 3019025 on 2016/06/19 by Richard.TalbotWatkin
Fixed issue which was stopping 'Cancel' from correctly returning a 'Cancelled' result during P4 asynchronous ops.
#jira UE-28595 - Submit to Source Control: "Checking for assets to check in..." cancel button does not cancel operation, editor becomes unresponsive
Change 3020050 on 2016/06/20 by Cody.Albert
Changed window centering logic to correctly work when monitor 1 isn't set to primary monitor.
#jira UE-32173
Change 3021145 on 2016/06/21 by Jamie.Dale
Added support for text format argument modifiers
These can be used to mutate a format argument before appending it to the resultant formatted string, and are applied to the preceding argument via a pipe, eg) "{Arg}|plural(one=is,other=are)".
We provide a few of these by default:
- |plural(key=val,...)
- |ordinal(key=val,...)
Provides support for cardinal and ordinal plural forms, where key may be any of "one", "two", "few", "many", or "other", and val may be any optionally quoted string.
- |gender(masculine,feminine,[neuter])
Provides support for gender forms, where the 0th item is the masculine version, the 1st item is the feminine version, and the 2nd item is an optional neuter version. The values may be any optionally quoted string.
- |hpp(consonant,vowel)
Provides support for Hangul post-positions, where the 0th item is the consonant suffix, and the 1st item is the verb suffix. The values may be any optionally quoted string.
Major changes:
- Exposed the ICU plural form handling via FCulture::GetPluralForm.
- Updated the FText formatting code to use an expression evaluator (to support the more complex expressions needed for the argument modifiers).
- Added FTextFormat to store a pre-compiled format expression. Re-using one of these if you're performing a lot of formats with the same FText will increase your performance (as around half of the FText::Format cost can be compilation, via an implicit construction of FTextFormat).
- Updated the FText::Format(...) family of functions to take their format string as FTextFormat, and take their arguments as FFormatArgumentValue. This allows us access to the real numeric types within the format code, but doesn't break the existing API as these types are implicitly constructible from the old parameters (FText).
- Converted text history to store their format string as an FTextFormat in-case they need to perform a re-format (this is still saved as an FText).
Breaking changes:
- The rules for the escape token have been simplified, and there is an incredibly unlikely chance that this may affect some text:
- The ` character will now only escape a valid character (producing only the escaped character in the final string), or it will be ignored and inserted as a literal character, eg) "`{F" -> "{F", and "`F" -> "`F".
- Previously it would also remove the escape character when it followed { or }, eg) "{`" -> "{" and "}`" -> "}", rather than "{`" and "}`" like you might expect. It would also have previously removed a ` at the end of a string due to a parser bug.
Change 3021156 on 2016/06/21 by Jamie.Dale
Updated LinuxToolChain to use the same output delegate for all of its actions when cross-compiling
This avoids the compile and link actions being split into different batches.
Change 3021280 on 2016/06/21 by Richard.TalbotWatkin
Fixed bug in parsing LOD in UStaticMeshComponent::ImportCustomProperties (thanks to Aurelien Cordonnier).
#jira UE-31937 - UDN code submission for UStaticMeshComponent::ImportCustomProperties parsing bug
Change 3022949 on 2016/06/22 by Alex.Delesky
#jira UE-31944 - Upgrading Subversion binaries to version 1.9.4.
Change 3023092 on 2016/06/22 by Jamie.Dale
Downgraded some checks to ensures and added an early out
#jira UE-32009
Change 3023154 on 2016/06/22 by Jamie.Dale
Ported over CL# 3018771 to the UE automation
This fixes an issue where a downloaded PO file smaller than the one already on disk leaving a mix of both files on disk (rather than the existing file on disk being truncated).
Change 3023579 on 2016/06/22 by Jamie.Dale
Expanded the Blueprint FormatText node to support numeric and gender types
These are needed to correctly support the new plural and gender forms that can be used in format strings, as these require actual numeric/enum data to be passed into the format arguments, rather than pre-formatted text.
Major changes:
- The FormatText node for Blueprints now uses PC_Wildcard as its pin type for format arguments instead of PC_Text.
- Any existing literal text argument data in the pin is hoisted out into a "Make Literal Text" node which is then connected to the pin.
- FFormatArgumentData has been updated to be variant on the data needed by Blueprints. It's now a less comprehensive and non-unioned version of FFormatArgumentValue.
- The version of FText::Format taking FFormatArgumentData has been deprecated as its usage was internal to Blueprints and we have much better ways to format text in C++. Any existing C++ using that (of which we have none internally) should be updated to use FFormatArgumentValue instead.
Change 3023915 on 2016/06/22 by Jamie.Dale
Cleaned up some of the UK2Node_FormatText expansion code to avoid unchecked literals
Change 3024813 on 2016/06/23 by Jamie.Dale
Renamed FContext to FManifestContext to better reflect its purpose and avoid naming conflicts with other code
Change 3024852 on 2016/06/23 by Nick.Darnell
FBX - Updating automation tests with the changes to chunk and chunk index removal and them being merged with sections.
Change 3024994 on 2016/06/23 by Nick.Darnell
UMG - Removing the DesignerWidgetTree, instead going to directly inject the widget tree into the partially constructed UUserWidget during design time, when refreshing the preview. This avoids doing something a little dangerous and sketchy like updating the living class instance with a new designer tree that all new instances will begin biasing using. Also making the preview widget explictly non-transactional as there's no reason to track changes to the preview, all the changes that need to be tracked should be on the template widget. This should fix the crash in the widget designer when you Undo just after compiling the widget blueprint.
#jira UE-31155
Change 3025194 on 2016/06/23 by Alex.Delesky
#jira UE-31155 - Compilation error fix.
Change 3025255 on 2016/06/23 by Alex.Delesky
#jira UE-21900 - Redoing changes done in CL 2994431 since it got stomped. Reinstates the grabber handles and ensures consistent scaling on the scale widget in orthographic viewports.
Change 3025460 on 2016/06/23 by Cody.Albert
Fixed issue where widget components would misalign when aspect ratio was being constrained
#jira UE-29637
Change 3025508 on 2016/06/23 by Cody.Albert
Adding support for adjusting animation playback speed
#jira UE-32222
Change 3026444 on 2016/06/24 by Jamie.Dale
Fixed crash caused by bad access of shared this when closing an active IME context
This was only needed to get the owner window, which we now cache when the IME context is created.
#jira UE-32240
Change 3028358 on 2016/06/27 by Jamie.Dale
Fixed IMEs not working due to no window being cached
#jira UE-32240
Change 3028464 on 2016/06/27 by Alex.Delesky
#jira UE-31873 - A single "Files need check-out" notification will now be shown instead of multiple notifications if multiple files need to be checked out, and updated as more files need to be checked out.
Change 3028524 on 2016/06/27 by Chris.Wood
Switched off uploads to legacy Crash Report Receiver.
[UE-31252] - Switch off deprecated CRR upload in Crash Report Client
Also added CRC version string, added to crash context from CRC config
Change 3028840 on 2016/06/27 by Alexis.Matte
#jira UE-32306 replace material bad name character by an underscore when doing a scen import.
Change 3028924 on 2016/06/27 by Alexis.Matte
#jira UE-32125 Make sure we can add a plan when a fbx file is drop in the fbx automation test folder
Change 3029044 on 2016/06/27 by Alex.Delesky
#jira UE-31944 - Updating SVN binaries for Mac to 1.9.4
Change 3029276 on 2016/06/27 by Alex.Delesky
#jira UE-31531 - A user can now select the base class when creating a new physical material.
PR #2462: added dialog, which enables picking base class for asset (Contributed by iniside)
Change 3029459 on 2016/06/27 by Alexis.Matte
#jira UE-32354 Make sure we set all blueprint component to the correct mobility set in the scene import options.
Change 3030577 on 2016/06/28 by Nick.Darnell
PR #2531: Git plugin: fix wrong status icons (Contributed by SRombauts)
Change 3030587 on 2016/06/28 by Alexis.Matte
#jira UE-32251 add missing body setup variables when restoring the body setup value after a re-import of a staticmesh
Change 3030946 on 2016/06/28 by Alexis.Matte
#jira UE-32515 prevent crash when re-import staticmesh userdata
Change 3031115 on 2016/06/28 by Jamie.Dale
The DDC builder now gives the shader compile worker a chance to catch up when it pauses to run a GC pass
This prevents an issue where the shader backlog could cause massive amounts of memory to be consumed.
Change 3031146 on 2016/06/28 by Jamie.Dale
Fixed errors when building with USE_STABLE_LOCALIZATION_KEYS enabled caused by UEdGraphPin no longer being a UObject
Change 3031357 on 2016/06/28 by Nick.Darnell
PR #2431: Add plugin support to the editor class wizard. (Contributed by Koderz)
Change 3031515 on 2016/06/28 by Jamie.Dale
Fixed game targets not being able to depend on other game targets
Change 3031520 on 2016/06/28 by Jamie.Dale
Localization compilation now specifies an ArchiveName to use
Change 3031671 on 2016/06/28 by Nick.Darnell
Editor - Checking to see if a weak variable is valid before using it in the editor build window.
Change 3032013 on 2016/06/28 by Matt.Kuhlenschmidt
Added ability to invert the Y axis in editor viewports for mouse look and orbit
Change 3032495 on 2016/06/29 by Jamie.Dale
Fixed some measuring issues with bi-directional text within a right-flowed document
There were three main issues:
1) Measuring blocks was measuring visual glyphs rather than logical glyphs (this caused bad measures/wrapping and overlapped rendering).
2) The text layout would consider blocks visually contiguous without making sure the block flow direction matched the line flow direction (this caused bad highlights).
3) The text layout would fail to compensate for a non-contiguous block that had a flow direction different to the line flow direction (it was hard-coded for RTL in LTR, so broke for LTR in RTL - this caused bad highlights).
#jira UE-32526
Change 3032533 on 2016/06/29 by Nick.Darnell
UMG - The widget component now extends from UMeshComponent, it can have a custom material applied to it, in order to achieve cooler effects - like ignoring the depth buffer. Users who use this option are encouraged to start with the widget components default material and work from there. The widget component now offers the ability to automatically size the render target to be the desired size of the widget - note that this can go real bad if your widget wants to be really big.
Change 3032855 on 2016/06/29 by Alexis.Matte
#jira UE-32508 Remove the cachewindow from the FTextInputMethodContext constructor since it will be cache only when the IME is activated
#test please re-test also UE-32240
Change 3033145 on 2016/06/29 by Alex.Delesky
#jira UE-32239 - The PropertyEditorModule will no longer cause a crash on editor shutdown if a SDetailsView widget tries to force refresh itself when the Slate application is no longer initialized.
Change 3033147 on 2016/06/29 by Alex.Delesky
#jira UE-32326 - Clicking on the "Install {compiler}" button when trying to create a new code class or code project will now not crash the engine if it fails to open the installation file for write, nor will it create multiple notifications if the button is pressed repeatedly.
This also addresses a potential issue with static initialization order when it comes to adding TickableEditorObjects to its corresponding array, since it was wholly possible for a statically initialized TickableEditorObject to initialize itself and add itself to the tickable objects arra before the tickable objects array was initialized, causing that object to not get ticked at runtime and causing a crash when the editor was closed.
Change 3033162 on 2016/06/29 by Alex.Delesky
#jira UE-31827 - Undo/redo now works in the Material function editor.
Change 3033391 on 2016/06/29 by Matt.Kuhlenschmidt
Fix post process settings blendable picker not being readable in the details panel
Change 3033498 on 2016/06/29 by Matt.Kuhlenschmidt
Fixed huge number of redundant calls to CanEditChange and
DiffersFromDefault that were causing massive performance loss when
thousands of objects are selected. CanEditChange and DiffersFromDefault
are now cached each time a property value changes.
Fixed redundant calls for getting visualizers for each selected
object. This is now cached on selection
Change 3033504 on 2016/06/29 by Matt.Kuhlenschmidt
Fix Mass customization on the body instance not working with undo/redo or reset to default
Change 3034357 on 2016/06/30 by Alex.Delesky
#jira UE-31184 - Renamed the multiple collision components in the cascade particle system to more accurately reflect what they represent.
Change 3035915 on 2016/07/01 by Richard.TalbotWatkin
Fix to SListPanel so that those with horizontal arrangement (i.e. from STileView) use the number of desired items instead of the number of actual items in order to calculate the desired size of the geometry. This fixes the case where an STileView is contained within an SScrollBox.
#jira UE-32195 - STileView no longer works correctly when placed inside of a SScrollBox
Change 3035951 on 2016/07/01 by Richard.TalbotWatkin
Fixed issue when importing a brush, so that the brush is always validated (relinked), whether it be a static or dynamic brush. This is because the process of rebuilding a dynamic brush sets the link indices to signify FBspSurf indices from the UModel instead of FPoly indices (the FPoly::iLink member is overloaded in its meaning). Always forcing a relink correctly sets the linked list of coplanars.
#jira UE-32087 - Crash occurs when creating Static Mesh from Trigger Volume
Change 3036991 on 2016/07/04 by Alexis.Matte
#jira UETOOL-901 Scene importer now support the rigid mesh animation
Change 3037037 on 2016/07/04 by Jamie.Dale
Fixed regression in editable text box alignment
Text was no longer vertically aligned center since SEditableText was converted to use a text layout. This vertical alignment is now handled by the outer SEditableTextBox instead.
Change 3037057 on 2016/07/04 by Richard.TalbotWatkin
Fixed screenshots when running automation tests so that they are saved locally when a FAutomationWorkerScreenMessage is received.
#jira UE-29815 - In-game screenshot isn't working under certain circumstances
Change 3037082 on 2016/07/04 by Chris.Wood
Added detection of asserts and passing assert flag and crash type string to crash reports.
[UE-30592] - Crash Reporter should determine crash type on client and pass string to server
Reviewe by Steve with reservations about the static variable for setting asserted state. While not thread-aware, this is probably accurate enough for the purpose of crash reporting, certainly for now. I'm submitting it like this because the work required to add fully thread-aware fix is not necessary at this point.
Change 3037095 on 2016/07/04 by Alexis.Matte
Fix the bone name when duplicating a socket.
Change 3037453 on 2016/07/05 by Stephan.Jiang
Adding ability to animate the root wigdet #2
FHierarchyRoot adds the preview widget instead of CDO to selectedobjects in widgetblueprint
the properties are then migrated back to the CDO
#UE 31810
Change 3037487 on 2016/07/05 by Jamie.Dale
Fixed crash caused by stale BP pointer
#jira UE-32325
Change 3037488 on 2016/07/05 by Jamie.Dale
Fixed a crash that could occur when a class and a folder had the same name
Change 3037526 on 2016/07/05 by Jamie.Dale
Speculative fix for a potential race condition when shutting down the editor while a "launch" was in progress
The launch-thread could potentially queue up a request after the game-thread had requested it cancel, and cleared out any queued tasks. This change has the game-thread wait for the launch-thread to acknowledge its cancellation before continuing with editor shutdown.
#jira UE-17688
Change 3037557 on 2016/07/05 by Alex.Delesky
#jira UE-32424 - Added a safeguard to ensure that renaming a world that was duplicated from another world would not crash the editor if both worlds' lightmaps and shadowmaps were still active in memory, due to the editor attempting to rename identical textures from different packages to the same location.
The actual fix to this issue was performed in an earlier CL, but this should prevent the editor from crashing if the issue returns.
Change 3037558 on 2016/07/05 by Alex.Delesky
#jira UE-32285 - Importing assets to the Content Browser via drag and drop operations are no longer permitted while the UI file picker dialog is opened.
Change 3037559 on 2016/07/05 by Alex.Delesky
#jira UE-32075 - The user can no longer attempt to import non-FBX and non-OBJ files when importing into a level.
Change 3037593 on 2016/07/05 by Stephan.Jiang
GitHub #2549: Add function for setting the playback rate of UMG animations
original code shelved in CL 3033449
#UE-32653
Change 3037605 on 2016/07/05 by Jamie.Dale
Fixed infinite recursion that could happen when gather loc from an object with a custom callback
#jira UE-32670
Change 3037649 on 2016/07/05 by Nick.Darnell
PR #2538: [WidgetBlueprintLibrary] GetAllWidgetsOfClass, Added META ~ DeterminesOutputType, DynamicOutputParam, removes the need for extra cast, Rama (Contributed by EverNewJoy)
Change 3037652 on 2016/07/05 by Nick.Darnell
Clean - Removing commented out code.
Change 3037658 on 2016/07/05 by Matt.Kuhlenschmidt
Fix initial hitch when dragging around in a color picker opened from a material expression node.
Change 3037679 on 2016/07/05 by Nick.Darnell
Engine - Texture2D no longer forces the MIP level to 0 for TextureGroup_UI textures.
Change 3037757 on 2016/07/05 by Nick.Darnell
PR #2447: WebBrowser widget: Added GetUrl method and OnUrlChanged property (Contributed by nelbok)
Change 3037840 on 2016/07/05 by Nick.Darnell
UMG - Now allowing for spirtes to be used just like textures and materials on UMG widgets anywhere that takes a brush, can now also take a Sprite. There is now a ISlateTextureAtlasInterface interface that any UObject may now implement if it wishes to integrate with UMG to provide its atlas data in a form Slate can understand.
Change 3037924 on 2016/07/05 by Jamie.Dale
Re-ordered variable initialization to appease a warning on Mac
Change 3037981 on 2016/07/05 by Jamie.Dale
Fixed crash where FColorStructCustomization could call SetPerObjectValues with an empty array
#jira UE-32639
Change 3038075 on 2016/07/05 by Cody.Albert
Removed misleading error message in HandleCECommand
#jira 28007
Change 3038231 on 2016/07/05 by Alexis.Matte
#jira UE-30694 We set the section collision only if there is an imported collision or a generated one. If there is no collision we do not set the collision flag.
Change 3038275 on 2016/07/05 by Alex.Delesky
#jira UE-32689 - "Game Gets Mouse Control" will now override the Capture Mouse on Launch setting when launching the game from within a Level Viewport (i.e., within the editor window itself).
Change 3039310 on 2016/07/06 by Trung.Le
#jira UE-25005 Change PIE Key Bindings
- Removed Shift+F1 and Esc from BaseInput.ini
- Created new customizable key binding for
+ Shift+F1: same functionality.
+ Esc: now will pause the play session and bring back the mouse cursor. Clicking the mouse on the viewport should resume play session.
+ Shift+Esc: now will stop the play session
Change 3039458 on 2016/07/06 by Trung.Le
Removed unused code in StaticMeshLight.cpp
Change 3039827 on 2016/07/06 by Frank.Fella
FString - Fix divide overload path concatenation for empty paths since there are several places in the engine that expect using that doing { path / "" } will append a / onto path.
#jira UE-31959
Change 3041094 on 2016/07/07 by Nick.Darnell
WebBrowser - Fixing an issue where the web browser widget plugin wasn't loading soon enough to be properly loaded in time if it was referenced by game nessesary content thatloads in the Default stage of the pipeline, so moving it to PreDefault.
#jira UE-32694
Change 3041110 on 2016/07/07 by Matt.Kuhlenschmidt
Fix visualizers on blueprint actors not working when the internal components are trashed and replaced
Change 3041302 on 2016/07/07 by Chris.Wood
Increased buffer size for crash uploads.
[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack
Trivial change in dev branch - no code review
Change 3041969 on 2016/07/07 by Nick.Darnell
UMG - Input Key Selector now no longer adds a bogus Selected Key property to the details panel.
Change 3041971 on 2016/07/07 by Nick.Darnell
UMG - Not using separate settings for the Engine/Developer folders visible in the UMG palette, now just using the same setting that powers the content browser.
Change 3042612 on 2016/07/08 by Trung.Le
#jira UE-25005, set Shift+Esc defaults to toggle play/pause and Esc remains defaults to quit
Change 3042732 on 2016/07/08 by mitchell.wilson
Adding test content for UMG Paper 2d Atlas test
Change 3042780 on 2016/07/08 by mitchell.wilson
Updating UMG_Paper2d test content for UMG Paper 2d Atlas testing
Change 3042870 on 2016/07/08 by mitchell.wilson
Renaming UMG_Paper2d to UMG_Sprite
Change 3044104 on 2016/07/10 by Nick.Darnell
PR #2104: Improved widget input support (Contributed by projectgheist)
Change 3044107 on 2016/07/10 by Nick.Darnell
Slate - Fixing the slider handle rendering to no longer run off the edge and get cut off.
#jira UE-25750
Change 3044377 on 2016/07/11 by Chris.Wood
Add Slack messaging module - Epic Friday
Change 3044536 on 2016/07/11 by Alex.Delesky
#jira UE-7293 - Mouse locking to viewport is now determined off an enum instead of a boolean, to allow for more flexibility when upgrading with new features.
Change 3044922 on 2016/07/11 by Nick.Darnell
Slate/UMG - Working on better support for VR interactions with Slate widgets. This change fixes a lot of issues with the way interaction works with slate widgets rendered in the virtual world. Breakages, direct mouse interaction with widgets in the virtual world is no longer supported. Those kinds of interactions must all use the WidgetInteractionComponent now, which by default works similar to the lasers in VREditor for interaction. However - you can disable automatic hittesting, and instead provide a custom hitresult instead if you want to use screen tracing and act like you're just a mouse cursor that is supported. Menu anchors now properly function inside of widgets in the virtual world. Performance improvements - the viewport no longer arranges all 3d widgets every frame. Additionally, Widget Components now support a whole bunch of methods for reducing how often they redraw to help control performance, they also support manual refresh. This automatically works in tandem with the widget interaction component to request refresh whenever the widget interaction component is interacting with the widget, thus giving you a simple way to only redraw widgets that the user is hovering on top of. Unrelated - this change also fixes Stop navigation commands not working with Next/Prev navigation - Wrap is still unsupported.
Change 3045157 on 2016/07/11 by Nick.Darnell
Slate - Always consume the bottom face button of the analog cursor, even if it's a repeat.
Change 3045355 on 2016/07/11 by Matt.Kuhlenschmidt
Added logging for unreproducible top 10 crash in matinee when a track ends up not being able to add a keyframe
Change 3045358 on 2016/07/11 by Alex.Delesky
#jira UE-31179 - The editor should now log additional information and hit an assertion if the editor tries to construct FObjectOrAssetData using invalid data. This doesn't stop the crash, but should help get some extra info when it does break.
Change 3045371 on 2016/07/11 by Matt.Kuhlenschmidt
Enable the widget reflector from the editor console by typing "widgetreflector"
Change 3045387 on 2016/07/11 by Stephan.Jiang
Stripping off 'b' in the propertyname so that "Is Enabled" is animated properly.
#UE-31874
Change 3046093 on 2016/07/12 by Nick.Darnell
UMG - The Slider now exposes the IsFocusable option from Slate.
#jira UE-32960
Change 3046094 on 2016/07/12 by Alexis.Matte
#jira UE-32807 scene re-import blueprint hierarchy kept some part of old blueprint component value.
Change 3046104 on 2016/07/12 by Stephan.Jiang
typo "Syc" causing the "Sync" button doesn't show Slateicon
#UE-31409
Change 3046142 on 2016/07/12 by Nick.Darnell
Orion - Upgrading more code to use the new input mode functions and not the deprecated ones.
Change 3046165 on 2016/07/12 by Nick.Darnell
UMG - Fixing a crash on the widget component if the render target is null when reapplied through widget component data.
#jira UE-32844
Change 3046255 on 2016/07/12 by Nick.Darnell
UT - More build warning fixes for the new Input Mode methods.
Change 3046604 on 2016/07/12 by Richard.Hinckley
Adding a template file and code to support creating a UInterface directly from the New C++ Class wizard.
Change 3047071 on 2016/07/12 by Matt.Kuhlenschmidt
Better way of summoning the widget reflector from the console
Change 3047842 on 2016/07/13 by Matt.Kuhlenschmidt
Mark Subdivision surface setting as advanced since it is experimental and definitely for advanced users only
Change 3048754 on 2016/07/13 by Trung.Le
#jira UE-32159 Automatically regain focus after user gets mouse control during PIE session so we can continue process PIE keybinding commands
Change 3048756 on 2016/07/13 by Trung.Le
Removed default toggle pause/play keybinding from BaseInput.ini, instead we should use the action defined in DebuggerCommands that is customizable
Change 3048865 on 2016/07/13 by Trung.Le
#jira UE-32159 SGlobalPlayWorldActions widget shouldn't clear out active widget pointer when it's being handled properly
Change 3048892 on 2016/07/13 by Nick.Darnell
UMG - Fixing a problem with the interaction component, it now does some basic intelligent ignoring of anything it's attached to - excluding widget components. So it's easier to attach it to things that might be inside of a say a player collision capsule. Also removing the 'Max Interaction Distance' from the widget component as that is no longer the arbitor of interaction distance.
#jira UE-33250
Change 3049096 on 2016/07/13 by Trung.Le
Wrap SGlobalPlayActions around ViewportWidget instead of making it a child of ViewportWidget. This was causing PIE to stop working when there are other UMG in game.
#jira UE-33259
Change 3049177 on 2016/07/13 by Stephan.Jiang
Fixing the "No Animation Selected" tag shows up after switching back from Graph to Designer.
#UE-33016
Change 3049726 on 2016/07/14 by Stephan.Jiang
Adding icons for terrain mirror tool
#UE-20588
Change 3049957 on 2016/07/14 by Nick.Darnell
Slate - Fixing a small bug in the virtual user function - was preventing getting the same virtual user multiple times if it had already been created. Adding an option to the widget component to control the focusabilty of the underlying slate window that's created to host the widget content. Adding an option to the widget interaction component to control if it should be simulating mouse input at all - use this to effectively disable hit testing, and changing hover states and the like.
Change 3049994 on 2016/07/14 by Stephan.Jiang
Set viewed animtion to current animtion after switching from Graph to Designer
(This is for "No Animation Selected" showing up when switching)
#UE-33016
Change 3050194 on 2016/07/14 by Stephan.Jiang
Added ability to replace the widget the track is currently bound to
Also includes changes in WidgetBlueprintEditor to send delegate to AnimationtabSummoner when switching from Graph to Designer
#UE-31809
[CL 3050870 by Matt Kuhlenschmidt in Main branch]
2016-07-14 19:07:16 -04:00
PickerArgs . bOnlyRefreshOnMouseUp = true ;
2014-09-25 17:33:36 -04:00
PickerArgs . bExpandAdvancedSection = true ;
2014-03-14 14:13:41 -04:00
PickerArgs . DisplayGamma = TAttribute < float > : : Create ( TAttribute < float > : : FGetter : : CreateUObject ( GEngine , & UEngine : : GetDisplayGamma ) ) ;
PickerArgs . ColorChannelsArray = & Channels ;
PickerArgs . OnColorCommitted = FOnLinearColorValueChanged : : CreateSP ( this , & FMaterialEditor : : OnColorPickerCommitted ) ;
PickerArgs . PreColorCommitted = FOnLinearColorValueChanged : : CreateSP ( this , & FMaterialEditor : : PreColorPickerCommit ) ;
OpenColorPicker ( PickerArgs ) ;
}
UMaterialExpressionTextureSample * TextureExpression = Cast < UMaterialExpressionTextureSample > ( GraphNode - > MaterialExpression ) ;
UMaterialExpressionTextureSampleParameter * TextureParameterExpression = Cast < UMaterialExpressionTextureSampleParameter > ( GraphNode - > MaterialExpression ) ;
UMaterialExpressionMaterialFunctionCall * FunctionExpression = Cast < UMaterialExpressionMaterialFunctionCall > ( GraphNode - > MaterialExpression ) ;
UMaterialExpressionCollectionParameter * CollectionParameter = Cast < UMaterialExpressionCollectionParameter > ( GraphNode - > MaterialExpression ) ;
TArray < UObject * > ObjectsToView ;
UObject * ObjectToEdit = NULL ;
if ( TextureExpression & & TextureExpression - > Texture )
{
ObjectsToView . Add ( TextureExpression - > Texture ) ;
}
else if ( TextureParameterExpression & & TextureParameterExpression - > Texture )
{
ObjectsToView . Add ( TextureParameterExpression - > Texture ) ;
}
else if ( FunctionExpression & & FunctionExpression - > MaterialFunction )
{
ObjectToEdit = FunctionExpression - > MaterialFunction ;
}
else if ( CollectionParameter & & CollectionParameter - > Collection )
{
ObjectToEdit = CollectionParameter - > Collection ;
}
if ( ObjectsToView . Num ( ) > 0 )
{
GEditor - > SyncBrowserToObjects ( ObjectsToView ) ;
}
if ( ObjectToEdit )
{
FAssetEditorManager : : Get ( ) . OpenEditorForAsset ( ObjectToEdit ) ;
}
}
}
void FMaterialEditor : : OnNodeTitleCommitted ( const FText & NewText , ETextCommit : : Type CommitInfo , UEdGraphNode * NodeBeingChanged )
{
if ( NodeBeingChanged )
{
const FScopedTransaction Transaction ( LOCTEXT ( " RenameNode " , " Rename Node " ) ) ;
NodeBeingChanged - > Modify ( ) ;
NodeBeingChanged - > OnRenameNode ( NewText . ToString ( ) ) ;
}
}
2015-06-10 13:53:25 -04:00
bool FMaterialEditor : : OnVerifyNodeTextCommit ( const FText & NewText , UEdGraphNode * NodeBeingChanged , FText & OutErrorMessage )
{
bool bValid = true ;
UMaterialGraphNode * MaterialNode = Cast < UMaterialGraphNode > ( NodeBeingChanged ) ;
if ( MaterialNode & & MaterialNode - > MaterialExpression & & MaterialNode - > MaterialExpression - > IsA < UMaterialExpressionParameter > ( ) )
{
if ( NewText . ToString ( ) . Len ( ) > NAME_SIZE )
{
OutErrorMessage = FText : : Format ( LOCTEXT ( " MaterialEditorExpressionError_NameTooLong " , " Parameter names must be less than {0} characters " ) , FText : : AsNumber ( NAME_SIZE ) ) ;
bValid = false ;
}
}
return bValid ;
}
2015-03-17 11:36:28 -04:00
FReply FMaterialEditor : : OnSpawnGraphNodeByShortcut ( FInputChord InChord , const FVector2D & InPosition , UEdGraph * InGraph )
2014-03-14 14:13:41 -04:00
{
UEdGraph * Graph = InGraph ;
2015-03-17 11:36:28 -04:00
TSharedPtr < FEdGraphSchemaAction > Action = FMaterialEditorSpawnNodeCommands : : Get ( ) . GetGraphActionByChord ( InChord , InGraph ) ;
2014-03-14 14:13:41 -04:00
if ( Action . IsValid ( ) )
{
TArray < UEdGraphPin * > DummyPins ;
Action - > PerformAction ( Graph , DummyPins , InPosition ) ;
return FReply : : Handled ( ) ;
}
return FReply : : Unhandled ( ) ;
}
2014-04-23 20:20:58 -04:00
void FMaterialEditor : : UpdateStatsMaterials ( )
2014-03-14 14:13:41 -04:00
{
2014-04-23 20:20:58 -04:00
if ( bShowBuiltinStats & & bStatsFromPreviewMaterial )
{
UMaterial * StatsMaterial = Material ;
FString EmptyMaterialName = FString ( TEXT ( " MEStatsMaterial_Empty_ " ) ) + Material - > GetName ( ) ;
EmptyMaterial = ( UMaterial * ) StaticDuplicateObject ( Material , GetTransientPackage ( ) , * EmptyMaterialName , ~ RF_Standalone , UPreviewMaterial : : StaticClass ( ) ) ;
2014-03-14 14:13:41 -04:00
2014-04-23 20:20:58 -04:00
EmptyMaterial - > SetFeatureLevelToCompile ( ERHIFeatureLevel : : ES2 , bShowMobileStats ) ;
EmptyMaterial - > Expressions . Empty ( ) ;
//Disconnect all properties from the expressions
for ( int32 PropIdx = 0 ; PropIdx < MP_MAX ; + + PropIdx )
{
FExpressionInput * ExpInput = EmptyMaterial - > GetExpressionInputForProperty ( ( EMaterialProperty ) PropIdx ) ;
2014-10-08 15:27:19 -04:00
if ( ExpInput )
{
ExpInput - > Expression = NULL ;
}
2014-04-23 20:20:58 -04:00
}
EmptyMaterial - > bAllowDevelopmentShaderCompile = Material - > bAllowDevelopmentShaderCompile ;
EmptyMaterial - > PreEditChange ( NULL ) ;
EmptyMaterial - > PostEditChange ( ) ;
2014-04-23 17:43:00 -04:00
}
2014-03-14 14:13:41 -04:00
}
# undef LOCTEXT_NAMESPACE