summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorZerophase2019-09-06 18:55:06 -0500
committerZerophase2019-09-06 19:08:36 -0500
commitd6698a2c50090931be6374c4a2c701810876eb5b (patch)
tree7dbe4a91794b5b0ab27ffc30871e1baa9c72efd3
parentb1fb64f2e510850b18ce8407aa1ef7763734f9da (diff)
downloadaur-d6698a2c50090931be6374c4a2c701810876eb5b.tar.gz
Update to 4.23.0
-rw-r--r--.SRCINFO14
-rw-r--r--0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch29
-rw-r--r--0002-fixes-shadowing-issues-with-enums.patch2190
-rw-r--r--PKGBUILD19
-rw-r--r--clang-70-support.patch327
-rw-r--r--html5-build.patch11
-rw-r--r--use-arch-mono.patch25
7 files changed, 11 insertions, 2604 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4b649dbde99..a8b04a43b4b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = unreal-engine
pkgdesc = A 3D game engine by Epic Games which can be used non-commercially for free.
- pkgver = 4.22.3
+ pkgver = 4.23.0
pkgrel = 1
url = https://www.unrealengine.com/
install = unreal-engine.install
@@ -18,26 +18,18 @@ pkgbase = unreal-engine
depends = xdg-user-dirs
options = strip
options = staticlibs
- source = git+ssh://git@github.com/EpicGames/UnrealEngine.git#tag=4.22.3-release
+ source = git+ssh://git@github.com/EpicGames/UnrealEngine.git#tag=4.23.0-release
source = UE4Editor.desktop
- source = html5-build.patch
source = recompile-version-selector.patch
source = Makefile
source = ignore-clang50-install.patch
source = use-arch-mono.patch
- source = clang-70-support.patch
- source = 0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch
- source = 0002-fixes-shadowing-issues-with-enums.patch
sha256sums = SKIP
sha256sums = 46871ed662a3c97698be609d27da280d9000ec97183f1fa6592986f9910a2118
- sha256sums = 9fd6d16d56fbe0489a2580b86359df84b83a6987b5760a9e57ae0898f51943ac
sha256sums = 1dd876fa48c6fb4fcd4ccbdb8ed4ceccfa294685911e91be58bbc5e95726c279
sha256sums = 9654226ef3318389aa8fe15f3d4d14e7ac2113520ee5ebf2899d42273a2a6fb0
sha256sums = 71a7304deebb00234c323eed9a73cdbd022099ba65f62fc90e78069eceed1f5d
- sha256sums = c2a8ba1aba8fbda51270ec49e745ffba96e89cd627efe0d6a801d7629494a620
- sha256sums = 5d86920545fa341a7ae39f198bab61ef2e41b165f41805c2b64c137599eff61e
- sha256sums = 926c513cc59dcbde0dbac44b6201089a0381ea992ef3353919c049a25fa6c364
- sha256sums = 871e1a95f1761a613cfc2f0209f22e4afbacd102f2d3239bf27e3b16202e28ad
+ sha256sums = 6b30adf71eeabaf1b2b669aa56c9deba145a4fe7bdd2e77f44b0cb7423162bc0
pkgname = unreal-engine
diff --git a/0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch b/0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch
deleted file mode 100644
index 355e4d792cb..00000000000
--- a/0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7fc25807e40a76c31e2a11ceb19b136c0baf68bd Mon Sep 17 00:00:00 2001
-From: Zerophase <mikelojkovic@gmail.com>
-Date: Fri, 14 Jun 2019 14:20:26 -0500
-Subject: [PATCH 1/2] Updates UBT Linux tool chain for supporting clang 8
-
----
- .../Platform/Linux/LinuxToolChain.cs | 26 +++++++++----------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-index 3665228dd4b..de4346698a2 100644
---- a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-@@ -176,10 +176,10 @@ namespace UnrealBuildTool
- throw new BuildException("Unable to build: no compatible clang version found. Please run Setup.sh");
- }
- // prevent unknown clangs since the build is likely to fail on too old or too new compilers
-- else if ((CompilerVersionMajor * 10 + CompilerVersionMinor) > 70 || (CompilerVersionMajor * 10 + CompilerVersionMinor) < 60)
-+ else if ((CompilerVersionMajor * 10 + CompilerVersionMinor) > 80 || (CompilerVersionMajor * 10 + CompilerVersionMinor) < 60)
- {
- throw new BuildException(
-- string.Format("This version of the Unreal Engine can only be compiled with clang 7.0 and 6.0. clang {0} may not build it - please use a different version.",
-+ string.Format("This version of the Unreal Engine can only be compiled with clang 8.0, 7.0, and 6.0. clang {0} may not build it - please use a different version.",
- CompilerVersionString)
- );
- }
---
-2.22.0
-
diff --git a/0002-fixes-shadowing-issues-with-enums.patch b/0002-fixes-shadowing-issues-with-enums.patch
deleted file mode 100644
index 4fb9c09175d..00000000000
--- a/0002-fixes-shadowing-issues-with-enums.patch
+++ /dev/null
@@ -1,2190 +0,0 @@
-From 7d402476104b7611b2ff7ed0770d9e8282c572a3 Mon Sep 17 00:00:00 2001
-From: Zerophase <mikelojkovic@gmail.com>
-Date: Fri, 14 Jun 2019 14:20:51 -0500
-Subject: [PATCH 2/2] fixes shadowing issues with enums
-
----
- .../Private/SpeedTreeImportFactory.cpp | 4 +-
- .../AlembicLibrary/Private/AbcImporter.cpp | 2 +-
- .../ProceduralMeshComponentDetails.cpp | 2 +-
- /* .../Private/HierarchicalLODUtilities.cpp | 2 +- */
- .../Private/MeshMergeUtilities.cpp | 2 +-
- .../Private/ProxyGenerationProcessor.cpp | 2 +-
- .../MeshUtilities/Private/MeshUtilities.cpp | 6 +-
- .../Profiler/Private/ProfilerDataSource.cpp | 57 ++++----
- .../Profiler/Private/ProfilerDataSource.h | 18 +--
- .../Profiler/Private/Widgets/SDataGraph.cpp | 2 +-
- .../Profiler/Private/Widgets/SEventGraph.cpp | 47 +++----
- .../MaterialEditor/Private/MaterialEditor.cpp | 22 +--
- ...erialEditorInstanceDetailCustomization.cpp | 6 +-
- .../Private/MaterialPropertyHelpers.cpp | 8 +-
- .../Private/SMaterialLayersFunctionsTree.cpp | 4 +-
- .../Source/Editor/Matinee/Private/Matinee.cpp | 42 +++---
- .../Editor/Matinee/Private/MatineeActions.h | 4 +-
- .../Editor/Matinee/Private/MatineeMenus.cpp | 78 +++++------
- .../Private/Factories/EditorFactories.cpp | 4 +-
- .../Private/Fbx/FbxStaticMeshImport.cpp | 2 +-
- .../UnrealEd/Private/StaticMeshEdit.cpp | 8 +-
- .../MaterialFunctionThumbnailRenderer.cpp | 4 +-
- .../VREditor/Public/VREditorInteractor.h | 21 +--
- .../Editor/VREditor/VREditorInteractor.cpp | 16 +--
- .../Tiles/WorldTileCollectionModel.cpp | 2 +-
- .../Runtime/Engine/Classes/Engine/Engine.h | 77 ++++++-----
- .../Engine/Classes/Engine/StaticMesh.h | 126 +++++++++---------
- .../Classes/Materials/MaterialFunction.h | 4 +-
- .../Materials/MaterialFunctionInstance.h | 4 +-
- .../Materials/MaterialFunctionInterface.h | 19 +--
- .../Components/StaticMeshComponent.cpp | 2 +-
- .../Runtime/Engine/Private/GameInstance.cpp | 2 +-
- .../Engine/Private/GameViewportClient.cpp | 12 +-
- .../Private/Materials/MaterialExpressions.cpp | 10 +-
- .../Runtime/Engine/Private/PendingNetGame.cpp | 2 +-
- .../Runtime/Engine/Private/StaticMesh.cpp | 2 +-
- .../Runtime/Engine/Private/UnrealEngine.cpp | 18 +--
- .../Private/MovieSceneSequencePlayer.cpp | 10 +-
- .../Public/MovieSceneSequencePlayer.h | 5 +-
- .../Private/Common/StatsCollector.h | 2 +-
- .../OpenGLDrv/Private/OpenGLUniformBuffer.cpp | 2 +-
- .../OpenGLDrv/Private/OpenGLVertexBuffer.cpp | 2 +-
- .../Source/Runtime/OpenGLDrv/Public/OpenGL.h | 2 +-
- .../Source/Runtime/OpenGLDrv/Public/OpenGL3.h | 10 +-
- .../OpenGLDrv/Public/OpenGLResources.h | 4 +-
- 45 files changed, 347 insertions(+), 333 deletions(-)
-
-diff --git a/Engine/Plugins/Editor/SpeedTreeImporter/Source/SpeedTreeImporter/Private/SpeedTreeImportFactory.cpp b/Engine/Plugins/Editor/SpeedTreeImporter/Source/SpeedTreeImporter/Private/SpeedTreeImportFactory.cpp
-index 5fd4228a025..8520f493dd1 100644
---- a/Engine/Plugins/Editor/SpeedTreeImporter/Source/SpeedTreeImporter/Private/SpeedTreeImportFactory.cpp
-+++ b/Engine/Plugins/Editor/SpeedTreeImporter/Source/SpeedTreeImporter/Private/SpeedTreeImportFactory.cpp
-@@ -1973,7 +1973,7 @@ UObject* USpeedTreeImportFactory::FactoryCreateBinary7(UClass* InClass, UObject*
- }
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- StaticMesh->Build();
-
-@@ -2347,7 +2347,7 @@ UObject* USpeedTreeImportFactory::FactoryCreateBinary8(UClass* InClass, UObject*
- }
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
- StaticMesh->Build();
-
- // collision objects
-diff --git a/Engine/Plugins/Experimental/AlembicImporter/Source/AlembicLibrary/Private/AbcImporter.cpp b/Engine/Plugins/Experimental/AlembicImporter/Source/AlembicLibrary/Private/AbcImporter.cpp
-index cfca9a9955a..9d52334ebf9 100644
---- a/Engine/Plugins/Experimental/AlembicImporter/Source/AlembicLibrary/Private/AbcImporter.cpp
-+++ b/Engine/Plugins/Experimental/AlembicImporter/Source/AlembicLibrary/Private/AbcImporter.cpp
-@@ -247,7 +247,7 @@ UStaticMesh* FAbcImporter::CreateStaticMeshFromSample(UObject* InParent, const F
- StaticMesh->CommitMeshDescription(LODIndex);
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- // Build the static mesh (using the build setting etc.) this generates correct tangents using the extracting smoothing group along with the imported Normals data
- StaticMesh->Build(false);
-diff --git a/Engine/Plugins/Runtime/ProceduralMeshComponent/Source/ProceduralMeshComponentEditor/Private/ProceduralMeshComponentDetails.cpp b/Engine/Plugins/Runtime/ProceduralMeshComponent/Source/ProceduralMeshComponentEditor/Private/ProceduralMeshComponentDetails.cpp
-index 68bd724e6bc..f48097656cf 100644
---- a/Engine/Plugins/Runtime/ProceduralMeshComponent/Source/ProceduralMeshComponentEditor/Private/ProceduralMeshComponentDetails.cpp
-+++ b/Engine/Plugins/Runtime/ProceduralMeshComponent/Source/ProceduralMeshComponentEditor/Private/ProceduralMeshComponentDetails.cpp
-@@ -269,7 +269,7 @@ FReply FProceduralMeshComponentDetails::ClickedOnConvertToStaticMesh()
- }
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- // Build mesh from source
- StaticMesh->Build(false);
-/* diff --git a/Engine/Source/Developer/HierarchicalLODUtilities/Private/HierarchicalLODUtilities.cpp b/Engine/Source/Developer/HierarchicalLODUtilities/Private/HierarchicalLODUtilities.cpp */
-/* index 1fd032e63ef..c58bade5ae7 100644 */
-/* --- a/Engine/Source/Developer/HierarchicalLODUtilities/Private/HierarchicalLODUtilities.cpp */
-/* +++ b/Engine/Source/Developer/HierarchicalLODUtilities/Private/HierarchicalLODUtilities.cpp */
-/* @@ -312,7 +312,7 @@ UStaticMesh* CreateImposterStaticMesh(UStaticMeshComponent* InComponent, UMateri */
- /* StaticMesh->StaticMaterials = { InMaterial }; */
-
- /* //Set the Imported version before calling the build */
-/* - StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion; */
-/* + StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion; */
-
- /* StaticMesh->PostEditChange(); */
-
-diff --git a/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeUtilities.cpp b/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeUtilities.cpp
-index f787722bb03..cc5b4e8e69f 100644
---- a/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeUtilities.cpp
-+++ b/Engine/Source/Developer/MeshMergeUtilities/Private/MeshMergeUtilities.cpp
-@@ -2574,7 +2574,7 @@ void FMeshMergeUtilities::MergeComponentsToStaticMesh(const TArray<UPrimitiveCom
- StaticMesh->OriginalSectionInfoMap.CopyFrom(SectionInfoMap);
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
- StaticMesh->LightMapResolution = InSettings.bComputedLightMapResolution ? DataTracker.GetLightMapDimension() : InSettings.TargetLightMapResolution;
-
- #if WITH_EDITOR
-diff --git a/Engine/Source/Developer/MeshMergeUtilities/Private/ProxyGenerationProcessor.cpp b/Engine/Source/Developer/MeshMergeUtilities/Private/ProxyGenerationProcessor.cpp
-index 7f04aaaaafd..c8cfdd6bc56 100644
---- a/Engine/Source/Developer/MeshMergeUtilities/Private/ProxyGenerationProcessor.cpp
-+++ b/Engine/Source/Developer/MeshMergeUtilities/Private/ProxyGenerationProcessor.cpp
-@@ -277,7 +277,7 @@ void FProxyGenerationProcessor::ProcessJob(const FGuid& JobGuid, FProxyGeneratio
- }
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- // setup section info map
- TPolygonGroupAttributesConstRef<FName> PolygonGroupImportedMaterialSlotNames = Data->RawMesh.PolygonGroupAttributes().GetAttributesRef<FName>(MeshAttribute::PolygonGroup::ImportedMaterialSlotName);
-diff --git a/Engine/Source/Developer/MeshUtilities/Private/MeshUtilities.cpp b/Engine/Source/Developer/MeshUtilities/Private/MeshUtilities.cpp
-index 79adce36b1d..3d45f78ba64 100644
---- a/Engine/Source/Developer/MeshUtilities/Private/MeshUtilities.cpp
-+++ b/Engine/Source/Developer/MeshUtilities/Private/MeshUtilities.cpp
-@@ -561,7 +561,7 @@ UStaticMesh* FMeshUtilities::ConvertMeshesToStaticMesh(const TArray<UMeshCompone
- }
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- // Set light map coordinate index to match DstLightmapIndex
- StaticMesh->LightMapCoordinateIndex = LightMapIndex;
-@@ -2309,7 +2309,7 @@ void FMeshUtilities::BuildStaticMeshVertexAndIndexBuffers(
-
- // Put the indices in the material index buffer.
- uint32 SectionIndex = 0;
-- if (ImportVersion < RemoveStaticMeshSkinxxWorkflow)
-+ if (ImportVersion < StaticMesh::RemoveStaticMeshSkinxxWorkflow)
- {
- SectionIndex = FMath::Clamp(RawMesh.FaceMaterialIndices[FaceIndex], 0, OutPerSectionIndices.Num() - 1);
- }
-@@ -2715,7 +2715,7 @@ public:
- const int32 MaterialIndex = MaterialIndices[Index];
- FStaticMeshSection* Section = new(LODModel.Sections) FStaticMeshSection();
- Section->MaterialIndex = MaterialIndex;
-- if (ImportVersion < RemoveStaticMeshSkinxxWorkflow)
-+ if (ImportVersion < StaticMesh::RemoveStaticMeshSkinxxWorkflow)
- {
- MaterialToSectionMapping.Add(MaterialIndex, MaterialIndex);
- }
-diff --git a/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.cpp b/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.cpp
-index daefe07c24b..c1200bd4e9b 100644
---- a/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.cpp
-+++ b/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.cpp
-@@ -27,7 +27,7 @@ const int32 FTimeAccuracy::_FPS120 = 120;
- FGraphDataSource::FGraphDataSource( const TSharedRef<FProfilerSession>& InProfilerSession, const uint32 InStatID )
- : FGraphDataSourceDescription( InStatID )
- , ThisCachedDataByIndex()
-- , ThisCachedDataByTime( FTimeAccuracy::FPS060 )
-+ , ThisCachedDataByTime( FTimeAccuracy::Type::FPS060 )
- , ProfilerSession( InProfilerSession )
- {
- const TSharedRef<FProfilerStatMetaData> MetaData = ProfilerSession->GetMetaData();
-@@ -220,7 +220,7 @@ FName FEventGraphConsts::FakeRoot = TEXT("FakeRoot");
- FEventGraphSample
- -----------------------------------------------------------------------------*/
-
--FEventProperty FEventGraphSample::Properties[ EEventPropertyIndex::InvalidOrMax ] =
-+FEventProperty FEventGraphSample::Properties[ (int)EEventPropertyIndex::InvalidOrMax ] =
- {
- // Properties
- FEventProperty( EEventPropertyIndex::StatName, TEXT( "StatName" ), STRUCT_OFFSET( FEventGraphSample, _StatName ), EEventPropertyFormatters::Name ),
-@@ -264,41 +264,42 @@ void FEventGraphSample::InitializePropertyManagement()
- static bool bInitialized = false;
- if( !bInitialized )
- {
-+ // FIXME remove (int) conversions
- NamedProperties = TMapBuilder<FName,const FEventProperty*>()
- // Properties
-- .Add( TEXT( "StatName" ), &Properties[EEventPropertyIndex::StatName] )
-- .Add( TEXT( "InclusiveTimeMS" ), &Properties[EEventPropertyIndex::InclusiveTimeMS] )
-- .Add( TEXT( "InclusiveTimePct" ), &Properties[EEventPropertyIndex::InclusiveTimePct] )
-- .Add( TEXT( "ExclusiveTimeMS" ), &Properties[EEventPropertyIndex::ExclusiveTimeMS] )
-- .Add( TEXT( "ExclusiveTimePct" ), &Properties[EEventPropertyIndex::ExclusiveTimePct] )
-- .Add( TEXT( "NumCallsPerFrame" ), &Properties[EEventPropertyIndex::NumCallsPerFrame] )
-+ .Add( TEXT( "StatName" ), &Properties[(int)EEventPropertyIndex::StatName] )
-+ .Add( TEXT( "InclusiveTimeMS" ), &Properties[(int)EEventPropertyIndex::InclusiveTimeMS] )
-+ .Add( TEXT( "InclusiveTimePct" ), &Properties[(int)EEventPropertyIndex::InclusiveTimePct] )
-+ .Add( TEXT( "ExclusiveTimeMS" ), &Properties[(int)EEventPropertyIndex::ExclusiveTimeMS] )
-+ .Add( TEXT( "ExclusiveTimePct" ), &Properties[(int)EEventPropertyIndex::ExclusiveTimePct] )
-+ .Add( TEXT( "NumCallsPerFrame" ), &Properties[(int)EEventPropertyIndex::NumCallsPerFrame] )
-
- // Special none property
-- .Add( NAME_None, &Properties[EEventPropertyIndex::None] )
-+ .Add( NAME_None, &Properties[(int)EEventPropertyIndex::None] )
-
-- .Add( TEXT( "MinInclusiveTimeMS" ), &Properties[EEventPropertyIndex::MinInclusiveTimeMS] )
-- .Add( TEXT( "MaxInclusiveTimeMS" ), &Properties[EEventPropertyIndex::MaxInclusiveTimeMS] )
-- .Add( TEXT( "AvgInclusiveTimeMS" ), &Properties[EEventPropertyIndex::AvgInclusiveTimeMS] )
-+ .Add( TEXT( "MinInclusiveTimeMS" ), &Properties[(int)EEventPropertyIndex::MinInclusiveTimeMS] )
-+ .Add( TEXT( "MaxInclusiveTimeMS" ), &Properties[(int)EEventPropertyIndex::MaxInclusiveTimeMS] )
-+ .Add( TEXT( "AvgInclusiveTimeMS" ), &Properties[(int)EEventPropertyIndex::AvgInclusiveTimeMS] )
-
-- .Add( TEXT( "MinNumCallsPerFrame" ), &Properties[EEventPropertyIndex::MinNumCallsPerFrame] )
-- .Add( TEXT( "MaxNumCallsPerFrame" ), &Properties[EEventPropertyIndex::MaxNumCallsPerFrame] )
-- .Add( TEXT( "AvgNumCallsPerFrame" ), &Properties[EEventPropertyIndex::AvgNumCallsPerFrame] )
-+ .Add( TEXT( "MinNumCallsPerFrame" ), &Properties[(int)EEventPropertyIndex::MinNumCallsPerFrame] )
-+ .Add( TEXT( "MaxNumCallsPerFrame" ), &Properties[(int)EEventPropertyIndex::MaxNumCallsPerFrame] )
-+ .Add( TEXT( "AvgNumCallsPerFrame" ), &Properties[(int)EEventPropertyIndex::AvgNumCallsPerFrame] )
-
-- .Add( TEXT( "ThreadName" ), &Properties[EEventPropertyIndex::ThreadName] )
-- .Add( TEXT( "ThreadDurationMS" ), &Properties[EEventPropertyIndex::ThreadDurationMS] )
-- .Add( TEXT( "FrameDurationMS" ), &Properties[EEventPropertyIndex::FrameDurationMS] )
-- .Add( TEXT( "ThreadPct" ), &Properties[EEventPropertyIndex::ThreadPct] )
-- .Add( TEXT( "FramePct" ), &Properties[EEventPropertyIndex::FramePct] )
-- .Add( TEXT( "ThreadToFramePct" ), &Properties[EEventPropertyIndex::ThreadToFramePct] )
-- .Add( TEXT( "GroupName" ), &Properties[EEventPropertyIndex::GroupName] )
-+ .Add( TEXT( "ThreadName" ), &Properties[(int)EEventPropertyIndex::ThreadName] )
-+ .Add( TEXT( "ThreadDurationMS" ), &Properties[(int)EEventPropertyIndex::ThreadDurationMS] )
-+ .Add( TEXT( "FrameDurationMS" ), &Properties[(int)EEventPropertyIndex::FrameDurationMS] )
-+ .Add( TEXT( "ThreadPct" ), &Properties[(int)EEventPropertyIndex::ThreadPct] )
-+ .Add( TEXT( "FramePct" ), &Properties[(int)EEventPropertyIndex::FramePct] )
-+ .Add( TEXT( "ThreadToFramePct" ), &Properties[(int)EEventPropertyIndex::ThreadToFramePct] )
-+ .Add( TEXT( "GroupName" ), &Properties[(int)EEventPropertyIndex::GroupName] )
-
- // Booleans
-- .Add( TEXT( "bIsHotPath" ), &Properties[EEventPropertyIndex::bIsHotPath] )
-- .Add( TEXT( "bIsFiltered" ), &Properties[EEventPropertyIndex::bIsFiltered] )
-- .Add( TEXT( "bIsCulled" ), &Properties[EEventPropertyIndex::bIsCulled] )
-+ .Add( TEXT( "bIsHotPath" ), &Properties[(int)EEventPropertyIndex::bIsHotPath] )
-+ .Add( TEXT( "bIsFiltered" ), &Properties[(int)EEventPropertyIndex::bIsFiltered] )
-+ .Add( TEXT( "bIsCulled" ), &Properties[(int)EEventPropertyIndex::bIsCulled] )
-
- // Booleans internal
-- .Add( TEXT( "bNeedNotCulledChildrenUpdate" ), &Properties[EEventPropertyIndex::bNeedNotCulledChildrenUpdate] )
-+ .Add( TEXT( "bNeedNotCulledChildrenUpdate" ), &Properties[(int)EEventPropertyIndex::bNeedNotCulledChildrenUpdate] )
- ;
-
- // Make sure that the minimal property manager has been initialized.
-@@ -308,8 +309,8 @@ void FEventGraphSample::InitializePropertyManagement()
- check( NamedProperties.FindChecked( NAME_None )->Name == NAME_None );
- check( NamedProperties.FindChecked( NAME_None )->Offset == INDEX_NONE );
-
-- check( FEventGraphSample::Properties[ EEventPropertyIndex::None ].Name == NAME_None );
-- check( FEventGraphSample::Properties[ EEventPropertyIndex::None ].Offset == INDEX_NONE );
-+ check( FEventGraphSample::Properties[ (int)EEventPropertyIndex::None ].Name == NAME_None );
-+ check( FEventGraphSample::Properties[ (int)EEventPropertyIndex::None ].Offset == INDEX_NONE );
- }
- }
-
-diff --git a/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.h b/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.h
-index 7c33291671e..fd83cf9896e 100644
---- a/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.h
-+++ b/Engine/Source/Developer/Profiler/Private/ProfilerDataSource.h
-@@ -43,7 +43,7 @@ struct FProfilerScratchArea : public TThreadSingleton<FProfilerScratchArea>
-
- struct FTimeAccuracy
- {
-- enum Type
-+ enum class Type
- {
- FPS008,
- FPS015,
-@@ -56,20 +56,20 @@ struct FTimeAccuracy
-
- static const float AsFrameTime( Type InTimeAccuracy )
- {
-- static const float FrameTimeTable[InvalidOrMax] = {1000.0f/_FPS008,1000.0f/_FPS015,1000.0f/_FPS030,1000.0f/_FPS060,1000.0f/_FPS120};
-- return FrameTimeTable[InTimeAccuracy];
-+ static const float FrameTimeTable[(int)Type::InvalidOrMax] = {1000.0f/_FPS008,1000.0f/_FPS015,1000.0f/_FPS030,1000.0f/_FPS060,1000.0f/_FPS120};
-+ return FrameTimeTable[(int)InTimeAccuracy];
- }
-
- static const float AsInvFrameTime( Type InTimeAccuracy )
- {
-- static const float FPSInvTable[InvalidOrMax] = {0.001f*_FPS008,0.001f*_FPS015,0.001f*_FPS030,0.001f*_FPS060,0.001f*_FPS120};
-- return FPSInvTable[InTimeAccuracy];
-+ static const float FPSInvTable[(int)Type::InvalidOrMax] = {0.001f*_FPS008,0.001f*_FPS015,0.001f*_FPS030,0.001f*_FPS060,0.001f*_FPS120};
-+ return FPSInvTable[(int)InTimeAccuracy];
- }
-
- static const int32 AsFPSCounter( Type InTimeAccuracy )
- {
-- static const int32 FPSTable[InvalidOrMax] = {_FPS008,_FPS015,_FPS030,_FPS060,_FPS120};
-- return FPSTable[InTimeAccuracy];
-+ static const int32 FPSTable[(int)Type::InvalidOrMax] = {_FPS008,_FPS015,_FPS030,_FPS060,_FPS120};
-+ return FPSTable[(int)InTimeAccuracy];
- }
-
- private:
-@@ -690,7 +690,7 @@ protected:
- -----------------------------------------------------------------------------*/
-
- /** Enumerates event graph columns index. */
--enum EEventPropertyIndex
-+enum class EEventPropertyIndex
- {
- /** Stat name must be the first column, because of the expander arrow. */
- StatName,
-@@ -968,7 +968,7 @@ public:
-
- protected:
- /** Contains all properties of the event graph sample class. */
-- static FEventProperty Properties[ EEventPropertyIndex::InvalidOrMax ];
-+ static FEventProperty Properties[ (int)EEventPropertyIndex::InvalidOrMax ];
-
- /** Contains all properties of the event graph sample class, indexed by the name of the property, stored as FName -> FEventProperty&. */
- static TMap<FName,const FEventProperty*> NamedProperties;
-diff --git a/Engine/Source/Developer/Profiler/Private/Widgets/SDataGraph.cpp b/Engine/Source/Developer/Profiler/Private/Widgets/SDataGraph.cpp
-index a9f8bac6524..b730423cac1 100644
---- a/Engine/Source/Developer/Profiler/Private/Widgets/SDataGraph.cpp
-+++ b/Engine/Source/Developer/Profiler/Private/Widgets/SDataGraph.cpp
-@@ -204,7 +204,7 @@ SDataGraph::SDataGraph()
-
- , ViewMode( EDataGraphViewModes::Index )
- , MultiMode( EDataGraphMultiModes::OneLinePerDataSource )
-- , TimeBasedAccuracy( FTimeAccuracy::FPS060 )
-+ , TimeBasedAccuracy( FTimeAccuracy::Type::FPS060 )
- , DistanceBetweenPoints( 4 )
-
- , NumDataPoints( 0 )
-diff --git a/Engine/Source/Developer/Profiler/Private/Widgets/SEventGraph.cpp b/Engine/Source/Developer/Profiler/Private/Widgets/SEventGraph.cpp
-index 5e8644a4dae..8b8c68f45be 100644
---- a/Engine/Source/Developer/Profiler/Private/Widgets/SEventGraph.cpp
-+++ b/Engine/Source/Developer/Profiler/Private/Widgets/SEventGraph.cpp
-@@ -71,16 +71,17 @@ namespace EEventGraphViewModes
-
- struct FEventGraphColumns
- {
-+ // FIXME remove (int) conversion
- /** Default constructor. */
- FEventGraphColumns()
-- : NumColumns( EEventPropertyIndex::None+1 )
-+ : NumColumns( (int)EEventPropertyIndex::None+1 )
- {
- // Make event property is initialized.
- FEventGraphSample::InitializePropertyManagement();
-
- Collection = new FEventGraphColumn[NumColumns];
-
-- Collection[EEventPropertyIndex::StatName] = FEventGraphColumn
-+ Collection[(int)EEventPropertyIndex::StatName] = FEventGraphColumn
- (
- EEventPropertyIndex::StatName,
- TEXT( "name" ),
-@@ -91,7 +92,7 @@ struct FEventGraphColumns
- 0.0f
- );
-
-- Collection[EEventPropertyIndex::InclusiveTimeMS] = FEventGraphColumn
-+ Collection[(int)EEventPropertyIndex::InclusiveTimeMS] = FEventGraphColumn
- (
- EEventPropertyIndex::InclusiveTimeMS,
- TEXT( "inc" ),
-@@ -102,7 +103,7 @@ struct FEventGraphColumns
- 72.0f
- );
-
-- Collection[EEventPropertyIndex::InclusiveTimePct] = FEventGraphColumn
-+ Collection[(int)EEventPropertyIndex::InclusiveTimePct] = FEventGraphColumn
- (
- EEventPropertyIndex::InclusiveTimePct,
- TEXT( "inc%" ),
-@@ -113,7 +114,7 @@ struct FEventGraphColumns
- 72.0f
- );
-
-- Collection[EEventPropertyIndex::ExclusiveTimeMS] = FEventGraphColumn
-+ Collection[(int)EEventPropertyIndex::ExclusiveTimeMS] = FEventGraphColumn
- (
- EEventPropertyIndex::ExclusiveTimeMS,
- TEXT( "exc" ),
-@@ -124,7 +125,7 @@ struct FEventGraphColumns
- 72.0f
- );
-
-- Collection[EEventPropertyIndex::ExclusiveTimePct] = FEventGraphColumn
-+ Collection[(int)EEventPropertyIndex::ExclusiveTimePct] = FEventGraphColumn
- (
- EEventPropertyIndex::ExclusiveTimePct,
- TEXT( "exc%" ),
-@@ -135,7 +136,7 @@ struct FEventGraphColumns
- 72.0f
- );
-
-- Collection[EEventPropertyIndex::NumCallsPerFrame] = FEventGraphColumn
-+ Collection[(int)EEventPropertyIndex::NumCallsPerFrame] = FEventGraphColumn
- (
- EEventPropertyIndex::NumCallsPerFrame,
- TEXT( "calls" ),
-@@ -147,7 +148,7 @@ struct FEventGraphColumns
- );
-
- // Fake column used as a default column for NAME_None
-- Collection[EEventPropertyIndex::None] = FEventGraphColumn
-+ Collection[(int)EEventPropertyIndex::None] = FEventGraphColumn
- (
- EEventPropertyIndex::None,
- TEXT( "None" ),
-@@ -159,13 +160,13 @@ struct FEventGraphColumns
- );
-
- ColumnNameToIndexMapping = TMapBuilder<FName, const FEventGraphColumn*>()
-- .Add( TEXT( "StatName" ), &Collection[EEventPropertyIndex::StatName] )
-- .Add( TEXT( "InclusiveTimeMS" ), &Collection[EEventPropertyIndex::InclusiveTimeMS] )
-- .Add( TEXT( "InclusiveTimePct" ), &Collection[EEventPropertyIndex::InclusiveTimePct] )
-- .Add( TEXT( "ExclusiveTimeMS" ), &Collection[EEventPropertyIndex::ExclusiveTimeMS] )
-- .Add( TEXT( "ExclusiveTimePct" ), &Collection[EEventPropertyIndex::ExclusiveTimePct] )
-- .Add( TEXT( "NumCallsPerFrame" ), &Collection[EEventPropertyIndex::NumCallsPerFrame] )
-- .Add( NAME_None, &Collection[EEventPropertyIndex::None] )
-+ .Add( TEXT( "StatName" ), &Collection[(int)EEventPropertyIndex::StatName] )
-+ .Add( TEXT( "InclusiveTimeMS" ), &Collection[(int)EEventPropertyIndex::InclusiveTimeMS] )
-+ .Add( TEXT( "InclusiveTimePct" ), &Collection[(int)EEventPropertyIndex::InclusiveTimePct] )
-+ .Add( TEXT( "ExclusiveTimeMS" ), &Collection[(int)EEventPropertyIndex::ExclusiveTimeMS] )
-+ .Add( TEXT( "ExclusiveTimePct" ), &Collection[(int)EEventPropertyIndex::ExclusiveTimePct] )
-+ .Add( TEXT( "NumCallsPerFrame" ), &Collection[(int)EEventPropertyIndex::NumCallsPerFrame] )
-+ .Add( NAME_None, &Collection[(int)EEventPropertyIndex::None] )
- ;
- }
-
-@@ -495,7 +496,7 @@ public:
- SNew( SEventGraphTableCell, SharedThis(this), OwnerEventGraph )
- .Visibility( this, &SEventGraphTableRow::IsColumnVisible, ColumnID )
- .ColumnID( ColumnID )
-- .IsEventNameColumn( ColumnID == FEventGraphColumns::Get().Collection[EEventPropertyIndex::StatName].ID )
-+ .IsEventNameColumn( ColumnID == FEventGraphColumns::Get().Collection[(int)EEventPropertyIndex::StatName].ID )
- .EventPtr( EventPtr )
- .OnSetHoveredTableCell( this, &SEventGraphTableRow::OnSetHoveredTableCell )
- ];
-@@ -2106,7 +2107,7 @@ void SEventGraph::TreeViewHeaderRow_CreateColumnArgs( const uint32 ColumnIndex )
- void SEventGraph::InitializeAndShowHeaderColumns()
- {
- ColumnSortMode = EColumnSortMode::Descending;
-- ColumnBeingSorted = FEventGraphColumns::Get().Collection[EEventPropertyIndex::InclusiveTimeMS].ID;
-+ ColumnBeingSorted = FEventGraphColumns::Get().Collection[(int)EEventPropertyIndex::InclusiveTimeMS].ID;
-
- for (uint32 ColumnIndex = 0; ColumnIndex < FEventGraphColumns::Get().NumColumns; ColumnIndex++)
- {
-@@ -2287,7 +2288,7 @@ void SEventGraph::ContextMenu_ExpandHotPath_Execute()
- FEventGraphSamplePtr EventPtr = SelectedItems[0];
-
- ColumnSortMode = EColumnSortMode::Descending;
-- ColumnBeingSorted = FEventGraphColumns::Get().Collection[EEventPropertyIndex::InclusiveTimeMS].ID;
-+ ColumnBeingSorted = FEventGraphColumns::Get().Collection[(int)EEventPropertyIndex::InclusiveTimeMS].ID;
- SortEvents();
-
- // Clear hot path
-@@ -2424,7 +2425,7 @@ bool SEventGraph::ContextMenu_SortMode_IsChecked( const EColumnSortMode::Type In
- void SEventGraph::ContextMenu_ResetColumns_Execute()
- {
- ColumnSortMode = EColumnSortMode::Descending;
-- ColumnBeingSorted = FEventGraphColumns::Get().Collection[EEventPropertyIndex::InclusiveTimeMS].ID;
-+ ColumnBeingSorted = FEventGraphColumns::Get().Collection[(int)EEventPropertyIndex::InclusiveTimeMS].ID;
-
- for( uint32 ColumnIndex = 0; ColumnIndex < FEventGraphColumns::Get().NumColumns; ColumnIndex++ )
- {
-@@ -2553,12 +2554,12 @@ void SEventGraph::ShowEventsInViewMode( const TArray<FEventGraphSamplePtr>& Even
- if( NewViewMode == EEventGraphViewModes::FlatInclusive || NewViewMode == EEventGraphViewModes::FlatInclusiveCoalesced || NewViewMode == EEventGraphViewModes::Hierarchical )
- {
- ColumnIndex = EEventPropertyIndex::InclusiveTimeMS;
-- SetSortModeForColumn( FEventGraphColumns::Get().Collection[ColumnIndex].ID, EColumnSortMode::Descending );
-+ SetSortModeForColumn( FEventGraphColumns::Get().Collection[(int)ColumnIndex].ID, EColumnSortMode::Descending );
- }
- else if( NewViewMode == EEventGraphViewModes::FlatExclusive || NewViewMode == EEventGraphViewModes::FlatExclusiveCoalesced )
- {
- ColumnIndex = EEventPropertyIndex::ExclusiveTimeMS;
-- SetSortModeForColumn( FEventGraphColumns::Get().Collection[ColumnIndex].ID, EColumnSortMode::Descending );
-+ SetSortModeForColumn( FEventGraphColumns::Get().Collection[(int)ColumnIndex].ID, EColumnSortMode::Descending );
- }
-
- ScrollToTheSlowestSelectedEvent( ColumnIndex );
-@@ -2589,7 +2590,7 @@ void SEventGraph::ScrollToTheSlowestSelectedEvent( EEventPropertyIndex ColumnInd
- if( SelectedEvents.Num() > 0 )
- {
- // Sort events by the inclusive or the exclusive time, depends on the view mode.
-- const FEventGraphColumn& Column = FEventGraphColumns::Get().Collection[ColumnIndex];
-+ const FEventGraphColumn& Column = FEventGraphColumns::Get().Collection[(int)ColumnIndex];
- FEventArraySorter::Sort( SelectedEvents, Column.ID, EEventCompareOps::Greater );
-
- // Scroll to the the slowest item.
-@@ -2804,7 +2805,7 @@ void SEventGraph::GenerateTopEvents( const TSet< FEventGraphSamplePtr >& EventPt
- }
-
- // Sort events by the inclusive time.
-- const FEventGraphColumn& Column = FEventGraphColumns::Get().Collection[EEventPropertyIndex::InclusiveTimeMS];
-+ const FEventGraphColumn& Column = FEventGraphColumns::Get().Collection[(int)EEventPropertyIndex::InclusiveTimeMS];
- FEventArraySorter::Sort( EventPtrArray, Column.ID, EEventCompareOps::Greater );
-
- // Calculate total time for the top events.
-diff --git a/Engine/Source/Editor/MaterialEditor/Private/MaterialEditor.cpp b/Engine/Source/Editor/MaterialEditor/Private/MaterialEditor.cpp
-index 4f4bd83593f..1d63f41f3f4 100644
---- a/Engine/Source/Editor/MaterialEditor/Private/MaterialEditor.cpp
-+++ b/Engine/Source/Editor/MaterialEditor/Private/MaterialEditor.cpp
-@@ -576,12 +576,12 @@ void FMaterialEditor::InitMaterialEditor( const EToolkitMode::Type Mode, const T
- {
- switch (MaterialFunction->GetMaterialFunctionUsage())
- {
-- case(EMaterialFunctionUsage::MaterialLayer):
-+ case(Materials::EMaterialFunctionUsage::MaterialLayer):
- {
- OutputPlacement = FVector2D(300, 269);
- break;
- }
-- case(EMaterialFunctionUsage::MaterialLayerBlend):
-+ case(Materials::EMaterialFunctionUsage::MaterialLayerBlend):
- {
- OutputPlacement = FVector2D(275, 269);
- break;
-@@ -591,7 +591,7 @@ void FMaterialEditor::InitMaterialEditor( const EToolkitMode::Type Mode, const T
- }
- }
- UMaterialExpression* Expression;
-- if (MaterialFunction->GetMaterialFunctionUsage() == EMaterialFunctionUsage::Default)
-+ if (MaterialFunction->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::Default)
- {
- Expression = CreateNewMaterialExpression(UMaterialExpressionFunctionOutput::StaticClass(), OutputPlacement, false, true);
- SetPreviewExpression(Expression);
-@@ -606,7 +606,7 @@ void FMaterialEditor::InitMaterialEditor( const EToolkitMode::Type Mode, const T
- bMaterialDirty = false;
- }
- // We can check the usage here and add the appropriate inputs too (e.g. Layer==1MA, Blend==2MA)
-- if (MaterialFunction->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayer)
-+ if (MaterialFunction->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayer)
- {
- UMaterialExpression* Input = CreateNewMaterialExpression(UMaterialExpressionFunctionInput::StaticClass(), FVector2D(-350, 300), false, true);
- if (Input)
-@@ -628,7 +628,7 @@ void FMaterialEditor::InitMaterialEditor( const EToolkitMode::Type Mode, const T
- }
- }
- }
-- else if (MaterialFunction->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayerBlend)
-+ else if (MaterialFunction->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- // "Top layer" should be below "bottom layer" on the graph, to align with B on blend nodes
- UMaterialExpression* InputTop = CreateNewMaterialExpression(UMaterialExpressionFunctionInput::StaticClass(), FVector2D(-300, 400), false, true);
-@@ -1908,7 +1908,7 @@ void FMaterialEditor::UpdateMaterialinfoList_Old()
- int32 NumOutputs = 0;
- // For Material Layers
-
-- if (MaterialFunction->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayer)
-+ if (MaterialFunction->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayer)
- {
- // Material layers must have a single MA input and output only
- for (UMaterialExpression* Expression : *MaterialFunction->GetFunctionExpressions())
-@@ -1940,7 +1940,7 @@ void FMaterialEditor::UpdateMaterialinfoList_Old()
- CompileErrors.Add(TEXT("Layer graphs require a single material attributes output and optionally, a single material attributes input."));
- }
- }
-- else if (MaterialFunction->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayerBlend)
-+ else if (MaterialFunction->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- // Material layer blends can have two MA inputs and single MA output only
- for (UMaterialExpression* Expression : *MaterialFunction->GetFunctionExpressions())
-@@ -1999,7 +1999,7 @@ void FMaterialEditor::UpdateMaterialinfoList_Old()
- }
-
- // Only show general info if there are no errors and stats are enabled - Stats show for Materials, layers and blends
-- if (CompileErrors.Num() == 0 && (!MaterialFunction || MaterialFunction->GetMaterialFunctionUsage() != Default))
-+ if (CompileErrors.Num() == 0 && (!MaterialFunction || MaterialFunction->GetMaterialFunctionUsage() != Materials::Default))
- {
- TArray<FMaterialStatsUtils::FShaderInstructionsInfo> Results;
- TArray<FMaterialStatsUtils::FShaderInstructionsInfo> EmptyMaterialResults;
-@@ -4838,10 +4838,10 @@ FGraphAppearanceInfo FMaterialEditor::GetGraphAppearance() const
- {
- switch (MaterialFunction->GetMaterialFunctionUsage())
- {
-- case EMaterialFunctionUsage::MaterialLayer:
-+ case Materials::EMaterialFunctionUsage::MaterialLayer:
- AppearanceInfo.CornerText = LOCTEXT("AppearanceCornerText_MaterialLayer", "MATERIAL LAYER");
- break;
-- case EMaterialFunctionUsage::MaterialLayerBlend:
-+ case Materials::EMaterialFunctionUsage::MaterialLayerBlend:
- AppearanceInfo.CornerText = LOCTEXT("AppearanceCornerText_MaterialLayerBlend", "MATERIAL LAYER BLEND");
- break;
- default:
-@@ -4921,7 +4921,7 @@ bool FMaterialEditor::CheckExpressionRemovalWarnings(const TArray<UEdGraphNode*>
- FunctionWarningString += FunctionInput->InputName.ToString();
- }
-
-- if (FunctionOutput && MaterialFunction && MaterialFunction->GetMaterialFunctionUsage() == EMaterialFunctionUsage::Default)
-+ if (FunctionOutput && MaterialFunction && MaterialFunction->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::Default)
- {
- if (!bFirstExpression)
- {
-diff --git a/Engine/Source/Editor/MaterialEditor/Private/MaterialEditorInstanceDetailCustomization.cpp b/Engine/Source/Editor/MaterialEditor/Private/MaterialEditorInstanceDetailCustomization.cpp
-index 1a2df215b75..63b5d4f1193 100644
---- a/Engine/Source/Editor/MaterialEditor/Private/MaterialEditorInstanceDetailCustomization.cpp
-+++ b/Engine/Source/Editor/MaterialEditor/Private/MaterialEditorInstanceDetailCustomization.cpp
-@@ -107,7 +107,7 @@ void FMaterialInstanceParameterDetails::CustomizeDetails(IDetailLayoutBuilder& D
- {
- // Customize Parent property so we can check for recursively set parents
- bool bShowParent = false;
-- if(MaterialEditorInstance->SourceFunction->GetMaterialFunctionUsage() != EMaterialFunctionUsage::Default)
-+ if(MaterialEditorInstance->SourceFunction->GetMaterialFunctionUsage() != Materials::EMaterialFunctionUsage::Default)
- {
- bShowParent = true;
- }
-@@ -691,7 +691,7 @@ bool FMaterialInstanceParameterDetails::OnShouldSetAsset(const FAssetData& Asset
- {
- if (MaterialEditorInstance->bIsFunctionPreviewMaterial)
- {
-- if (MaterialEditorInstance->SourceFunction->GetMaterialFunctionUsage() == EMaterialFunctionUsage::Default)
-+ if (MaterialEditorInstance->SourceFunction->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::Default)
- {
- return false;
- }
-@@ -732,7 +732,7 @@ bool FMaterialInstanceParameterDetails::OnShouldSetAsset(const FAssetData& Asset
- void FMaterialInstanceParameterDetails::OnAssetChanged(const FAssetData & InAssetData, TSharedRef<IPropertyHandle> InHandle)
- {
- if (MaterialEditorInstance->bIsFunctionPreviewMaterial &&
-- MaterialEditorInstance->SourceFunction->GetMaterialFunctionUsage() != EMaterialFunctionUsage::Default)
-+ MaterialEditorInstance->SourceFunction->GetMaterialFunctionUsage() != Materials::EMaterialFunctionUsage::Default)
- {
- UMaterialFunctionInterface* NewParent = Cast<UMaterialFunctionInterface>(InAssetData.GetAsset());
- if (NewParent != nullptr)
-diff --git a/Engine/Source/Editor/MaterialEditor/Private/MaterialPropertyHelpers.cpp b/Engine/Source/Editor/MaterialEditor/Private/MaterialPropertyHelpers.cpp
-index fe435557316..4efa570860a 100644
---- a/Engine/Source/Editor/MaterialEditor/Private/MaterialPropertyHelpers.cpp
-+++ b/Engine/Source/Editor/MaterialEditor/Private/MaterialPropertyHelpers.cpp
-@@ -540,13 +540,13 @@ FReply FMaterialPropertyHelpers::OnClickedSaveNewFunctionInstance(class UMateria
-
-
- UObject* Child;
-- if (Object->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayer)
-+ if (Object->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayer)
- {
- UMaterialFunctionMaterialLayerInstanceFactory* LayerFactory = NewObject<UMaterialFunctionMaterialLayerInstanceFactory>();
- LayerFactory->InitialParent = Object;
- Child = AssetToolsModule.Get().CreateAssetWithDialog(Name, FPackageName::GetLongPackagePath(PackageName), UMaterialFunctionMaterialLayerInstance::StaticClass(), LayerFactory);
- }
-- else if (Object->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayerBlend)
-+ else if (Object->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- UMaterialFunctionMaterialLayerBlendInstanceFactory* BlendFactory = NewObject<UMaterialFunctionMaterialLayerBlendInstanceFactory>();
- BlendFactory->InitialParent = Object;
-@@ -630,13 +630,13 @@ FReply FMaterialPropertyHelpers::OnClickedSaveNewLayerInstance(class UMaterialFu
-
-
- UObject* Child;
-- if (Object->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayer)
-+ if (Object->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayer)
- {
- UMaterialFunctionMaterialLayerInstanceFactory* LayerFactory = NewObject<UMaterialFunctionMaterialLayerInstanceFactory>();
- LayerFactory->InitialParent = Object;
- Child = AssetToolsModule.Get().CreateAssetWithDialog(Name, FPackageName::GetLongPackagePath(PackageName), UMaterialFunctionMaterialLayerInstance::StaticClass(), LayerFactory);
- }
-- else if (Object->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayerBlend)
-+ else if (Object->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- UMaterialFunctionMaterialLayerBlendInstanceFactory* BlendFactory = NewObject<UMaterialFunctionMaterialLayerBlendInstanceFactory>();
- BlendFactory->InitialParent = Object;
-diff --git a/Engine/Source/Editor/MaterialEditor/Private/SMaterialLayersFunctionsTree.cpp b/Engine/Source/Editor/MaterialEditor/Private/SMaterialLayersFunctionsTree.cpp
-index 935f05c7425..7c2f633b71d 100644
---- a/Engine/Source/Editor/MaterialEditor/Private/SMaterialLayersFunctionsTree.cpp
-+++ b/Engine/Source/Editor/MaterialEditor/Private/SMaterialLayersFunctionsTree.cpp
-@@ -356,14 +356,14 @@ void SMaterialLayersFunctionsInstanceTreeItem::Construct(const FArguments& InArg
- EMaterialParameterAssociation PreviewAssociation = EMaterialParameterAssociation::GlobalParameter;
- if (AssetObject)
- {
-- if (Cast<UMaterialFunctionInterface>(AssetObject)->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayer)
-+ if (Cast<UMaterialFunctionInterface>(AssetObject)->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayer)
- {
- PreviewIndex = StackParameterData->ParameterInfo.Index;
- PreviewAssociation = EMaterialParameterAssociation::LayerParameter;
- Tree->UpdateThumbnailMaterial(PreviewAssociation, PreviewIndex);
- ThumbnailIndex = PreviewIndex;
- }
-- if (Cast<UMaterialFunctionInterface>(AssetObject)->GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayerBlend)
-+ if (Cast<UMaterialFunctionInterface>(AssetObject)->GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- PreviewIndex = StackParameterData->ParameterInfo.Index;
- PreviewAssociation = EMaterialParameterAssociation::BlendParameter;
-diff --git a/Engine/Source/Editor/Matinee/Private/Matinee.cpp b/Engine/Source/Editor/Matinee/Private/Matinee.cpp
-index 1643ee68e53..7fe12d3dd30 100644
---- a/Engine/Source/Editor/Matinee/Private/Matinee.cpp
-+++ b/Engine/Source/Editor/Matinee/Private/Matinee.cpp
-@@ -1205,15 +1205,15 @@ void FMatinee::BindCommands()
- ToolkitCommands->MapAction( Commands.ExportAnimGroupFBX, FExecuteAction::CreateSP(this, &FMatinee::OnContextGroupExportAnimFBX) );
- ToolkitCommands->MapAction(
- Commands.GroupDuplicate,
-- FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::DuplicateGroup),
-- FCanExecuteAction::CreateSP(this, &FMatinee::CanCreateNewGroup, FMatineeCommands::EGroupAction::DuplicateGroup)
-+ FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::DuplicateGroup),
-+ FCanExecuteAction::CreateSP(this, &FMatinee::CanCreateNewGroup, FMatineeCommands::EGroupAction::Type::DuplicateGroup)
- );
- ToolkitCommands->MapAction( Commands.GroupDelete, FExecuteAction::CreateSP(this, &FMatinee::OnContextGroupDelete), FCanExecuteAction::CreateSP(this, &FMatinee::CanGroupDelete) );
- ToolkitCommands->MapAction( Commands.GroupCreateTab, FExecuteAction::CreateSP(this, &FMatinee::OnContextGroupCreateTab), FCanExecuteAction::CreateSP(this, &FMatinee::CanGroupCreateTab) );
- ToolkitCommands->MapAction( Commands.GroupRemoveFromTab, FExecuteAction::CreateSP(this, &FMatinee::OnContextGroupRemoveFromTab) );
- ToolkitCommands->MapAction(
- Commands.RemoveFromGroupFolder,
-- FExecuteAction::CreateSP(this, &FMatinee::OnContextGroupChangeGroupFolder, FMatineeCommands::EGroupAction::RemoveFromGroupFolder, -1)
-+ FExecuteAction::CreateSP(this, &FMatinee::OnContextGroupChangeGroupFolder, FMatineeCommands::EGroupAction::Type::RemoveFromGroupFolder, -1)
- );
-
- //Track Context Menu
-@@ -1228,13 +1228,13 @@ void FMatinee::BindCommands()
- ToolkitCommands->MapAction( Commands.ExportAnimTrackFBX, FExecuteAction::CreateSP(this, &FMatinee::OnContextTrackExportAnimFBX) );
-
- //Background Context Menu
-- ToolkitCommands->MapAction( Commands.NewFolder, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::NewFolder) );
-- ToolkitCommands->MapAction( Commands.NewEmptyGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::NewEmptyGroup) );
-- ToolkitCommands->MapAction( Commands.NewCameraGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::NewCameraGroup) );
-- ToolkitCommands->MapAction( Commands.NewParticleGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::NewParticleGroup) );
-- ToolkitCommands->MapAction( Commands.NewSkeletalMeshGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::NewSkeletalMeshGroup) );
-- ToolkitCommands->MapAction( Commands.NewLightingGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::NewLightingGroup) );
-- ToolkitCommands->MapAction( Commands.NewDirectorGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::NewDirectorGroup) );
-+ ToolkitCommands->MapAction( Commands.NewFolder, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::NewFolder) );
-+ ToolkitCommands->MapAction( Commands.NewEmptyGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::NewEmptyGroup) );
-+ ToolkitCommands->MapAction( Commands.NewCameraGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::NewCameraGroup) );
-+ ToolkitCommands->MapAction( Commands.NewParticleGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::NewParticleGroup) );
-+ ToolkitCommands->MapAction( Commands.NewSkeletalMeshGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::NewSkeletalMeshGroup) );
-+ ToolkitCommands->MapAction( Commands.NewLightingGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::NewLightingGroup) );
-+ ToolkitCommands->MapAction( Commands.NewDirectorGroup, FExecuteAction::CreateSP(this, &FMatinee::OnContextNewGroup, FMatineeCommands::EGroupAction::Type::NewDirectorGroup) );
-
- // Menu
- ToolkitCommands->MapAction(Commands.ToggleCurveEditor,
-@@ -1249,11 +1249,11 @@ void FMatinee::BindCommands()
- );
-
- //Key Context Menu
-- ToolkitCommands->MapAction( Commands.KeyModeCurveAuto, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::KeyModeCurveAuto) );
-- ToolkitCommands->MapAction( Commands.KeyModeCurveAutoClamped, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::KeyModeCurveAutoClamped) );
-- ToolkitCommands->MapAction( Commands.KeyModeCurveBreak, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::KeyModeCurveBreak) );
-- ToolkitCommands->MapAction( Commands.KeyModeLinear, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::KeyModeLinear) );
-- ToolkitCommands->MapAction( Commands.KeyModeConstant, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::KeyModeConstant) );
-+ ToolkitCommands->MapAction( Commands.KeyModeCurveAuto, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::Type::KeyModeCurveAuto) );
-+ ToolkitCommands->MapAction( Commands.KeyModeCurveAutoClamped, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::Type::KeyModeCurveAutoClamped) );
-+ ToolkitCommands->MapAction( Commands.KeyModeCurveBreak, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::Type::KeyModeCurveBreak) );
-+ ToolkitCommands->MapAction( Commands.KeyModeLinear, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::Type::KeyModeLinear) );
-+ ToolkitCommands->MapAction( Commands.KeyModeConstant, FExecuteAction::CreateSP(this, &FMatinee::OnContextKeyInterpMode, FMatineeCommands::EKeyAction::Type::KeyModeConstant) );
- ToolkitCommands->MapAction( Commands.KeySetTime, FExecuteAction::CreateSP(this, &FMatinee::OnContextSetKeyTime) );
- ToolkitCommands->MapAction( Commands.KeySetValue, FExecuteAction::CreateSP(this, &FMatinee::OnContextSetValue) );
- ToolkitCommands->MapAction( Commands.KeySetBool, FExecuteAction::CreateSP(this, &FMatinee::OnContextSetBool) );
-@@ -1266,19 +1266,19 @@ void FMatinee::BindCommands()
- ToolkitCommands->MapAction( Commands.ToggleKeyFlip, FExecuteAction::CreateSP(this, &FMatinee::OnFlipToggleKey) );
-
- ToolkitCommands->MapAction( Commands.KeySetConditionAlways,
-- FExecuteAction::CreateSP(this, &FMatinee::OnKeyContext_SetCondition, FMatineeCommands::EKeyAction::ConditionAlways),
-+ FExecuteAction::CreateSP(this, &FMatinee::OnKeyContext_SetCondition, FMatineeCommands::EKeyAction::Type::ConditionAlways),
- FCanExecuteAction(),
-- FIsActionChecked::CreateSP(this, &FMatinee::KeyContext_IsSetConditionToggled, FMatineeCommands::EKeyAction::ConditionAlways)
-+ FIsActionChecked::CreateSP(this, &FMatinee::KeyContext_IsSetConditionToggled, FMatineeCommands::EKeyAction::Type::ConditionAlways)
- );
- ToolkitCommands->MapAction( Commands.KeySetConditionGoreEnabled,
-- FExecuteAction::CreateSP(this, &FMatinee::OnKeyContext_SetCondition, FMatineeCommands::EKeyAction::ConditionGoreEnabled),
-+ FExecuteAction::CreateSP(this, &FMatinee::OnKeyContext_SetCondition, FMatineeCommands::EKeyAction::Type::ConditionGoreEnabled),
- FCanExecuteAction(),
-- FIsActionChecked::CreateSP(this, &FMatinee::KeyContext_IsSetConditionToggled, FMatineeCommands::EKeyAction::ConditionGoreEnabled)
-+ FIsActionChecked::CreateSP(this, &FMatinee::KeyContext_IsSetConditionToggled, FMatineeCommands::EKeyAction::Type::ConditionGoreEnabled)
- );
- ToolkitCommands->MapAction( Commands.KeySetConditionGoreDisabled,
-- FExecuteAction::CreateSP(this, &FMatinee::OnKeyContext_SetCondition, FMatineeCommands::EKeyAction::ConditionGoreDisabled),
-+ FExecuteAction::CreateSP(this, &FMatinee::OnKeyContext_SetCondition, FMatineeCommands::EKeyAction::Type::ConditionGoreDisabled),
- FCanExecuteAction(),
-- FIsActionChecked::CreateSP(this, &FMatinee::KeyContext_IsSetConditionToggled, FMatineeCommands::EKeyAction::ConditionGoreDisabled)
-+ FIsActionChecked::CreateSP(this, &FMatinee::KeyContext_IsSetConditionToggled, FMatineeCommands::EKeyAction::Type::ConditionGoreDisabled)
- );
-
- ToolkitCommands->MapAction( Commands.AnimKeyLoop, FExecuteAction::CreateSP(this, &FMatinee::OnSetAnimKeyLooping, true) );
-diff --git a/Engine/Source/Editor/Matinee/Private/MatineeActions.h b/Engine/Source/Editor/Matinee/Private/MatineeActions.h
-index b594c3eff45..70a41fa067e 100644
---- a/Engine/Source/Editor/Matinee/Private/MatineeActions.h
-+++ b/Engine/Source/Editor/Matinee/Private/MatineeActions.h
-@@ -195,7 +195,7 @@ public:
- /** Action Types */
- struct EGroupAction
- {
-- enum Type
-+ enum class Type
- {
- NewFolder,
- NewEmptyGroup,
-@@ -213,7 +213,7 @@ public:
-
- struct EKeyAction
- {
-- enum Type
-+ enum class Type
- {
- KeyModeCurveAuto,
- KeyModeCurveAutoClamped,
-diff --git a/Engine/Source/Editor/Matinee/Private/MatineeMenus.cpp b/Engine/Source/Editor/Matinee/Private/MatineeMenus.cpp
-index 1852ff0b0d4..4b493e23148 100644
---- a/Engine/Source/Editor/Matinee/Private/MatineeMenus.cpp
-+++ b/Engine/Source/Editor/Matinee/Private/MatineeMenus.cpp
-@@ -245,10 +245,10 @@ void FMatinee::OnMenuAddKey()
-
- void FMatinee::OnContextNewGroup( FMatineeCommands::EGroupAction::Type InActionId)
- {
-- const bool bIsNewFolder = (InActionId == FMatineeCommands::EGroupAction::NewFolder);
-- const bool bDirGroup = (InActionId == FMatineeCommands::EGroupAction::NewDirectorGroup);
-- const bool bDuplicateGroup = (InActionId == FMatineeCommands::EGroupAction::DuplicateGroup);
-- const bool bLightingGroup = (InActionId == FMatineeCommands::EGroupAction::NewLightingGroup);
-+ const bool bIsNewFolder = (InActionId == FMatineeCommands::EGroupAction::Type::NewFolder);
-+ const bool bDirGroup = (InActionId == FMatineeCommands::EGroupAction::Type::NewDirectorGroup);
-+ const bool bDuplicateGroup = (InActionId == FMatineeCommands::EGroupAction::Type::DuplicateGroup);
-+ const bool bLightingGroup = (InActionId == FMatineeCommands::EGroupAction::Type::NewLightingGroup);
-
- // Only one director group is allowed
- if (bDirGroup && IData->FindDirectorGroup())
-@@ -333,9 +333,9 @@ bool FMatinee::CanCreateNewGroup( FMatineeCommands::EGroupAction::Type InActionI
- void FMatinee::NewGroupPopup( FMatineeCommands::EGroupAction::Type InActionId, AActor* GroupActor, TArray<AActor *> OtherActorsToAddToGroup )
- {
- // Find out if we want to make a 'Director' group.
-- const bool bIsNewFolder = (InActionId == FMatineeCommands::EGroupAction::NewFolder);
-- const bool bDirGroup = (InActionId == FMatineeCommands::EGroupAction::NewDirectorGroup);
-- const bool bDuplicateGroup = (InActionId == FMatineeCommands::EGroupAction::DuplicateGroup);
-+ const bool bIsNewFolder = (InActionId == FMatineeCommands::EGroupAction::Type::NewFolder);
-+ const bool bDirGroup = (InActionId == FMatineeCommands::EGroupAction::Type::NewDirectorGroup);
-+ const bool bDuplicateGroup = (InActionId == FMatineeCommands::EGroupAction::Type::DuplicateGroup);
-
- // If not a director group - ask for a name.
- if(!bDirGroup)
-@@ -344,32 +344,32 @@ void FMatinee::NewGroupPopup( FMatineeCommands::EGroupAction::Type InActionId, A
- FText DefaultNewGroupName;
- switch( InActionId )
- {
-- case FMatineeCommands::EGroupAction::NewCameraGroup:
-+ case FMatineeCommands::EGroupAction::Type::NewCameraGroup:
- DialogName = LOCTEXT( "NewGroupName", "New Group Name" );
- DefaultNewGroupName = LOCTEXT( "NewCameraGroup", "NewCameraGroup" );
- break;
-
-- case FMatineeCommands::EGroupAction::NewParticleGroup:
-+ case FMatineeCommands::EGroupAction::Type::NewParticleGroup:
- DialogName = LOCTEXT( "NewGroupName", "New Group Name" );
- DefaultNewGroupName = LOCTEXT( "NewParticleGroup", "NewParticleGroup" );
- break;
-
-- case FMatineeCommands::EGroupAction::NewSkeletalMeshGroup:
-+ case FMatineeCommands::EGroupAction::Type::NewSkeletalMeshGroup:
- DialogName = LOCTEXT( "NewGroupName", "New Group Name" );
- DefaultNewGroupName = LOCTEXT( "NewSkeletalMeshGroup", "NewSkeletalMeshGroup" );
- break;
-
-- case FMatineeCommands::EGroupAction::NewLightingGroup:
-+ case FMatineeCommands::EGroupAction::Type::NewLightingGroup:
- DialogName = LOCTEXT( "NewGroupName", "New Group Name" );
- DefaultNewGroupName = LOCTEXT( "NewLightingGroup", "NewLightingGroup" );
- break;
-
-- case FMatineeCommands::EGroupAction::NewFolder:
-+ case FMatineeCommands::EGroupAction::Type::NewFolder:
- DialogName = LOCTEXT( "NewFolderName", "New Folder Name" );
- DefaultNewGroupName = LOCTEXT( "NewFolder", "NewFolder" );
- break;
-
-- case FMatineeCommands::EGroupAction::DuplicateGroup:
-+ case FMatineeCommands::EGroupAction::Type::DuplicateGroup:
- // When duplicating, we use unlocalized text
- // at the moment. So, the spaces are needed.
- DialogName = LOCTEXT( "NewGroupName", "New Group Name" );
-@@ -421,9 +421,9 @@ void FMatinee::NewGroupPopupTextCommitted(
- //note: we don't need to check commit type... handled by GetNewNamePopup
-
- FName NewGroupName = FName(*InText.ToString().Left(NAME_SIZE));
-- const bool bIsNewFolder = (InActionId == FMatineeCommands::EGroupAction::NewFolder);
-- const bool bDirGroup = (InActionId == FMatineeCommands::EGroupAction::NewDirectorGroup);
-- const bool bDuplicateGroup = (InActionId == FMatineeCommands::EGroupAction::DuplicateGroup);
-+ const bool bIsNewFolder = (InActionId == FMatineeCommands::EGroupAction::Type::NewFolder);
-+ const bool bDirGroup = (InActionId == FMatineeCommands::EGroupAction::Type::NewDirectorGroup);
-+ const bool bDuplicateGroup = (InActionId == FMatineeCommands::EGroupAction::Type::DuplicateGroup);
-
- TMap<UInterpGroup*, FName> DuplicateGroupToNameMap;
- if (bDuplicateGroup && GroupToDuplicate != NULL)
-@@ -485,7 +485,7 @@ void FMatinee::NewGroupPopupTextCommitted(
- // if there's no group actor
- if ( !GroupActor )
- {
-- if( InActionId == FMatineeCommands::EGroupAction::NewCameraGroup )
-+ if( InActionId == FMatineeCommands::EGroupAction::Type::NewCameraGroup )
- {
- // find the first perspective viewport - if one exists
- FLevelEditorViewportClient* ViewportClient = NULL;
-@@ -581,15 +581,15 @@ void FMatinee::NewGroupPopupTextCommitted(
- // For Camera or Skeletal Mesh groups, add a Movement track
- // FIXME: this doesn't work like this anymore
- // if you'd like to create multiple groups at once
-- if( InActionId == FMatineeCommands::EGroupAction::NewCameraGroup ||
-- InActionId == FMatineeCommands::EGroupAction::NewSkeletalMeshGroup )
-+ if( InActionId == FMatineeCommands::EGroupAction::Type::NewCameraGroup ||
-+ InActionId == FMatineeCommands::EGroupAction::Type::NewSkeletalMeshGroup )
- {
- int32 NewTrackIndex = INDEX_NONE;
- AddTrackToGroup( NewGroup, UInterpTrackMove::StaticClass(), NULL, false, NewTrackIndex );
- }
-
- // For Camera groups, add a Float Property track for FOV
-- if (InActionId == FMatineeCommands::EGroupAction::NewCameraGroup)
-+ if (InActionId == FMatineeCommands::EGroupAction::Type::NewCameraGroup)
- {
- // Set the property name for the new track. This is a global that will be used when setting everything up.
- SetTrackAddPropName( FName( TEXT( "FOVAngle" ) ) );
-@@ -599,7 +599,7 @@ void FMatinee::NewGroupPopupTextCommitted(
- }
-
- // For Lighting groups, add a Movement, Brightness, Light Color, and Radius Property track
-- if ( InActionId == FMatineeCommands::EGroupAction::NewLightingGroup )
-+ if ( InActionId == FMatineeCommands::EGroupAction::Type::NewLightingGroup )
- {
- UInterpTrack* NewMovTrack = NewObject<UInterpTrackMove>(NewGroup, NAME_None, RF_Transactional);
- const int32 TrackIndex = NewGroup->InterpTracks.Add(NewMovTrack);
-@@ -629,14 +629,14 @@ void FMatinee::NewGroupPopupTextCommitted(
- }
-
- // For Skeletal Mesh groups, add an Anim track
-- if( InActionId == FMatineeCommands::EGroupAction::NewSkeletalMeshGroup)
-+ if( InActionId == FMatineeCommands::EGroupAction::Type::NewSkeletalMeshGroup)
- {
- int32 NewTrackIndex = INDEX_NONE;
- AddTrackToGroup( NewGroup, UInterpTrackAnimControl::StaticClass(), NULL, false, NewTrackIndex );
- }
-
- // For Particle groups, add a Toggle track
-- if( InActionId == FMatineeCommands::EGroupAction::NewParticleGroup )
-+ if( InActionId == FMatineeCommands::EGroupAction::Type::NewParticleGroup )
- {
- int32 NewTrackIndex = INDEX_NONE;
- AddTrackToGroup( NewGroup, UInterpTrackToggle::StaticClass(), NULL, false, NewTrackIndex );
-@@ -1188,7 +1188,7 @@ void FMatinee::OnCreateCameraActorAtCurrentCameraLocation()
- {
- // no actor to add
- TArray<AActor *> OtherActorsToAddToGroup;
-- NewGroupPopup( FMatineeCommands::EGroupAction::NewCameraGroup, NULL, OtherActorsToAddToGroup );
-+ NewGroupPopup( FMatineeCommands::EGroupAction::Type::NewCameraGroup, NULL, OtherActorsToAddToGroup );
- }
-
- /** Called when the "Launch Custom Preview Viewport" is pressed */
-@@ -2097,7 +2097,7 @@ void FMatinee::OnContextGroupChangeGroupFolder( FMatineeCommands::EGroupAction::
- check( HasAGroupSelected() );
-
- // Figure out if we're moving the active group to a new group, or if we simply want to unparent it
-- const bool bIsParenting = ( InActionId != FMatineeCommands::EGroupAction::RemoveFromGroupFolder );
-+ const bool bIsParenting = ( InActionId != FMatineeCommands::EGroupAction::Type::RemoveFromGroupFolder );
-
- // Figure out which direction we're moving things: A group to the selected folder? Or, the selected group
- // to a folder?
-@@ -2107,7 +2107,7 @@ void FMatinee::OnContextGroupChangeGroupFolder( FMatineeCommands::EGroupAction::
- if( bIsParenting )
- {
- bIsMovingSelectedGroupToFolder =
-- (InActionId == FMatineeCommands::EGroupAction::MoveActiveGroupToFolder);
-+ (InActionId == FMatineeCommands::EGroupAction::Type::MoveActiveGroupToFolder);
- bIsMovingGroupToSelectedFolder = !bIsMovingSelectedGroupToFolder;
- }
-
-@@ -2233,23 +2233,23 @@ void FMatinee::OnContextKeyInterpMode( FMatineeCommands::EKeyAction::Type InActi
- FInterpEdSelKey& SelKey = Opt->SelectedKeys[i];
- UInterpTrack* Track = SelKey.Track;
-
-- if (InActionId == FMatineeCommands::EKeyAction::KeyModeLinear)
-+ if (InActionId == FMatineeCommands::EKeyAction::Type::KeyModeLinear)
- {
- Track->SetKeyInterpMode( SelKey.KeyIndex, CIM_Linear );
- }
-- else if (InActionId == FMatineeCommands::EKeyAction::KeyModeCurveAuto)
-+ else if (InActionId == FMatineeCommands::EKeyAction::Type::KeyModeCurveAuto)
- {
- Track->SetKeyInterpMode( SelKey.KeyIndex, CIM_CurveAuto );
- }
-- else if (InActionId == FMatineeCommands::EKeyAction::KeyModeCurveAutoClamped)
-+ else if (InActionId == FMatineeCommands::EKeyAction::Type::KeyModeCurveAutoClamped)
- {
- Track->SetKeyInterpMode( SelKey.KeyIndex, CIM_CurveAutoClamped );
- }
-- else if(InActionId == FMatineeCommands::EKeyAction::KeyModeCurveBreak)
-+ else if(InActionId == FMatineeCommands::EKeyAction::Type::KeyModeCurveBreak)
- {
- Track->SetKeyInterpMode( SelKey.KeyIndex, CIM_CurveBreak );
- }
-- else if(InActionId == FMatineeCommands::EKeyAction::KeyModeConstant)
-+ else if(InActionId == FMatineeCommands::EKeyAction::Type::KeyModeConstant)
- {
- Track->SetKeyInterpMode( SelKey.KeyIndex, CIM_Constant );
- }
-@@ -3713,15 +3713,15 @@ void FMatinee::OnKeyContext_SetCondition( FMatineeCommands::EKeyAction::Type InC
-
- switch( InCondition )
- {
-- case FMatineeCommands::EKeyAction::ConditionAlways:
-+ case FMatineeCommands::EKeyAction::Type::ConditionAlways:
- VisibilityKey.ActiveCondition = EVTC_Always;
- break;
-
-- case FMatineeCommands::EKeyAction::ConditionGoreEnabled:
-+ case FMatineeCommands::EKeyAction::Type::ConditionGoreEnabled:
- VisibilityKey.ActiveCondition = EVTC_GoreEnabled;
- break;
-
-- case FMatineeCommands::EKeyAction::ConditionGoreDisabled:
-+ case FMatineeCommands::EKeyAction::Type::ConditionGoreDisabled:
- VisibilityKey.ActiveCondition = EVTC_GoreDisabled;
- break;
- }
-@@ -3745,21 +3745,21 @@ bool FMatinee::KeyContext_IsSetConditionToggled( FMatineeCommands::EKeyAction::T
-
- switch( InCondition )
- {
-- case FMatineeCommands::EKeyAction::ConditionAlways:
-+ case FMatineeCommands::EKeyAction::Type::ConditionAlways:
- if (VisibilityKey.ActiveCondition != EVTC_Always)
- {
- return false;
- }
- break;
-
-- case FMatineeCommands::EKeyAction::ConditionGoreEnabled:
-+ case FMatineeCommands::EKeyAction::Type::ConditionGoreEnabled:
- if (VisibilityKey.ActiveCondition != EVTC_GoreEnabled)
- {
- return false;
- }
- break;
-
-- case FMatineeCommands::EKeyAction::ConditionGoreDisabled:
-+ case FMatineeCommands::EKeyAction::Type::ConditionGoreDisabled:
- if (VisibilityKey.ActiveCondition != EVTC_GoreDisabled)
- {
- return false;
-@@ -5643,7 +5643,7 @@ TSharedPtr<SWidget> FMatinee::CreateGroupMenu()
- FText::FromString( CurrentParent.Group->GroupName.ToString() ),
- FText::GetEmpty(),
- FSlateIcon(),
-- FUIAction(FExecuteAction::CreateSP( InMatinee, &FMatinee::OnContextGroupChangeGroupFolder, FMatineeCommands::EGroupAction::MoveActiveGroupToFolder, CurrentParent.GroupIndex))
-+ FUIAction(FExecuteAction::CreateSP( InMatinee, &FMatinee::OnContextGroupChangeGroupFolder, FMatineeCommands::EGroupAction::Type::MoveActiveGroupToFolder, CurrentParent.GroupIndex))
- );
- }
- }
-@@ -5679,7 +5679,7 @@ TSharedPtr<SWidget> FMatinee::CreateGroupMenu()
- FText::GetEmpty(),
- FSlateIcon(),
- FUIAction(
-- FExecuteAction::CreateSP(InMatinee, &FMatinee::OnContextGroupChangeGroupFolder, FMatineeCommands::EGroupAction::MoveGroupToActiveFolder, CurrentGroupInfo.GroupIndex)
-+ FExecuteAction::CreateSP(InMatinee, &FMatinee::OnContextGroupChangeGroupFolder, FMatineeCommands::EGroupAction::Type::MoveGroupToActiveFolder, CurrentGroupInfo.GroupIndex)
- )
- );
-
-diff --git a/Engine/Source/Editor/UnrealEd/Private/Factories/EditorFactories.cpp b/Engine/Source/Editor/UnrealEd/Private/Factories/EditorFactories.cpp
-index 2f9a962f004..061af01d3d2 100644
---- a/Engine/Source/Editor/UnrealEd/Private/Factories/EditorFactories.cpp
-+++ b/Engine/Source/Editor/UnrealEd/Private/Factories/EditorFactories.cpp
-@@ -529,7 +529,7 @@ UObject* UMaterialFunctionMaterialLayerFactory::FactoryCreateNew(UClass* Class,U
- UMaterialFunctionMaterialLayer* Function = NewObject<UMaterialFunctionMaterialLayer>(InParent, UMaterialFunctionMaterialLayer::StaticClass(), Name, Flags);
- if (Function)
- {
-- Function->SetMaterialFunctionUsage(EMaterialFunctionUsage::MaterialLayer);
-+ Function->SetMaterialFunctionUsage(Materials::EMaterialFunctionUsage::MaterialLayer);
- }
- return Function;
- }
-@@ -556,7 +556,7 @@ UObject* UMaterialFunctionMaterialLayerBlendFactory::FactoryCreateNew(UClass* Cl
- UMaterialFunctionMaterialLayerBlend* Function = NewObject<UMaterialFunctionMaterialLayerBlend>(InParent, UMaterialFunctionMaterialLayerBlend::StaticClass(), Name, Flags);
- if (Function)
- {
-- Function->SetMaterialFunctionUsage(EMaterialFunctionUsage::MaterialLayerBlend);
-+ Function->SetMaterialFunctionUsage(Materials::EMaterialFunctionUsage::MaterialLayerBlend);
- }
- return Function;
- }
-diff --git a/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxStaticMeshImport.cpp b/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxStaticMeshImport.cpp
-index 4f756102639..3c2664b3d41 100644
---- a/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxStaticMeshImport.cpp
-+++ b/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxStaticMeshImport.cpp
-@@ -1709,7 +1709,7 @@ UStaticMesh* UnFbx::FFbxImporter::ImportStaticMeshAsSingle(UObject* InParent, TA
-
- //Set the Imported version before calling the build
- //We set it here because the remap index is build in RestoreExistingMeshSettings call before the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- if (ExistMeshData && InStaticMesh)
- {
-diff --git a/Engine/Source/Editor/UnrealEd/Private/StaticMeshEdit.cpp b/Engine/Source/Editor/UnrealEd/Private/StaticMeshEdit.cpp
-index 4ea9ecc49a4..fd4eade2118 100644
---- a/Engine/Source/Editor/UnrealEd/Private/StaticMeshEdit.cpp
-+++ b/Engine/Source/Editor/UnrealEd/Private/StaticMeshEdit.cpp
-@@ -614,7 +614,7 @@ UStaticMesh* CreateStaticMesh(FMeshDescription& RawMesh,TArray<FStaticMaterial>&
- }
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- StaticMesh->Build();
- StaticMesh->MarkPackageDirty();
-@@ -837,7 +837,7 @@ UStaticMesh* CreateStaticMeshFromBrush(UObject* Outer, FName Name, ABrush* Brush
- }
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
-
- StaticMesh->Build();
- StaticMesh->MarkPackageDirty();
-@@ -1286,11 +1286,11 @@ void RestoreExistingMeshSettings(ExistingStaticMeshData* ExistingMesh, UStaticMe
- //We need to fill the import version remap before building the mesh since the
- //static mesh component will be register at the end of the build.
- //We do the remap of the material override in the static mesh component in OnRegister()
-- if(ExistingMesh->ImportVersion != EImportStaticMeshVersion::LastVersion)
-+ if(ExistingMesh->ImportVersion != StaticMesh::EImportStaticMeshVersion::LastVersion)
- {
- uint32 MaterialMapKey = 0;
- TArray<int32> ImportRemapMaterial;
-- MaterialMapKey = ((uint32)((ExistingMesh->ImportVersion & 0xffff) << 16) | (uint32)(EImportStaticMeshVersion::LastVersion & 0xffff));
-+ MaterialMapKey = ((uint32)((ExistingMesh->ImportVersion & 0xffff) << 16) | (uint32)(StaticMesh::EImportStaticMeshVersion::LastVersion & 0xffff));
- //Avoid matching a material more then once
- TArray<int32> MatchIndex;
- ImportRemapMaterial.AddZeroed(ExistingMesh->ExistingMaterials.Num());
-diff --git a/Engine/Source/Editor/UnrealEd/Private/ThumbnailRendering/MaterialFunctionThumbnailRenderer.cpp b/Engine/Source/Editor/UnrealEd/Private/ThumbnailRendering/MaterialFunctionThumbnailRenderer.cpp
-index b8a0fda99a3..1c62a29bf1d 100644
---- a/Engine/Source/Editor/UnrealEd/Private/ThumbnailRendering/MaterialFunctionThumbnailRenderer.cpp
-+++ b/Engine/Source/Editor/UnrealEd/Private/ThumbnailRendering/MaterialFunctionThumbnailRenderer.cpp
-@@ -37,13 +37,13 @@ void UMaterialFunctionThumbnailRenderer::Draw(UObject* Object, int32 X, int32 Y,
- }
-
- UMaterialInterface* PreviewMaterial = bIsFunctionInstancePreview ? MatFuncInst->GetPreviewMaterial() : MatFunc->GetPreviewMaterial();
-- EMaterialFunctionUsage FunctionUsage = bIsFunctionInstancePreview ? MatFuncInst->GetMaterialFunctionUsage() : MatFunc->GetMaterialFunctionUsage();
-+ Materials::EMaterialFunctionUsage FunctionUsage = bIsFunctionInstancePreview ? MatFuncInst->GetMaterialFunctionUsage() : MatFunc->GetMaterialFunctionUsage();
- UThumbnailInfo* ThumbnailInfo = bIsFunctionInstancePreview ? MatFuncInst->ThumbnailInfo : MatFunc->ThumbnailInfo;
-
- if (PreviewMaterial)
- {
- PreviewMaterial->ThumbnailInfo = ThumbnailInfo;
-- if (FunctionUsage == EMaterialFunctionUsage::MaterialLayerBlend)
-+ if (FunctionUsage == Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- PreviewMaterial->SetShouldForcePlanePreview(true);
- }
-diff --git a/Engine/Source/Editor/VREditor/Public/VREditorInteractor.h b/Engine/Source/Editor/VREditor/Public/VREditorInteractor.h
-index 93598fddcd6..df1612ce051 100644
---- a/Engine/Source/Editor/VREditor/Public/VREditorInteractor.h
-+++ b/Engine/Source/Editor/VREditor/Public/VREditorInteractor.h
-@@ -25,14 +25,17 @@ enum class EControllerType : uint8
-
- /** Directions the trackpad can be swiped to */
- UENUM( BlueprintType )
--enum ETouchSwipeDirection
-+namespace VRE
- {
-- None = 0,
-- Left = 1,
-- Right = 2,
-- Up = 3,
-- Down = 4
--};
-+ enum ETouchSwipeDirection
-+ {
-+ None = 0,
-+ Left = 1,
-+ Right = 2,
-+ Up = 3,
-+ Down = 4
-+ };
-+}
-
- /**
- * VREditor default interactor
-@@ -339,7 +342,7 @@ private:
-
-
- /** Start undo or redo from swipe for the Vive */
-- void UndoRedoFromSwipe( const ETouchSwipeDirection InSwipeDirection );
-+ void UndoRedoFromSwipe( const VRE::ETouchSwipeDirection InSwipeDirection );
-
- //
- // General input @todo: VREditor: Should this be general (non-UI) in interactordata ?
-@@ -456,7 +459,7 @@ protected:
- FVector2D InitialTouchPosition;
-
- /** Latest swipe direction on the trackpad */
-- ETouchSwipeDirection LastSwipe;
-+ VRE::ETouchSwipeDirection LastSwipe;
-
- /** The mode that owns this interactor */
- UPROPERTY()
-diff --git a/Engine/Source/Editor/VREditor/VREditorInteractor.cpp b/Engine/Source/Editor/VREditor/VREditorInteractor.cpp
-index 12b9ee16c4a..3e240d311be 100644
---- a/Engine/Source/Editor/VREditor/VREditorInteractor.cpp
-+++ b/Engine/Source/Editor/VREditor/VREditorInteractor.cpp
-@@ -147,7 +147,7 @@ UVREditorInteractor::UVREditorInteractor() :
- bIsTriggerPressed( false ),
- bHasTriggerBeenReleasedSinceLastPress( true ),
- InitialTouchPosition(FVector2D::ZeroVector),
-- LastSwipe(ETouchSwipeDirection::None),
-+ LastSwipe(VRE::ETouchSwipeDirection::None),
- VRMode( nullptr )
- {
- }
-@@ -794,12 +794,12 @@ void UVREditorInteractor::PreviewInputKey( class FEditorViewportClient& Viewport
- {
- if (SwipeDelta.X > 0)
- {
-- LastSwipe = ETouchSwipeDirection::Right;
-+ LastSwipe = VRE::ETouchSwipeDirection::Right;
- UndoRedoFromSwipe( LastSwipe );
- }
- else if (SwipeDelta.X < 0)
- {
-- LastSwipe = ETouchSwipeDirection::Left;
-+ LastSwipe = VRE::ETouchSwipeDirection::Left;
- UndoRedoFromSwipe( LastSwipe );
- }
- }
-@@ -807,11 +807,11 @@ void UVREditorInteractor::PreviewInputKey( class FEditorViewportClient& Viewport
- {
- if (SwipeDelta.Y > 0)
- {
-- LastSwipe = ETouchSwipeDirection::Up;
-+ LastSwipe = VRE::ETouchSwipeDirection::Up;
- }
- else if (SwipeDelta.Y < 0)
- {
-- LastSwipe = ETouchSwipeDirection::Down;
-+ LastSwipe = VRE::ETouchSwipeDirection::Down;
- }
- }
- }
-@@ -1627,7 +1627,7 @@ void UVREditorInteractor::UpdateRadialMenuInput( const float DeltaTime )
- }
- }
-
--void UVREditorInteractor::UndoRedoFromSwipe( const ETouchSwipeDirection InSwipeDirection )
-+void UVREditorInteractor::UndoRedoFromSwipe( const VRE::ETouchSwipeDirection InSwipeDirection )
- {
- EViewportInteractionDraggingMode DraggingMode = GetDraggingMode();
- if (GetControllerType() == EControllerType::Laser &&
-@@ -1638,12 +1638,12 @@ void UVREditorInteractor::UndoRedoFromSwipe( const ETouchSwipeDirection InSwipeD
- DraggingMode != EViewportInteractionDraggingMode::AssistingDrag &&
- !VRMode->IsAimingTeleport())
- {
-- if (InSwipeDirection == ETouchSwipeDirection::Left)
-+ if (InSwipeDirection == VRE::ETouchSwipeDirection::Left)
- {
- VRMode->GetWorldInteraction().Undo();
- bFlickActionExecuted = true;
- }
-- else if (InSwipeDirection == ETouchSwipeDirection::Right)
-+ else if (InSwipeDirection == VRE::ETouchSwipeDirection::Right)
- {
- VRMode->GetWorldInteraction().Redo();
- bFlickActionExecuted = true;
-diff --git a/Engine/Source/Editor/WorldBrowser/Private/Tiles/WorldTileCollectionModel.cpp b/Engine/Source/Editor/WorldBrowser/Private/Tiles/WorldTileCollectionModel.cpp
-index 517b0bfb786..ca585ab8cd0 100644
---- a/Engine/Source/Editor/WorldBrowser/Private/Tiles/WorldTileCollectionModel.cpp
-+++ b/Engine/Source/Editor/WorldBrowser/Private/Tiles/WorldTileCollectionModel.cpp
-@@ -2156,7 +2156,7 @@ bool FWorldTileCollectionModel::GenerateLODLevels(FLevelModelList InLevelList, i
- StaticMesh->StaticMaterials.Add(FStaticMaterial(StaticLandscapeMaterial));
-
- //Set the Imported version before calling the build
-- StaticMesh->ImportVersion = EImportStaticMeshVersion::LastVersion;
-+ StaticMesh->ImportVersion = StaticMesh::EImportStaticMeshVersion::LastVersion;
- }
- FMeshDescription& LandscapeRawMesh = *(StaticMesh->CreateMeshDescription(0));
-
-diff --git a/Engine/Source/Runtime/Engine/Classes/Engine/Engine.h b/Engine/Source/Runtime/Engine/Classes/Engine/Engine.h
-index b41fbf66768..8230d2abb29 100644
---- a/Engine/Source/Runtime/Engine/Classes/Engine/Engine.h
-+++ b/Engine/Source/Runtime/Engine/Classes/Engine/Engine.h
-@@ -90,17 +90,20 @@ enum EFullyLoadPackageType
- * Enumerates transition types.
- */
- UENUM()
--enum ETransitionType
-+namespace ET
- {
-- TT_None,
-- TT_Paused,
-- TT_Loading,
-- TT_Saving,
-- TT_Connecting,
-- TT_Precaching,
-- TT_WaitingToConnect,
-- TT_MAX,
--};
-+ enum ETransitionType
-+ {
-+ TT_None,
-+ TT_Paused,
-+ TT_Loading,
-+ TT_Saving,
-+ TT_Connecting,
-+ TT_Precaching,
-+ TT_WaitingToConnect,
-+ TT_MAX,
-+ };
-+}
-
-
- UENUM()
-@@ -115,20 +118,20 @@ enum EConsoleType
- enum class EDynamicResolutionStatus
- {
- // Dynamic resolution is not supported by this platform.
-- Unsupported,
--
-+ Unsupported,
-+
- // Dynamic resolution is disabled by project setting cvar r.DynamicRes.OperationMode=0 or disabled by game user
- // settings with r.DynamicRes.OperationMode=1.
-- Disabled,
--
-+ Disabled,
-+
- // Dynamic resolution has been paused by game thread.
-- Paused,
--
-+ Paused,
-+
- // Dynamic resolution is currently enabled.
-- Enabled,
--
-+ Enabled,
-+
- // Forced enabled at static resolution fraction for profiling purpose with r.DynamicRes.TestScreenPercentage.
-- DebugForceEnabled,
-+ DebugForceEnabled,
- };
-
- /** Information about the state of dynamic resolution. */
-@@ -136,11 +139,11 @@ struct FDynamicResolutionStateInfos
- {
- // Status of dynamic resolution.
- EDynamicResolutionStatus Status;
--
-+
- // Approximation of the resolution fraction being applied. This is only an approximation because
- // of non (and unecessary) thread safety of this value between game thread, and render thread.
- float ResolutionFractionApproximation;
--
-+
- // Maximum resolution fraction set, always MaxResolutionFraction >= ResolutionFractionApproximation.
- float ResolutionFractionUpperBound;
- };
-@@ -151,29 +154,29 @@ USTRUCT()
- struct FFullyLoadedPackagesInfo
- {
- GENERATED_USTRUCT_BODY()
--
-+
- /** When to load these packages */
- UPROPERTY()
- TEnumAsByte<enum EFullyLoadPackageType> FullyLoadType;
--
-+
- /** When this map or gametype is loaded, the packages in the following array will be loaded and added to root, then removed from root when map is unloaded */
- UPROPERTY()
- FString Tag;
--
-+
- /** The list of packages that will be fully loaded when the above Map is loaded */
- UPROPERTY()
- TArray<FName> PackagesToLoad;
--
-+
- /** List of objects that were loaded, for faster cleanup */
- UPROPERTY()
- TArray<class UObject*> LoadedObjects;
--
--
-+
-+
- FFullyLoadedPackagesInfo()
-- : FullyLoadType(0)
-+ : FullyLoadType(0)
- {
- }
--
-+
- };
-
-
-@@ -182,23 +185,23 @@ USTRUCT()
- struct FLevelStreamingStatus
- {
- GENERATED_USTRUCT_BODY()
--
-+
- UPROPERTY()
- FName PackageName;
--
-+
- UPROPERTY()
- uint32 bShouldBeLoaded:1;
--
-+
- UPROPERTY()
- uint32 bShouldBeVisible:1;
--
-+
- UPROPERTY()
- uint32 LODIndex;
--
--
-+
-+
- /** Constructors */
- FLevelStreamingStatus(FName InPackageName, bool bInShouldBeLoaded, bool bInShouldBeVisible, int32 InLODIndex)
-- : PackageName(InPackageName), bShouldBeLoaded(bInShouldBeLoaded), bShouldBeVisible(bInShouldBeVisible), LODIndex(InLODIndex)
-+ : PackageName(InPackageName), bShouldBeLoaded(bInShouldBeLoaded), bShouldBeVisible(bInShouldBeVisible), LODIndex(InLODIndex)
- {}
- FLevelStreamingStatus()
- {
-@@ -1443,7 +1446,7 @@ public:
-
- /** The current transition type. */
- UPROPERTY()
-- TEnumAsByte<enum ETransitionType> TransitionType;
-+ TEnumAsByte<enum ET::ETransitionType> TransitionType;
-
- /** The current transition description text. */
- UPROPERTY()
-diff --git a/Engine/Source/Runtime/Engine/Classes/Engine/StaticMesh.h b/Engine/Source/Runtime/Engine/Classes/Engine/StaticMesh.h
-index 0d3d2e1b0d1..676de42d98b 100644
---- a/Engine/Source/Runtime/Engine/Classes/Engine/StaticMesh.h
-+++ b/Engine/Source/Runtime/Engine/Classes/Engine/StaticMesh.h
-@@ -443,36 +443,38 @@ struct FStaticMaterial
- FMeshUVChannelInfo UVChannelData;
- };
-
--
--enum EImportStaticMeshVersion
-+namespace StaticMesh
- {
-- // Before any version changes were made
-- BeforeImportStaticMeshVersionWasAdded,
-- // Remove the material re-order workflow
-- RemoveStaticMeshSkinxxWorkflow,
-- VersionPlusOne,
-- LastVersion = VersionPlusOne - 1
--};
-+ enum EImportStaticMeshVersion
-+ {
-+ // Before any version changes were made
-+ BeforeImportStaticMeshVersionWasAdded,
-+ // Remove the material re-order workflow
-+ RemoveStaticMeshSkinxxWorkflow,
-+ VersionPlusOne,
-+ LastVersion = VersionPlusOne - 1
-+ };
-+}
-
- USTRUCT()
- struct FMaterialRemapIndex
- {
- GENERATED_USTRUCT_BODY()
--
-+
- FMaterialRemapIndex()
- {
- ImportVersionKey = 0;
- }
--
-+
- FMaterialRemapIndex(uint32 VersionKey, TArray<int32> RemapArray)
-- : ImportVersionKey(VersionKey)
-- , MaterialRemap(RemapArray)
-+ : ImportVersionKey(VersionKey)
-+ , MaterialRemap(RemapArray)
- {
- }
--
-+
- UPROPERTY()
- uint32 ImportVersionKey;
--
-+
- UPROPERTY()
- TArray<int32> MaterialRemap;
- };
-@@ -480,62 +482,62 @@ struct FMaterialRemapIndex
- struct FStaticMeshDescriptionConstAttributeGetter
- {
- ENGINE_API FStaticMeshDescriptionConstAttributeGetter(const FMeshDescription* InMeshDescription)
-- : MeshDescription(InMeshDescription)
-+ : MeshDescription(InMeshDescription)
- {}
--
-+
- const FMeshDescription* MeshDescription;
--
-+
- ENGINE_API TVertexAttributesConstRef<FVector> GetPositions() const { return MeshDescription->VertexAttributes().GetAttributesRef<FVector>(MeshAttribute::Vertex::Position); }
--
-+
- ENGINE_API TVertexInstanceAttributesConstRef<FVector> GetNormals() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector>(MeshAttribute::VertexInstance::Normal); }
--
-+
- ENGINE_API TVertexInstanceAttributesConstRef<FVector> GetTangents() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector>(MeshAttribute::VertexInstance::Tangent); }
--
-+
- ENGINE_API TVertexInstanceAttributesConstRef<float> GetBinormalSigns() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<float>(MeshAttribute::VertexInstance::BinormalSign); }
--
-+
- ENGINE_API TVertexInstanceAttributesConstRef<FVector4> GetColors() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector4>(MeshAttribute::VertexInstance::Color); }
--
-+
- ENGINE_API TVertexInstanceAttributesConstRef<FVector2D> GetUVs() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector2D>(MeshAttribute::VertexInstance::TextureCoordinate); }
--
-+
- ENGINE_API TEdgeAttributesConstRef<bool> GetEdgeHardnesses() const { return MeshDescription->EdgeAttributes().GetAttributesRef<bool>(MeshAttribute::Edge::IsHard); }
--
-+
- ENGINE_API TEdgeAttributesConstRef<float> GetEdgeCreaseSharpnesses() const { return MeshDescription->EdgeAttributes().GetAttributesRef<float>(MeshAttribute::Edge::CreaseSharpness); }
--
-+
- ENGINE_API TPolygonGroupAttributesConstRef<FName> GetPolygonGroupImportedMaterialSlotNames() { return MeshDescription->PolygonGroupAttributes().GetAttributesRef<FName>(MeshAttribute::PolygonGroup::ImportedMaterialSlotName); }
- };
-
- struct FStaticMeshDescriptionAttributeGetter
- {
- ENGINE_API FStaticMeshDescriptionAttributeGetter(FMeshDescription* InMeshDescription)
-- : MeshDescription(InMeshDescription)
-+ : MeshDescription(InMeshDescription)
- {}
-
- FMeshDescription* MeshDescription;
--
-+
- ENGINE_API TVertexAttributesRef<FVector> GetPositions() const { return MeshDescription->VertexAttributes().GetAttributesRef<FVector>(MeshAttribute::Vertex::Position); }
- ENGINE_API TVertexAttributesConstRef<FVector> GetPositionsConst() const { return MeshDescription->VertexAttributes().GetAttributesRef<FVector>(MeshAttribute::Vertex::Position); }
--
-+
- ENGINE_API TVertexInstanceAttributesRef<FVector> GetNormals() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector>(MeshAttribute::VertexInstance::Normal); }
- ENGINE_API TVertexInstanceAttributesConstRef<FVector> GetNormalsConst() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector>(MeshAttribute::VertexInstance::Normal); }
--
-+
- ENGINE_API TVertexInstanceAttributesRef<FVector> GetTangents() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector>(MeshAttribute::VertexInstance::Tangent); }
- ENGINE_API TVertexInstanceAttributesConstRef<FVector> GetTangentsConst() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector>(MeshAttribute::VertexInstance::Tangent); }
--
-+
- ENGINE_API TVertexInstanceAttributesRef<float> GetBinormalSigns() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<float>(MeshAttribute::VertexInstance::BinormalSign); }
- ENGINE_API TVertexInstanceAttributesConstRef<float> GetBinormalSignsConst() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<float>(MeshAttribute::VertexInstance::BinormalSign); }
--
-+
- ENGINE_API TVertexInstanceAttributesRef<FVector4> GetColors() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector4>(MeshAttribute::VertexInstance::Color); }
- ENGINE_API TVertexInstanceAttributesConstRef<FVector4> GetColorsConst() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector4>(MeshAttribute::VertexInstance::Color); }
--
-+
- ENGINE_API TVertexInstanceAttributesRef<FVector2D> GetUVs() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector2D>(MeshAttribute::VertexInstance::TextureCoordinate); }
- ENGINE_API TVertexInstanceAttributesConstRef<FVector2D> GetUVsConst() const { return MeshDescription->VertexInstanceAttributes().GetAttributesRef<FVector2D>(MeshAttribute::VertexInstance::TextureCoordinate); }
--
-+
- ENGINE_API TEdgeAttributesRef<bool> GetEdgeHardnesses() const { return MeshDescription->EdgeAttributes().GetAttributesRef<bool>(MeshAttribute::Edge::IsHard); }
- ENGINE_API TEdgeAttributesConstRef<bool> GetEdgeHardnessesConst() const { return MeshDescription->EdgeAttributes().GetAttributesRef<bool>(MeshAttribute::Edge::IsHard); }
-
- ENGINE_API TEdgeAttributesRef<float> GetEdgeCreaseSharpnesses() const { return MeshDescription->EdgeAttributes().GetAttributesRef<float>(MeshAttribute::Edge::CreaseSharpness); }
- ENGINE_API TEdgeAttributesConstRef<float> GetEdgeCreaseSharpnessesConst() const { return MeshDescription->EdgeAttributes().GetAttributesRef<float>(MeshAttribute::Edge::CreaseSharpness); }
--
-+
- ENGINE_API TPolygonGroupAttributesRef<FName> GetPolygonGroupImportedMaterialSlotNames() { return MeshDescription->PolygonGroupAttributes().GetAttributesRef<FName>(MeshAttribute::PolygonGroup::ImportedMaterialSlotName); }
- ENGINE_API TPolygonGroupAttributesConstRef<FName> GetPolygonGroupImportedMaterialSlotNamesConst() { return MeshDescription->PolygonGroupAttributes().GetAttributesRef<FName>(MeshAttribute::PolygonGroup::ImportedMaterialSlotName); }
- };
-/* @@ -561,24 +563,24 @@ class UStaticMesh : public UStreamableRenderAsset, public IInterface_CollisionDa */
- /* [>* Notification when anything changed <] */
- /* DECLARE_MULTICAST_DELEGATE(FOnMeshChanged); */
- /* #endif */
-/* - */
-/* + */
- /* [>* Pointer to the data used to render this static mesh. <] */
- /* TUniquePtr<class FStaticMeshRenderData> RenderData; */
-/* - */
-/* + */
- /* [>* Pointer to the occluder data used to rasterize this static mesh for software occlusion. <] */
- /* TUniquePtr<class FStaticMeshOccluderData> OccluderData; */
-
- /* #if WITH_EDITORONLY_DATA */
- /* static const float MinimumAutoLODPixelError; */
-/* - */
-/* + */
- /* [>* Imported raw mesh bulk data. <] */
- /* UPROPERTY() */
- /* TArray<FStaticMeshSourceModel> SourceModels; */
-/* - */
-/* + */
- /* [>* Map of LOD+Section index to per-section info. <] */
- /* UPROPERTY() */
- /* FMeshSectionInfoMap SectionInfoMap; */
-/* - */
-/* + */
- /* /** */
- /* * We need the OriginalSectionInfoMap to be able to build mesh in a non destructive way. Reduce has to play with SectionInfoMap in case some sections disappear. */
- /* * This member will be update in the following situation */
-/* @@ -589,80 +591,80 @@ class UStaticMesh : public UStreamableRenderAsset, public IInterface_CollisionDa */
- /* */ */
- /* UPROPERTY() */
- /* FMeshSectionInfoMap OriginalSectionInfoMap; */
-/* - */
-/* + */
- /* [>* The LOD group to which this mesh belongs. <] */
- /* UPROPERTY(EditAnywhere, AssetRegistrySearchable, Category=LodSettings) */
- /* FName LODGroup; */
-/* - */
-/* + */
- /**
- * If non-negative, specify the maximum number of streamed LODs. Only has effect if
- * mesh LOD streaming is enabled for the target platform.
- */
- /* UPROPERTY() */
- /* FPerPlatformInt NumStreamedLODs; */
-/* - */
-/* + */
- /* [> The last import version <] */
- /* UPROPERTY() */
- /* int32 ImportVersion; */
-/* - */
-/* + */
- /* UPROPERTY() */
- /* TArray<FMaterialRemapIndex> MaterialRemapIndexPerImportVersion; */
-
- /* [> The lightmap UV generation version used during the last derived data build <] */
- /* UPROPERTY() */
- /* int32 LightmapUVVersion; */
-/* - */
-/* + */
- /* [>* If true, the screen sizees at which LODs swap are computed automatically. <] */
- /* UPROPERTY() */
- /* uint8 bAutoComputeLODScreenSize : 1; */
-/* - */
-/* + */
- /**
- * If true on post load we need to calculate Display Factors from the
- * loaded LOD distances.
- */
- /* uint8 bRequiresLODDistanceConversion : 1; */
-/* - */
-/* + */
- /**
- * If true on post load we need to calculate resolution independent Display Factors from the
- * loaded LOD screen sizes.
- */
- /* uint8 bRequiresLODScreenSizeConversion : 1; */
-/* - */
-/* + */
- /* [>* Materials used by this static mesh. Individual sections index in to this array. <] */
- /* UPROPERTY() */
- /* TArray<UMaterialInterface*> Materials_DEPRECATED; */
-
- /* #endif // #if WITH_EDITORONLY_DATA */
-/* - */
-/* + */
- /* [>* Minimum LOD to use for rendering. This is the default setting for the mesh and can be overridden by component settings. <] */
- /* UPROPERTY() */
- /* FPerPlatformInt MinLOD; */
-/* - */
-/* + */
- /* [>* Bias multiplier for Light Propagation Volume lighting <] */
- /* UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=StaticMesh, meta=(UIMin = "0.0", UIMax = "3.0")) */
- /* float LpvBiasMultiplier; */
-/* - */
-/* + */
- /* UPROPERTY() */
- /* TArray<FStaticMaterial> StaticMaterials; */
-/* - */
-/* + */
- /* UPROPERTY() */
- /* float LightmapUVDensity; */
-/* - */
-/* + */
- /* UPROPERTY(EditAnywhere, Category=StaticMesh, meta=(ClampMax = 4096, ToolTip="The light map resolution", FixedIncrement="4.0")) */
- /* int32 LightMapResolution; */
-/* - */
-/* + */
- /* [>* The light map coordinate index <] */
- /* UPROPERTY(EditAnywhere, AdvancedDisplay, Category=StaticMesh, meta=(ToolTip="The light map coordinate index", UIMin = "0", UIMax = "3")) */
- /* int32 LightMapCoordinateIndex; */
-/* - */
-/* + */
- /* [>* Useful for reducing self shadowing from distance field methods when using world position offset to animate the mesh's vertices. <] */
- /* UPROPERTY(EditAnywhere, AdvancedDisplay, Category = StaticMesh) */
- /* float DistanceFieldSelfShadowBias; */
-/* - */
-/* + */
- /* // Physics data. */
- /* UPROPERTY(EditAnywhere, transient, duplicatetransient, Instanced, Category = StaticMesh) */
- /* class UBodySetup* BodySetup; */
-/* - */
-/* + */
- /* /** */
- /* * Specifies which mesh LOD to use for complex (per-poly) collision. */
- /* * Sometimes it can be desirable to use a lower poly representation for collision to reduce memory usage, improve performance and behaviour. */
-/* @@ -670,24 +672,24 @@ class UStaticMesh : public UStreamableRenderAsset, public IInterface_CollisionDa */
- /* */ */
- /* UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = StaticMesh, meta=(DisplayName="LOD For Collision")) */
- /* int32 LODForCollision; */
-/* - */
-/* + */
- /**
- * Whether to generate a distance field for this mesh, which can be used by DistanceField Indirect Shadows.
- * This is ignored if the project's 'Generate Mesh Distance Fields' setting is enabled.
- */
- /* UPROPERTY(EditAnywhere, Category=StaticMesh) */
- /* uint8 bGenerateMeshDistanceField : 1; */
-/* - */
-/* + */
- /* /** If true, strips unwanted complex collision data aka kDOP tree when cooking for consoles. */
- /* On the Playstation 3 data of this mesh will be stored in video memory. */ */
- /* UPROPERTY() */
- /* uint8 bStripComplexCollisionForConsole_DEPRECATED:1; */
-/* - */
-/* + */
- /* /** If true, mesh will have NavCollision property with additional data for navmesh generation and usage. */
- /* Set to false for distant meshes (always outside navigation bounds) to save memory on collision data. */ */
- /* UPROPERTY(EditAnywhere, AdvancedDisplay, Category=Navigation) */
- /* uint8 bHasNavigationData:1; */
-/* - */
-/* + */
- /* /** */
- /* Mesh supports uniformly distributed sampling in constant time. */
- /* Memory cost is 8 bytes per triangle. */
-/* @@ -707,7 +709,7 @@ public: */
- /* */ */
- /* UPROPERTY(EditAnywhere, AdvancedDisplay, Category = StaticMesh) */
- /* uint8 bAllowCPUAccess:1; */
-/* - */
-/* + */
- /* /** */
- /* * If true, a GPU buffer containing required data for uniform mesh surface sampling will be created at load time. */
- /* * It is created from the cpu data so bSupportUniformlyDistributedSampling is also required to be true. */
-diff --git a/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunction.h b/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunction.h
-index db44daa9c26..1a11c3f4a85 100644
---- a/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunction.h
-+++ b/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunction.h
-@@ -83,10 +83,10 @@ public:
- virtual void PostLoad() override;
- //~ End UObject Interface.
-
-- void SetMaterialFunctionUsage(EMaterialFunctionUsage Usage) { MaterialFunctionUsage = Usage; }
-+ void SetMaterialFunctionUsage(Materials::EMaterialFunctionUsage Usage) { MaterialFunctionUsage = Usage; }
-
- //~ Begin UMaterialFunctionInterface interface
-- virtual EMaterialFunctionUsage GetMaterialFunctionUsage() override { return MaterialFunctionUsage; }
-+ virtual Materials::EMaterialFunctionUsage GetMaterialFunctionUsage() override { return MaterialFunctionUsage; }
-
- #if WITH_EDITOR
- /** Recursively update all function call expressions in this function, or in nested functions. */
-diff --git a/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInstance.h b/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInstance.h
-index 6687d8bef4c..605637fbf91 100644
---- a/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInstance.h
-+++ b/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInstance.h
-@@ -23,10 +23,10 @@ class UMaterialFunctionInstance : public UMaterialFunctionInterface
- Base = GetBaseFunction();
- }
-
-- virtual EMaterialFunctionUsage GetMaterialFunctionUsage() override
-+ virtual Materials::EMaterialFunctionUsage GetMaterialFunctionUsage() override
- {
- UMaterialFunctionInterface* BaseFunction = GetBaseFunction();
-- return BaseFunction ? BaseFunction->GetMaterialFunctionUsage() : EMaterialFunctionUsage::Default;
-+ return BaseFunction ? BaseFunction->GetMaterialFunctionUsage() : Materials::EMaterialFunctionUsage::Default;
- }
-
- /** Parent function. */
-diff --git a/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInterface.h b/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInterface.h
-index eba1223ff82..b1de0cdfd39 100644
---- a/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInterface.h
-+++ b/Engine/Source/Runtime/Engine/Classes/Materials/MaterialFunctionInterface.h
-@@ -20,12 +20,15 @@ struct FPropertyChangedEvent;
-
- /** Usage set on a material function determines feature compatibility and validation. */
- UENUM()
--enum EMaterialFunctionUsage
-+namespace Materials
- {
-- Default,
-- MaterialLayer,
-- MaterialLayerBlend
--};
-+ enum EMaterialFunctionUsage
-+ {
-+ Default,
-+ MaterialLayer,
-+ MaterialLayerBlend
-+ };
-+}
-
- /**
- * A Material Function is a collection of material expressions that can be reused in different materials
-@@ -46,11 +49,11 @@ class UMaterialFunctionInterface : public UObject
- protected:
- /** The intended usage of this function, required for material layers. */
- UPROPERTY(AssetRegistrySearchable)
-- TEnumAsByte<enum EMaterialFunctionUsage> MaterialFunctionUsage;
-+ TEnumAsByte<enum Materials::EMaterialFunctionUsage> MaterialFunctionUsage;
-
- public:
-- virtual EMaterialFunctionUsage GetMaterialFunctionUsage()
-- PURE_VIRTUAL(UMaterialFunctionInterface::GetMaterialFunctionUsage,return EMaterialFunctionUsage::Default;);
-+ virtual Materials::EMaterialFunctionUsage GetMaterialFunctionUsage()
-+ PURE_VIRTUAL(UMaterialFunctionInterface::GetMaterialFunctionUsage,return Materials::EMaterialFunctionUsage::Default;);
-
- virtual void UpdateFromFunctionResource()
- PURE_VIRTUAL(UMaterialFunctionInterface::UpdateFromFunctionResource,);
-diff --git a/Engine/Source/Runtime/Engine/Private/Components/StaticMeshComponent.cpp b/Engine/Source/Runtime/Engine/Private/Components/StaticMeshComponent.cpp
-index 983aad302a4..5c269bcca73 100644
---- a/Engine/Source/Runtime/Engine/Private/Components/StaticMeshComponent.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/Components/StaticMeshComponent.cpp
-@@ -180,7 +180,7 @@ UStaticMeshComponent::UStaticMeshComponent(const FObjectInitializer& ObjectIniti
- SectionIndexPreview = INDEX_NONE;
- SelectedEditorMaterial = INDEX_NONE;
- MaterialIndexPreview = INDEX_NONE;
-- StaticMeshImportVersion = BeforeImportStaticMeshVersionWasAdded;
-+ StaticMeshImportVersion = StaticMesh::BeforeImportStaticMeshVersionWasAdded;
- bCustomOverrideVertexColorPerLOD = false;
- bDisplayVertexColors = false;
- #endif
-diff --git a/Engine/Source/Runtime/Engine/Private/GameInstance.cpp b/Engine/Source/Runtime/Engine/Private/GameInstance.cpp
-index 52bda3a959a..a6f0bbe7713 100644
---- a/Engine/Source/Runtime/Engine/Private/GameInstance.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/GameInstance.cpp
-@@ -320,7 +320,7 @@ FGameInstancePIEResult UGameInstance::StartPlayInEditorGameInstance(ULocalPlayer
-
- if (EditorEngine->Browse(*WorldContext, FURL(&BaseURL, *URLString, (ETravelType)TRAVEL_Absolute), Error) == EBrowseReturnVal::Pending)
- {
-- EditorEngine->TransitionType = TT_WaitingToConnect;
-+ EditorEngine->TransitionType = ET::TT_WaitingToConnect;
- }
- else
- {
-diff --git a/Engine/Source/Runtime/Engine/Private/GameViewportClient.cpp b/Engine/Source/Runtime/Engine/Private/GameViewportClient.cpp
-index a2657215d11..ca8b4f56f40 100644
---- a/Engine/Source/Runtime/Engine/Private/GameViewportClient.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/GameViewportClient.cpp
-@@ -2474,22 +2474,22 @@ void UGameViewportClient::DrawTransition(UCanvas* Canvas)
- {
- switch (GetOuterUEngine()->TransitionType)
- {
-- case TT_Loading:
-+ case ET::TT_Loading:
- DrawTransitionMessage(Canvas, NSLOCTEXT("GameViewportClient", "LoadingMessage", "LOADING").ToString());
- break;
-- case TT_Saving:
-+ case ET::TT_Saving:
- DrawTransitionMessage(Canvas, NSLOCTEXT("GameViewportClient", "SavingMessage", "SAVING").ToString());
- break;
-- case TT_Connecting:
-+ case ET::TT_Connecting:
- DrawTransitionMessage(Canvas, NSLOCTEXT("GameViewportClient", "ConnectingMessage", "CONNECTING").ToString());
- break;
-- case TT_Precaching:
-+ case ET::TT_Precaching:
- DrawTransitionMessage(Canvas, NSLOCTEXT("GameViewportClient", "PrecachingMessage", "PRECACHING").ToString());
- break;
-- case TT_Paused:
-+ case ET::TT_Paused:
- DrawTransitionMessage(Canvas, NSLOCTEXT("GameViewportClient", "PausedMessage", "PAUSED").ToString());
- break;
-- case TT_WaitingToConnect:
-+ case ET::TT_WaitingToConnect:
- DrawTransitionMessage(Canvas, TEXT("Waiting to connect...")); // Temp - localization of the FString messages is broke atm. Loc this when its fixed.
- break;
- }
-diff --git a/Engine/Source/Runtime/Engine/Private/Materials/MaterialExpressions.cpp b/Engine/Source/Runtime/Engine/Private/Materials/MaterialExpressions.cpp
-index 61faf4fba20..63335b946a6 100644
---- a/Engine/Source/Runtime/Engine/Private/Materials/MaterialExpressions.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/Materials/MaterialExpressions.cpp
-@@ -5604,7 +5604,7 @@ bool UMaterialExpressionMaterialAttributeLayers::ValidateLayerConfiguration(FMat
-
- if (Layer)
- {
-- if (Layer->GetMaterialFunctionUsage() != EMaterialFunctionUsage::MaterialLayer)
-+ if (Layer->GetMaterialFunctionUsage() != Materials::EMaterialFunctionUsage::MaterialLayer)
- {
- COMPILER_OR_LOG_ERROR(TEXT("Layer %i, %s, not set for layer usage."), LayerIndex, *Layer->GetName());
- bIsValid = false;
-@@ -5641,7 +5641,7 @@ bool UMaterialExpressionMaterialAttributeLayers::ValidateLayerConfiguration(FMat
-
- if (Blend)
- {
-- if (Blend->GetMaterialFunctionUsage() != EMaterialFunctionUsage::MaterialLayerBlend)
-+ if (Blend->GetMaterialFunctionUsage() != Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- COMPILER_OR_LOG_ERROR(TEXT("Blend %i, %s, not set for layer blend usage."), BlendIndex, *Blend->GetName());
- bIsValid = false;
-@@ -10154,7 +10154,7 @@ void UMaterialExpressionCustom::Serialize(FStructuredArchive::FRecord Record)
- ///////////////////////////////////////////////////////////////////////////////
- UMaterialFunctionInterface::UMaterialFunctionInterface(const FObjectInitializer& ObjectInitializer)
- : Super(ObjectInitializer)
-- , MaterialFunctionUsage(EMaterialFunctionUsage::Default)
-+ , MaterialFunctionUsage(Materials::EMaterialFunctionUsage::Default)
- {
- }
-
-@@ -10560,7 +10560,7 @@ bool UMaterialFunction::ValidateFunctionUsage(FMaterialCompiler* Compiler, const
- int32 NumOutputs = 0;
-
- #if WITH_EDITOR
-- if (GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayer)
-+ if (GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayer)
- {
- // Material layers must have a single MA input and output only
- for (UMaterialExpression* Expression : FunctionExpressions)
-@@ -10596,7 +10596,7 @@ bool UMaterialFunction::ValidateFunctionUsage(FMaterialCompiler* Compiler, const
- bHasValidOutput = false;
- }
- }
-- else if (GetMaterialFunctionUsage() == EMaterialFunctionUsage::MaterialLayerBlend)
-+ else if (GetMaterialFunctionUsage() == Materials::EMaterialFunctionUsage::MaterialLayerBlend)
- {
- // Material layer blends can have up to two MA inputs and single MA output only
- for (UMaterialExpression* Expression : FunctionExpressions)
-diff --git a/Engine/Source/Runtime/Engine/Private/PendingNetGame.cpp b/Engine/Source/Runtime/Engine/Private/PendingNetGame.cpp
-index bdd4f671121..4ac5f1493f9 100644
---- a/Engine/Source/Runtime/Engine/Private/PendingNetGame.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/PendingNetGame.cpp
-@@ -150,7 +150,7 @@ void UPendingNetGame::LoadMapCompleted(UEngine* Engine, FWorldContext& Context,
- else
- {
- // Show connecting message, cause precaching to occur.
-- Engine->TransitionType = TT_Connecting;
-+ Engine->TransitionType = ET::TT_Connecting;
-
- Engine->RedrawViewports(false);
-
-diff --git a/Engine/Source/Runtime/Engine/Private/StaticMesh.cpp b/Engine/Source/Runtime/Engine/Private/StaticMesh.cpp
-index 3cd18526729..118e36ff14b 100644
---- a/Engine/Source/Runtime/Engine/Private/StaticMesh.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/StaticMesh.cpp
-@@ -2479,7 +2479,7 @@ UStaticMesh::UStaticMesh(const FObjectInitializer& ObjectInitializer)
- bHasNavigationData=true;
- #if WITH_EDITORONLY_DATA
- bAutoComputeLODScreenSize=true;
-- ImportVersion = EImportStaticMeshVersion::BeforeImportStaticMeshVersionWasAdded;
-+ ImportVersion = StaticMesh::EImportStaticMeshVersion::BeforeImportStaticMeshVersionWasAdded;
- LODForOccluderMesh = -1;
- NumStreamedLODs.Default = -1;
- #endif // #if WITH_EDITORONLY_DATA
-diff --git a/Engine/Source/Runtime/Engine/Private/UnrealEngine.cpp b/Engine/Source/Runtime/Engine/Private/UnrealEngine.cpp
-index 3a771896442..95cdda8c8b3 100644
---- a/Engine/Source/Runtime/Engine/Private/UnrealEngine.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/UnrealEngine.cpp
-@@ -12069,9 +12069,9 @@ void UEngine::TickWorldTravel(FWorldContext& Context, float DeltaSeconds)
- }
- }
- }
-- else if (TransitionType == TT_WaitingToConnect)
-+ else if (TransitionType == ET::TT_WaitingToConnect)
- {
-- TransitionType = TT_None;
-+ TransitionType = ET::TT_None;
- }
-
- return;
-@@ -12177,7 +12177,7 @@ bool UEngine::LoadMap( FWorldContext& WorldContext, FURL URL, class UPendingNetG
-
- if(!URL.HasOption(TEXT("quiet")) )
- {
-- TransitionType = TT_Loading;
-+ TransitionType = ET::TT_Loading;
- TransitionDescription = URL.Map;
- if (URL.HasOption(TEXT("Game=")))
- {
-@@ -12196,7 +12196,7 @@ bool UEngine::LoadMap( FWorldContext& WorldContext, FURL URL, class UPendingNetG
- LoadMapRedrawViewports();
- }
-
-- TransitionType = TT_None;
-+ TransitionType = ET::TT_None;
- }
-
- // Clean up networking
-@@ -12881,10 +12881,10 @@ void UEngine::LoadPackagesFully(UWorld * InWorld, EFullyLoadPackageType FullyLoa
- void UEngine::UpdateTransitionType(UWorld *CurrentWorld)
- {
- // Update the transition screen.
-- if(TransitionType == TT_Connecting)
-+ if(TransitionType == ET::TT_Connecting)
- {
- // Check to see if all players have finished connecting.
-- TransitionType = TT_None;
-+ TransitionType = ET::TT_None;
-
- FWorldContext &Context = GetWorldContextFromWorldChecked(CurrentWorld);
- if (Context.OwningGameInstance != NULL)
-@@ -12894,16 +12894,16 @@ void UEngine::UpdateTransitionType(UWorld *CurrentWorld)
- if(!(*It)->PlayerController)
- {
- // This player has not received a PlayerController from the server yet, so leave the connecting screen up.
-- TransitionType = TT_Connecting;
-+ TransitionType = ET::TT_Connecting;
- break;
- }
- }
- }
- }
-- else if(TransitionType == TT_None || TransitionType == TT_Paused)
-+ else if(TransitionType == ET::TT_None || TransitionType == ET::TT_Paused)
- {
- // Display a paused screen if the game is paused.
-- TransitionType = (CurrentWorld->GetWorldSettings()->Pauser != NULL) ? TT_Paused : TT_None;
-+ TransitionType = (CurrentWorld->GetWorldSettings()->Pauser != NULL) ? ET::TT_Paused : ET::TT_None;
- }
- }
-
-diff --git a/Engine/Source/Runtime/MovieScene/Private/MovieSceneSequencePlayer.cpp b/Engine/Source/Runtime/MovieScene/Private/MovieSceneSequencePlayer.cpp
-index 31349c2d94c..f9850e97ae5 100644
---- a/Engine/Source/Runtime/MovieScene/Private/MovieSceneSequencePlayer.cpp
-+++ b/Engine/Source/Runtime/MovieScene/Private/MovieSceneSequencePlayer.cpp
-@@ -210,7 +210,7 @@ void UMovieSceneSequencePlayer::Pause()
- {
- if (bIsEvaluating)
- {
-- LatentActions.Emplace(FLatentAction::Pause);
-+ LatentActions.Emplace(FLatentAction::EType::Pause);
- return;
- }
-
-@@ -279,7 +279,7 @@ void UMovieSceneSequencePlayer::StopInternal(FFrameTime TimeToResetTo)
- {
- if (bIsEvaluating)
- {
-- LatentActions.Emplace(FLatentAction::Stop, TimeToResetTo);
-+ LatentActions.Emplace(FLatentAction::EType::Stop, TimeToResetTo);
- return;
- }
-
-@@ -886,11 +886,11 @@ void UMovieSceneSequencePlayer::ApplyLatentActions()
- {
- switch (LatentAction.Type)
- {
-- case FLatentAction::Stop: StopInternal(LatentAction.Position); continue;
-- case FLatentAction::Pause: Pause(); continue;
-+ case FLatentAction::EType::Stop: StopInternal(LatentAction.Position); continue;
-+ case FLatentAction::EType::Pause: Pause(); continue;
- }
-
-- check(LatentAction.Type == FLatentAction::Update);
-+ check(LatentAction.Type == FLatentAction::EType::Update);
- switch (LatentAction.UpdateMethod)
- {
- case EUpdatePositionMethod::Play: PlayToFrame( LatentAction.Position); continue;
-diff --git a/Engine/Source/Runtime/MovieScene/Public/MovieSceneSequencePlayer.h b/Engine/Source/Runtime/MovieScene/Public/MovieSceneSequencePlayer.h
-index 4b02049aead..2362d0e00a5 100644
---- a/Engine/Source/Runtime/MovieScene/Public/MovieSceneSequencePlayer.h
-+++ b/Engine/Source/Runtime/MovieScene/Public/MovieSceneSequencePlayer.h
-@@ -204,6 +204,7 @@ public:
- UFUNCTION(BlueprintCallable, Category="Game|Cinematic")
- void Scrub();
-
-+ //TODO Fix Stop, Pause, Update
- /** Stop playback and move the cursor to the end (or start, for reversed playback) of the sequence. */
- UFUNCTION(BlueprintCallable, Category="Game|Cinematic")
- void Stop();
-@@ -630,14 +631,14 @@ protected:
-
- struct FLatentAction
- {
-- enum EType { Stop, Pause, Update };
-+ enum class EType { Stop, Pause, Update };
-
- FLatentAction(EType InType, FFrameTime DesiredTime = 0)
- : Type(InType)
- {}
-
- FLatentAction(EUpdatePositionMethod InUpdateMethod, FFrameTime DesiredTime)
-- : Type(Update), UpdateMethod(InUpdateMethod), Position(DesiredTime)
-+ : Type(EType::Update), UpdateMethod(InUpdateMethod), Position(DesiredTime)
- {}
-
- EType Type;
-diff --git a/Engine/Source/Runtime/Online/BuildPatchServices/Private/Common/StatsCollector.h b/Engine/Source/Runtime/Online/BuildPatchServices/Private/Common/StatsCollector.h
-index 1830c07fa1b..2b27f2f1d34 100644
---- a/Engine/Source/Runtime/Online/BuildPatchServices/Private/Common/StatsCollector.h
-+++ b/Engine/Source/Runtime/Online/BuildPatchServices/Private/Common/StatsCollector.h
-@@ -5,7 +5,7 @@
-
- namespace BuildPatchServices
- {
-- enum EStatFormat
-+ enum class EStatFormat
- {
- // Using the AccumulateTimeBegin and End functions, measured in cycles
- Timer,
-diff --git a/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLUniformBuffer.cpp b/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLUniformBuffer.cpp
-index 2a858159bae..ebf3bf8ef2d 100644
---- a/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLUniformBuffer.cpp
-+++ b/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLUniformBuffer.cpp
-@@ -346,7 +346,7 @@ static void SuballocateUBO( uint32 Size, GLuint& Resource, uint32& Offset, uint8
- if (FOpenGL::SupportsBufferStorage() && OpenGLConsoleVariables::bUBODirectWrite)
- {
- FOpenGL::BufferStorage( GL_UNIFORM_BUFFER, GetUBOPoolSize(), NULL, GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT );
-- Pool.Pointer = (uint8*)FOpenGL::MapBufferRange(GL_UNIFORM_BUFFER, 0, GetUBOPoolSize(), FOpenGL::RLM_WriteOnlyPersistent);
-+ Pool.Pointer = (uint8*)FOpenGL::MapBufferRange(GL_UNIFORM_BUFFER, 0, GetUBOPoolSize(), FOpenGL::EResourceLockMode::RLM_WriteOnlyPersistent);
- }
- else
- {
-diff --git a/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLVertexBuffer.cpp b/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLVertexBuffer.cpp
-index 4503c83b539..7237c6ea54b 100644
---- a/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLVertexBuffer.cpp
-+++ b/Engine/Source/Runtime/OpenGLDrv/Private/OpenGLVertexBuffer.cpp
-@@ -61,7 +61,7 @@ void* GetAllocation( void* Target, uint32 Size, uint32 Offset, uint32 Alignment
- FOpenGL::GenBuffers(1, &PoolVB);
- glBindBuffer(GL_COPY_READ_BUFFER, PoolVB);
- FOpenGL::BufferStorage(GL_COPY_READ_BUFFER, PerFrameMax * 4, NULL, GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT);
-- PoolPointer = (uint8*)FOpenGL::MapBufferRange(GL_COPY_READ_BUFFER, 0, PerFrameMax * 4, FOpenGL::RLM_WriteOnlyPersistent);
-+ PoolPointer = (uint8*)FOpenGL::MapBufferRange(GL_COPY_READ_BUFFER, 0, PerFrameMax * 4, FOpenGL::EResourceLockMode::RLM_WriteOnlyPersistent);
-
- FreeSpace = PerFrameMax * 4;
-
-diff --git a/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL.h b/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL.h
-index ea5b2a455d2..7c8007a6ad5 100644
---- a/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL.h
-+++ b/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL.h
-@@ -51,7 +51,7 @@ struct FPlatformOpenGLContext;
- class FOpenGLBase
- {
- public:
-- enum EResourceLockMode
-+ enum class EResourceLockMode
- {
- RLM_ReadWrite,
- RLM_ReadOnly,
-diff --git a/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL3.h b/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL3.h
-index 871cd065f76..290ea841040 100644
---- a/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL3.h
-+++ b/Engine/Source/Runtime/OpenGLDrv/Public/OpenGL3.h
-@@ -142,23 +142,23 @@ struct FOpenGL3 : public FOpenGLBase
- GLenum Access;
- switch ( LockMode )
- {
-- case RLM_ReadOnly:
-+ case EResourceLockMode::RLM_ReadOnly:
- Access = GL_MAP_READ_BIT;
- break;
-- case RLM_WriteOnly:
-+ case EResourceLockMode::RLM_WriteOnly:
- Access = (GL_MAP_INVALIDATE_BUFFER_BIT | GL_MAP_WRITE_BIT);
- #if 1
- // Temp workaround for synchrnoization when a UBO is discarded while being referenced
- Access |= GL_MAP_UNSYNCHRONIZED_BIT;
- #endif
- break;
-- case RLM_WriteOnlyUnsynchronized:
-+ case EResourceLockMode::RLM_WriteOnlyUnsynchronized:
- Access = (GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT);
- break;
-- case RLM_WriteOnlyPersistent:
-+ case EResourceLockMode::RLM_WriteOnlyPersistent:
- Access = (GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT);
- break;
-- case RLM_ReadWrite:
-+ case EResourceLockMode::RLM_ReadWrite:
- default:
- Access = (GL_MAP_READ_BIT | GL_MAP_WRITE_BIT);
- }
-diff --git a/Engine/Source/Runtime/OpenGLDrv/Public/OpenGLResources.h b/Engine/Source/Runtime/OpenGLDrv/Public/OpenGLResources.h
-index 94021a865f5..3aa2317c959 100644
---- a/Engine/Source/Runtime/OpenGLDrv/Public/OpenGLResources.h
-+++ b/Engine/Source/Runtime/OpenGLDrv/Public/OpenGLResources.h
-@@ -618,7 +618,7 @@ public:
-
- if ( bUseMapBuffer)
- {
-- FOpenGL::EResourceLockMode LockMode = bReadOnly ? FOpenGL::RLM_ReadOnly : FOpenGL::RLM_WriteOnly;
-+ FOpenGL::EResourceLockMode LockMode = bReadOnly ? FOpenGL::EResourceLockMode::RLM_ReadOnly : FOpenGL::EResourceLockMode::RLM_WriteOnly;
- Data = static_cast<uint8*>( FOpenGL::MapBufferRange( Type, InOffset, InSize, LockMode ) );
- // checkf(Data != NULL, TEXT("FOpenGL::MapBufferRange Failed, glError %d (0x%x)"), glGetError(), glGetError());
-
-@@ -685,7 +685,7 @@ public:
-
- if ( bUseMapBuffer)
- {
-- FOpenGL::EResourceLockMode LockMode = bDiscard ? FOpenGL::RLM_WriteOnly : FOpenGL::RLM_WriteOnlyUnsynchronized;
-+ FOpenGL::EResourceLockMode LockMode = bDiscard ? FOpenGL::EResourceLockMode::RLM_WriteOnly : FOpenGL::EResourceLockMode::RLM_WriteOnlyUnsynchronized;
- Data = static_cast<uint8*>( FOpenGL::MapBufferRange( Type, InOffset, InSize, LockMode ) );
- LockOffset = InOffset;
- LockSize = InSize;
---
-2.22.0
-
diff --git a/PKGBUILD b/PKGBUILD
index 461d49149c9..9dfc62a278e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,7 @@
pkgname='unreal-engine'
install="$pkgname.install"
-pkgver=4.22.3
+pkgver=4.23.0
# shellcheck disable=SC2034
{
pkgrel=1
@@ -24,26 +24,18 @@ pkgver=4.22.3
source=(
"git+ssh://git@github.com/EpicGames/UnrealEngine.git#tag=$pkgver-release"
'UE4Editor.desktop'
- 'html5-build.patch'
'recompile-version-selector.patch'
'Makefile'
'ignore-clang50-install.patch'
'use-arch-mono.patch'
- 'clang-70-support.patch'
- '0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch'
- '0002-fixes-shadowing-issues-with-enums.patch'
)
sha256sums=('SKIP'
'46871ed662a3c97698be609d27da280d9000ec97183f1fa6592986f9910a2118'
- '9fd6d16d56fbe0489a2580b86359df84b83a6987b5760a9e57ae0898f51943ac'
'1dd876fa48c6fb4fcd4ccbdb8ed4ceccfa294685911e91be58bbc5e95726c279'
'9654226ef3318389aa8fe15f3d4d14e7ac2113520ee5ebf2899d42273a2a6fb0'
'71a7304deebb00234c323eed9a73cdbd022099ba65f62fc90e78069eceed1f5d'
- 'c2a8ba1aba8fbda51270ec49e745ffba96e89cd627efe0d6a801d7629494a620'
- '5d86920545fa341a7ae39f198bab61ef2e41b165f41805c2b64c137599eff61e'
- '926c513cc59dcbde0dbac44b6201089a0381ea992ef3353919c049a25fa6c364'
- '871e1a95f1761a613cfc2f0209f22e4afbacd102f2d3239bf27e3b16202e28ad')
+ '6b30adf71eeabaf1b2b669aa56c9deba145a4fe7bdd2e77f44b0cb7423162bc0')
# Package is 3 Gib smaller with "strip" but it's skipped because it takes a long time and generates many warnings
options=(strip staticlibs)
@@ -59,12 +51,6 @@ prepare() {
patch "$srcdir/UnrealEngine/Engine/Build/BatchFiles/Linux/SetupMono.sh" use-arch-mono.patch
patch "$srcdir/UnrealEngine/Setup.sh" recompile-version-selector.patch
- pushd "$srcdir/UnrealEngine" > /dev/null
- patch -p1 -i ../clang-70-support.patch
- patch -p1 -i ../0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch
- patch -p1 -i ../0002-fixes-shadowing-issues-with-enums.patch
- popd > /dev/null
-
cp "$srcdir/Makefile" "$srcdir/UnrealEngine/Makefile"
# Source Code Accessors
@@ -90,7 +76,6 @@ prepare() {
echo "Running setup"
./Setup.sh
- patch "$ue4src/Programs/UnrealBuildTool/Platform/HTML5/HTML5SDKInfo.cs" "$srcdir/html5-build.patch"
echo "generating project files"
./GenerateProjectFiles.sh -makefile
}
diff --git a/clang-70-support.patch b/clang-70-support.patch
deleted file mode 100644
index 8f8ce76a0e0..00000000000
--- a/clang-70-support.patch
+++ /dev/null
@@ -1,327 +0,0 @@
-From efa3fd24e2b05d8ca64f342b3fe9dc6940a0b653 Mon Sep 17 00:00:00 2001
-From: Zerophase <mikelojkovic@gmail.com>
-Date: Sat, 5 Jan 2019 01:14:30 -0600
-Subject: [PATCH 1/5] Fix no-pie support for clang
-
----
- .../Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-index 1cbe22dcb55..46d3559d932 100644
---- a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-@@ -924,7 +924,7 @@ namespace UnrealBuildTool
- Result += " -Wl,--build-id";
- if (bSuppressPIE && !LinkEnvironment.bIsBuildingDLL)
- {
-- Result += " -Wl,-nopie";
-+ Result += " -Wl,--no-pie";
- }
-
- // whether we actually can do that is checked in CanUseLTO() earlier
---
-2.20.1
-
-
-From 55a7d2ae886a037a59d0f20b843e6bdbbec5d3f1 Mon Sep 17 00:00:00 2001
-From: Zerophase <mikelojkovic@gmail.com>
-Date: Sat, 5 Jan 2019 06:40:26 -0600
-Subject: [PATCH 2/5] Fix clang error -Wconstant-logical-operand
-
----
- Engine/Source/Runtime/Core/Public/HAL/Platform.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Engine/Source/Runtime/Core/Public/HAL/Platform.h b/Engine/Source/Runtime/Core/Public/HAL/Platform.h
-index 853a9e0512c..edb6497d636 100644
---- a/Engine/Source/Runtime/Core/Public/HAL/Platform.h
-+++ b/Engine/Source/Runtime/Core/Public/HAL/Platform.h
-@@ -822,7 +822,7 @@ namespace TypeTests
- static_assert((!TAreTypesEqual<ANSICHAR, WIDECHAR>::Value), "ANSICHAR and WIDECHAR should be different types.");
- static_assert((!TAreTypesEqual<ANSICHAR, UCS2CHAR>::Value), "ANSICHAR and CHAR16 should be different types.");
- static_assert((!TAreTypesEqual<WIDECHAR, UCS2CHAR>::Value), "WIDECHAR and CHAR16 should be different types.");
-- static_assert((TAreTypesEqual<TCHAR, ANSICHAR>::Value || TAreTypesEqual<TCHAR, WIDECHAR>::Value), "TCHAR should either be ANSICHAR or WIDECHAR.");
-+ static_assert((TAreTypesEqual<TCHAR, ANSICHAR>::Value | TAreTypesEqual<TCHAR, WIDECHAR>::Value), "TCHAR should either be ANSICHAR or WIDECHAR.");
-
- static_assert(sizeof(uint8) == 1, "BYTE type size test failed.");
- static_assert(int32(uint8(-1)) == 0xFF, "BYTE type sign test failed.");
---
-2.20.1
-
-
-From b0b12145255abe924236127607e2856b1ff601b4 Mon Sep 17 00:00:00 2001
-From: Zerophase <mikelojkovic@gmail.com>
-Date: Sat, 5 Jan 2019 06:49:25 -0600
-Subject: [PATCH 3/5] Uses move constructor explictly, when values returned by
- name, to avoid copying
-
----
- .../Source/RemoteSession/Private/MessageHandler/Messages.h | 1 +
- Engine/Source/Runtime/Engine/Private/Player.cpp | 1 +
- Engine/Source/Runtime/Engine/Private/UnrealExporter.cpp | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/Engine/Plugins/Experimental/RemoteSession/Source/RemoteSession/Private/MessageHandler/Messages.h b/Engine/Plugins/Experimental/RemoteSession/Source/RemoteSession/Private/MessageHandler/Messages.h
-index f57d3dbd808..d4c9bcaeae9 100644
---- a/Engine/Plugins/Experimental/RemoteSession/Source/RemoteSession/Private/MessageHandler/Messages.h
-+++ b/Engine/Plugins/Experimental/RemoteSession/Source/RemoteSession/Private/MessageHandler/Messages.h
-@@ -5,6 +5,7 @@
- #include "CoreMinimal.h"
- #include "Serialization/BufferArchive.h"
- #include "Serialization/MemoryReader.h"
-+#include "Templates/UnrealTemplate.h"
-
- struct NoParamMsg
- {
-diff --git a/Engine/Source/Runtime/Engine/Private/Player.cpp b/Engine/Source/Runtime/Engine/Private/Player.cpp
-index d082c22e375..19b60d725e0 100644
---- a/Engine/Source/Runtime/Engine/Private/Player.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/Player.cpp
-@@ -16,6 +16,7 @@
-
- #include "GameFramework/CheatManager.h"
- #include "GameFramework/GameStateBase.h"
-+#include "Templates/UnrealTemplate.h"
-
- //////////////////////////////////////////////////////////////////////////
- // UPlayer
-diff --git a/Engine/Source/Runtime/Engine/Private/UnrealExporter.cpp b/Engine/Source/Runtime/Engine/Private/UnrealExporter.cpp
-index 9cdc271cc18..03d7c83ee2c 100644
---- a/Engine/Source/Runtime/Engine/Private/UnrealExporter.cpp
-+++ b/Engine/Source/Runtime/Engine/Private/UnrealExporter.cpp
-@@ -25,6 +25,7 @@
- #include "Misc/FeedbackContext.h"
- #include "AssetExportTask.h"
- #include "UObject/GCObjectScopeGuard.h"
-+#include "Templates/UnrealTemplate.h"
-
- DEFINE_LOG_CATEGORY_STATIC(LogExporter, Log, All);
-
---
-2.20.1
-
-
-From af58ce094487ce3f6aaf504d56def813dd5583fc Mon Sep 17 00:00:00 2001
-From: Zerophase <mikelojkovic@gmail.com>
-Date: Mon, 7 Jan 2019 21:58:14 -0600
-Subject: [PATCH 4/5] change --no-pie to -no-pie
-
----
- .../Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-index 46d3559d932..58f6df1ef14 100644
---- a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
-@@ -924,7 +924,7 @@ namespace UnrealBuildTool
- Result += " -Wl,--build-id";
- if (bSuppressPIE && !LinkEnvironment.bIsBuildingDLL)
- {
-- Result += " -Wl,--no-pie";
-+ Result += " -Wl,-no-pie";
- }
-
- // whether we actually can do that is checked in CanUseLTO() earlier
---
-2.20.1
-
-
-/* From 203ecda2cb48fabcd57ede14655f744f04e78145 Mon Sep 17 00:00:00 2001 */
-/* From: Zerophase <mikelojkovic@gmail.com> */
-/* Date: Mon, 7 Jan 2019 23:22:46 -0600 */
-/* Subject: [PATCH 5/5] Switches usage of Move to MoveTemp for resolving */
- /* Wreturn-std-move error */
-
-/* --- */
- /* .../Source/Programs/UnrealHeaderTool/Private/CodeGenerator.cpp | 1 - */
- /* .../Programs/UnrealHeaderTool/Private/UnrealSourceFile.cpp | 1 - */
- /* 2 files changed, 2 deletions(-) */
-
-/* diff --git a/Engine/Source/Programs/UnrealHeaderTool/Private/CodeGenerator.cpp b/Engine/Source/Programs/UnrealHeaderTool/Private/CodeGenerator.cpp */
-/* index e3f6de7aa5a..e80cb179174 100644 */
-/* --- a/Engine/Source/Programs/UnrealHeaderTool/Private/CodeGenerator.cpp */
-/* +++ b/Engine/Source/Programs/UnrealHeaderTool/Private/CodeGenerator.cpp */
-/* @@ -2617,7 +2617,6 @@ static FString PrivatePropertiesOffsetGetters(const UStruct* Struct, const FStri */
- /* *PropertyName, *StructCppName, *PropertyName); */
- /* } */
- /* } */
-/* - */
-/* - return Result; */
-/* + return MoveTemp(Result); */
- /* } */
-
-/* diff --git a/Engine/Source/Programs/UnrealHeaderTool/Private/UnrealSourceFile.cpp b/Engine/Source/Programs/UnrealHeaderTool/Private/UnrealSourceFile.cpp */
-/* index c90166540cb..173a2518431 100644 */
-/* --- a/Engine/Source/Programs/UnrealHeaderTool/Private/UnrealSourceFile.cpp */
-/* +++ b/Engine/Source/Programs/UnrealHeaderTool/Private/UnrealSourceFile.cpp */
-/* @@ -45,7 +45,6 @@ FString FUnrealSourceFile::GetFileId() const */
- /* Out.AppendChar('_'); */
- /* } */
- /* } */
-/* - */
-/* - return Out; */
-/* + return MoveTemp(Out); */
- /* } */
-
---
-2.20.1
-
-/* diff --git a/Engine/Source/Runtime/Engine/Private/TimerManager.cpp b/Engine/Source/Runtime/Engine/Private/TimerManager.cpp */
-/* index a3645ce3d67..cff60942cc3 100644 */
-/* --- a/Engine/Source/Runtime/Engine/Private/TimerManager.cpp */
-/* +++ b/Engine/Source/Runtime/Engine/Private/TimerManager.cpp */
-/* @@ -42,7 +42,7 @@ namespace */
- /* { */
- /* FStringOutputDevice Output; */
- /* DescribeFTimerDataSafely(Output, Data); */
-/* - return Output; */
-/* + return MoveTemp(Output); */
- /* } */
- /* } */
-
-/* --- a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs 2019-01-29 18:23:29.935169346 -0600 */
-/* +++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs 2019-01-27 15:09:29.820085074 -0600 */
-/* @@ -171,10 +171,10 @@ */
- /* throw new BuildException("Unable to build: no compatible clang version found. Please run Setup.sh"); */
- /* } */
- /* // prevent unknown clangs since the build is likely to fail on too old or too new compilers */
-/* - else if ((CompilerVersionMajor * 10 + CompilerVersionMinor) > 60 || (CompilerVersionMajor * 10 + CompilerVersionMinor) < 38) */
-/* + else if ((CompilerVersionMajor * 10 + CompilerVersionMinor) > 70 || (CompilerVersionMajor * 10 + CompilerVersionMinor) < 38) */
- /* { */
- /* throw new BuildException( */
-/* - string.Format("This version of the Unreal Engine can only be compiled with clang 6.0, 5.0, 4.0, 3.9, 3.8. clang {0} may not build it - please use a different version.", */
-/* + string.Format("This version of the Unreal Engine can only be compiled with clang 7.0, 6.0, 5.0, 4.0, 3.9, 3.8. clang {0} may not build it - please use a different version.", */
- /* CompilerVersionString) */
- /* ); */
- /* } */
-/* --- a/Engine/Plugins/Experimental/RemoteSession/Source/RemoteSession/Private/MessageHandler/Messages.h 2019-01-29 18:39:14.528390396 -0600 */
-/* +++ b/Engine/Plugins/Experimental/RemoteSession/Source/RemoteSession/Private/MessageHandler/Messages.h 2019-01-27 15:01:57.569942558 -0600 */
-/* @@ -1,4 +1,4 @@ */
-/* -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. */
-/* +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. */
-
- /* #pragma once */
-
-/* @@ -20,7 +20,7 @@ */
- /* TArray<uint8> AsData() */
- /* { */
- /* FBufferArchive MemAr; */
-/* - return MemAr; */
-/* + return MoveTemp(MemAr); */
- /* } */
- /* }; */
-
-/* @@ -48,7 +48,7 @@ */
- /* { */
- /* FBufferArchive MemAr; */
- /* MemAr << Param1 << Param2; */
-/* - return MemAr; */
-/* + return MoveTemp(MemAr); */
- /* } */
- /* }; */
-
-/* @@ -80,7 +80,7 @@ */
- /* { */
- /* FBufferArchive MemAr; */
- /* MemAr << Param1 << Param2 << Param3; */
-/* - return MemAr; */
-/* + return MoveTemp(MemAr); */
- /* } */
- /* }; */
-
-/* @@ -116,7 +116,7 @@ */
- /* { */
- /* FBufferArchive MemAr; */
- /* MemAr << Param1 << Param2 << Param3 << Param4; */
-/* - return MemAr; */
-/* + return MoveTemp(MemAr); */
- /* } */
- /* }; */
-
-/* @@ -156,6 +156,6 @@ */
- /* { */
- /* FBufferArchive MemAr; */
- /* MemAr << Param1 << Param2 << Param3 << Param4 << Param5; */
-/* - return MemAr; */
-/* + return MoveTemp(MemAr); */
- /* } */
- /* }; */
-/* --- a/Engine/Source/Runtime/Engine/Private/Player.cpp 2019-01-29 18:39:14.528390396 -0600 */
-/* +++ b/Engine/Source/Runtime/Engine/Private/Player.cpp 2019-01-27 15:04:39.436398242 -0600 */
-/* @@ -1,4 +1,4 @@ */
-/* -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. */
-/* +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. */
-
- /* /*============================================================================= */
- /* Player.cpp: Unreal player implementation. */
-/* @@ -65,7 +65,7 @@ */
-
- /* if (!bWriteToLog) */
- /* { */
-/* - return StrOut; */
-/* + return MoveTemp(StrOut); */
- /* } */
-
- /* return TEXT(""); */
-/* --- a/Engine/Source/Runtime/Engine/Private/UnrealExporter.cpp 2019-01-29 18:39:14.528390396 -0600 */
-/* +++ b/Engine/Source/Runtime/Engine/Private/UnrealExporter.cpp 2019-01-27 18:31:30.304177510 -0600 */
-/* @@ -1,4 +1,4 @@ */
-/* -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. */
-/* +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. */
-
- /* /*============================================================================= */
- /* UExporter.cpp: Exporter class implementation. */
-/* @@ -870,7 +870,8 @@ */
- /* Output.Logf(TEXT("Components for '%s':\r\n"), *Object->GetFullName()); */
- /* ExportProperties(NULL, Output, Object->GetClass(), (uint8*)Object, 2, NULL, NULL, Object, PPF_SubobjectsOnly); */
- /* Output.Logf(TEXT("<--- DONE!\r\n")); */
-/* - return Output; */
-/* + */
-/* + return MoveTemp(Output); */
- /* } */
-
-
-/* @@ -890,5 +891,5 @@ */
- /* const FExportObjectInnerContext Context; */
- /* UExporter::ExportToOutputDevice(&Context, Object, NULL, Archive, TEXT("copy"), 0, PPF_Copy | PPF_DebugDump, false); */
-
-/* - return Archive; */
-/* + return MoveTemp(Archive); */
- /* } */
-/* --- a/Engine/Plugins/FX/Niagara/Source/NiagaraEditor/Private/ViewModels/NiagaraScriptViewModel.cpp 2019-01-29 17:49:54.610116866 -0600 */
-/* +++ b/Engine/Plugins/FX/Niagara/Source/NiagaraEditor/Private/ViewModels/NiagaraScriptViewModel.cpp 2019-01-27 11:17:57.796011354 -0600 */
-/* @@ -1,4 +1,4 @@ */
-/* -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. */
-/* +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. */
-
- /* #include "NiagaraScriptViewModel.h" */
- /* #include "NiagaraScript.h" */
-/* @@ -298,7 +298,6 @@ */
- /* ENiagaraScriptCompileStatus ScriptStatus = Scripts[i]->GetLastCompileStatus(); */
- /* if (Scripts[i].IsValid() && Scripts[i]->IsCompilable() && Scripts[i]->GetVMExecutableData().IsValid() && Scripts[i]->GetVMExecutableData().ByteCode.Num() == 0) // This is either a brand new script or failed in the past. Since we create a default working script, assume invalid. */
- /* { */
-/* - LastCompileStatus = LastCompileStatus; */
- /* Message = TEXT("Please recompile for full error stack."); */
- /* GraphViewModel->SetErrorTextToolTip(Message); */
- /* } */
-/* --- a/Engine/Source/Editor/Kismet/Private/SBlueprintPalette.cpp 2019-01-29 17:49:54.880099978 -0600 */
-/* +++ b/Engine/Source/Editor/Kismet/Private/SBlueprintPalette.cpp 2019-01-27 11:17:57.986007265 -0600 */
-/* @@ -1,4 +1,4 @@ */
-/* -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. */
-/* +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. */
-
- /* #include "SBlueprintPalette.h" */
- /* #include "Widgets/IToolTip.h" */
-/* @@ -318,10 +318,6 @@ */
- /* { */
- /* ToolTipOut = NodeToolTipText; */
- /* } */
-/* - else */
-/* - { */
-/* - ToolTipOut = ToolTipOut; */
-/* - } */
-
- /* // Ask node for a palette icon */
- /* FLinearColor IconLinearColor = FLinearColor::White; */
diff --git a/html5-build.patch b/html5-build.patch
deleted file mode 100644
index 49703f574f6..00000000000
--- a/html5-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- HTML5SDKInfo.cs 2017-10-27 01:48:21.310579458 -0500
-+++ HTML5SDKInfo_new.cs 2017-10-27 02:10:28.642228303 -0500
-@@ -176,7 +176,7 @@
-
- case UnrealTargetPlatform.Mac:
- case UnrealTargetPlatform.Linux:
-- return "/usr/bin/python";
-+ return "/usr/bin/python2";
-
- default:
- return "error_unknown_platform";
diff --git a/use-arch-mono.patch b/use-arch-mono.patch
index 7756bf4d498..1499016525a 100644
--- a/use-arch-mono.patch
+++ b/use-arch-mono.patch
@@ -1,23 +1,10 @@
---- SetupMono.sh 2018-07-20 12:52:21.496049854 -0500
-+++ SetupMono_new.sh 2018-07-20 12:57:46.307955647 -0500
-@@ -12,16 +12,19 @@
+--- SetupMono.sh 2019-09-05 18:59:40.953565669 -0500
++++ SetupMono.sh.new 2019-09-05 19:05:21.203570187 -0500
+@@ -11,6 +11,7 @@
+ bash FixDependencyFiles.sh
IS_MONO_INSTALLED=0
- MONO_VERSION_PATH=$(command -v mono) || true
+UE_USE_SYSTEM_MONO=1
+ MONO_VERSION_PATH=$(command -v mono) || true
if [ "$UE_USE_SYSTEM_MONO" == "1" ] && [ ! $MONO_VERSION_PATH == "" ] && [ -f $MONO_VERSION_PATH ]; then
- # If Mono is installed, check if it's 4.0.2 or higher
- MONO_VERSION_PREFIX="Mono JIT compiler version "
- MONO_VERSION_PREFIX_LEN=${#MONO_VERSION_PREFIX}
- MONO_VERSION=`"${MONO_VERSION_PATH}" --version |grep "$MONO_VERSION_PREFIX"`
- MONO_VERSION=(`echo ${MONO_VERSION:MONO_VERSION_PREFIX_LEN} |tr '.' ' '`)
-- if [ ${MONO_VERSION[0]} -ge 4 ]; then
-+ if [ ${MONO_VERSION[0]} -eq 4 ]; then
- if [ ${MONO_VERSION[1]} -ge 0 ] || [ ${MONO_VERSION[2]} -ge 2 ]; then
- IS_MONO_INSTALLED=1
- fi
-+ elif [ ${MONO_VERSION[0]} -eq 5 ]; then
-+ IS_MONO_INSTALLED=1
- fi
- fi
-
+ # If Mono is installed, check if it's 5.0 or higher