diff options
author | Zerophase | 2019-09-06 18:55:06 -0500 |
---|---|---|
committer | Zerophase | 2019-09-06 19:08:36 -0500 |
commit | d6698a2c50090931be6374c4a2c701810876eb5b (patch) | |
tree | 7dbe4a91794b5b0ab27ffc30871e1baa9c72efd3 | |
parent | b1fb64f2e510850b18ce8407aa1ef7763734f9da (diff) | |
download | aur-d6698a2c50090931be6374c4a2c701810876eb5b.tar.gz |
Update to 4.23.0
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | 0001-Updates-UBT-Linux-tool-chain-for-supporting-clang-8.patch | 29 | ||||
-rw-r--r-- | 0002-fixes-shadowing-issues-with-enums.patch | 2190 | ||||
-rw-r--r-- | PKGBUILD | 19 | ||||
-rw-r--r-- | clang-70-support.patch | 327 | ||||
-rw-r--r-- | html5-build.patch | 11 | ||||
-rw-r--r-- | use-arch-mono.patch | 25 |
7 files changed, 11 insertions, 2604 deletions
@@ -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 355e4d792cb2..000000000000 --- 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 4fb9c09175de..000000000000 --- 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 - @@ -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 8f8ce76a0e07..000000000000 --- 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 49703f574f61..000000000000 --- 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 7756bf4d498d..1499016525a1 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 |