diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini index 05bb01e5..9c0fd09f 100644 --- a/Config/DefaultEditor.ini +++ b/Config/DefaultEditor.ini @@ -40,3 +40,5 @@ Version=1 -GameTargetsSettings=(Name="Game",Guid=AE0EA34A45461A25BA65A391026F19F8,TargetDependencies=(33482D004789784C9DA695A682ACCA1B,AC8BFD2A41A2FB2893BB8EA0AF903E6D),AdditionalManifestDependencies=,RequiredModuleNames=,GatherFromTextFiles=(IsEnabled=False,SearchDirectories=,ExcludePathWildcards=,FileExtensions=((Pattern="h"),(Pattern="cpp"),(Pattern="ini"))),GatherFromPackages=(IsEnabled=False,IncludePathWildcards=,ExcludePathWildcards=,FileExtensions=((Pattern="umap"),(Pattern="uasset")),ShouldGatherFromEditorOnlyData=False),GatherFromMetaData=(IsEnabled=False,IncludePathWildcards=,ExcludePathWildcards=,KeySpecifications=,ShouldGatherFromEditorOnlyData=False),NativeCultureIndex=-1,SupportedCulturesStatistics=((CultureName="en"))) +GameTargetsSettings=(Name="Game",Guid=AE0EA34A45461A25BA65A391026F19F8,TargetDependencies=(33482D004789784C9DA695A682ACCA1B,AC8BFD2A41A2FB2893BB8EA0AF903E6D),AdditionalManifestDependencies=,RequiredModuleNames=,GatherFromTextFiles=(IsEnabled=False,SearchDirectories=,ExcludePathWildcards=,FileExtensions=((Pattern="h"),(Pattern="cpp"),(Pattern="ini")),ShouldGatherFromEditorOnlyData=False),GatherFromPackages=(IsEnabled=True,IncludePathWildcards=((Pattern="Content/Blueprints/UI/*")),ExcludePathWildcards=,FileExtensions=((Pattern="umap"),(Pattern="uasset")),Collections=,ExcludeClasses=,ShouldExcludeDerivedClasses=False,ShouldGatherFromEditorOnlyData=False,SkipGatherCache=False),GatherFromMetaData=(IsEnabled=False,IncludePathWildcards=,ExcludePathWildcards=,KeySpecifications=,ShouldGatherFromEditorOnlyData=False),ExportSettings=(CollapseMode=IdenticalTextIdAndSource,POFormat=Unreal,ShouldPersistCommentsOnExport=False,ShouldAddSourceLocationsAsComments=True),CompileSettings=(SkipSourceCheck=False,ValidateFormatPatterns=True,ValidateSafeWhitespace=False),ImportDialogueSettings=(RawAudioPath=(Path=""),ImportedDialogueFolder="ImportedDialogue",bImportNativeAsSource=False),NativeCultureIndex=1,SupportedCulturesStatistics=((CultureName="en"),(CultureName="ru-RU"))) +[/Script/AdvancedPreviewScene.SharedProfiles] + diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index 891d2bba..e7010cfc 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -33,6 +33,9 @@ r.AllowOcclusionQueries=True r.MinScreenRadiusForLights=0.010000 r.DefaultFeature.AntiAliasing=2 r.TessellationAdaptivePixelsPerTriangle=1024.000000 +r.RayTracing.Shadows=True +r.RayTracing.Skylight=False +r.Lumen.HardwareRayTracing=True [/Script/Engine.UserInterfaceSettings] UIScaleCurve=(EditorCurveData=(Keys=((Time=540.000000,Value=0.250000),(Time=2160.000000,Value=1.000000)),DefaultValue=340282346638528859811704183484516925440.000000,PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant),ExternalCurve=None) @@ -103,6 +106,33 @@ ApplicationScale=1.000000 [/Script/WindowsTargetPlatform.WindowsTargetSettings] DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 +-D3D12TargetedShaderFormats=PCD3D_SM5 ++D3D12TargetedShaderFormats=PCD3D_SM5 ++D3D12TargetedShaderFormats=PCD3D_SM6 +-D3D11TargetedShaderFormats=PCD3D_SM5 ++D3D11TargetedShaderFormats=PCD3D_SM5 +Compiler=Default +AudioSampleRate=48000 +AudioCallbackBufferFrameSize=1024 +AudioNumBuffersToEnqueue=1 +AudioMaxChannels=0 +AudioNumSourceWorkers=4 +SpatializationPlugin= +SourceDataOverridePlugin= +ReverbPlugin= +OcclusionPlugin= +CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0) +CacheSizeKB=65536 +MaxChunkSizeOverrideKB=0 +bResampleForDevice=False +MaxSampleRate=48000.000000 +HighSampleRate=32000.000000 +MedSampleRate=24000.000000 +LowSampleRate=12000.000000 +MinSampleRate=8000.000000 +CompressionQualityModifier=1.000000 +AutoStreamingThreshold=0.000000 +SoundCueCookQualityIndex=-1 [/Script/Engine.StreamingSettings] s.UseBackgroundLevelStreaming=False @@ -158,3 +188,17 @@ gc.IncrementalBeginDestroyEnabled=False [/Script/Engine.AudioSettings] DefaultBaseSoundMix=None +[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] +bEnablePlugin=True +bAllowNetworkConnection=True +SecurityToken=8A136ECB41CE5978E21DE99417CB1ECE +bIncludeInShipping=False +bAllowExternalStartInShipping=False +bCompileAFSProject=False +bUseCompression=False +bLogFiles=False +bReportStats=False +ConnectionType=USBOnly +bUseManualIPAddress=False +ManualIPAddress= + diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini index 475a5359..1a9c9d53 100644 --- a/Config/DefaultInput.ini +++ b/Config/DefaultInput.ini @@ -76,6 +76,11 @@ bUseMouseForTouch=True bEnableMouseSmoothing=False bEnableFOVScaling=False bCaptureMouseOnLaunch=False +bEnableLegacyInputScales=True +bEnableMotionControls=True +bFilterInputByPlatformUser=False +bShouldFlushPressedKeysOnViewportFocusLost=True +bEnableDynamicComponentInputBinding=True bAlwaysShowTouchInterface=False bShowConsoleOnFourFingerTap=True bEnableGestureRecognizer=False @@ -126,8 +131,8 @@ DoubleClickTime=0.200000 +AxisMappings=(AxisName="R_btn2",Scale=1.000000,Key=OculusTouch_Right_B_Click) +AxisMappings=(AxisName="L_btn1",Scale=1.000000,Key=OculusTouch_Left_X_Click) +AxisMappings=(AxisName="L_btn2",Scale=1.000000,Key=OculusTouch_Left_Y_Click) -DefaultPlayerInputClass=/Script/Engine.PlayerInput -DefaultInputComponentClass=/Script/Engine.InputComponent +DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput +DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent DefaultTouchInterface=None -ConsoleKeys=Tilde +ConsoleKeys=Tilde diff --git a/Content/Blueprints/Player/GI.uasset b/Content/Blueprints/Player/GI.uasset index 0161934e..01420033 100644 Binary files a/Content/Blueprints/Player/GI.uasset and b/Content/Blueprints/Player/GI.uasset differ diff --git a/Content/Blueprints/Player/MyPC.uasset b/Content/Blueprints/Player/MyPC.uasset index 063ef6ad..e8f186f8 100644 Binary files a/Content/Blueprints/Player/MyPC.uasset and b/Content/Blueprints/Player/MyPC.uasset differ diff --git a/Content/Blueprints/Player/myGM.uasset b/Content/Blueprints/Player/myGM.uasset index 3c7a9e4b..5aa7b0ea 100644 Binary files a/Content/Blueprints/Player/myGM.uasset and b/Content/Blueprints/Player/myGM.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Menu/settings.uasset b/Content/Blueprints/UI/WBPS/Menu/settings.uasset index a4c4f65f..b189b7e1 100644 Binary files a/Content/Blueprints/UI/WBPS/Menu/settings.uasset and b/Content/Blueprints/UI/WBPS/Menu/settings.uasset differ diff --git a/Content/Blueprints/UI/WBPS/filter/Filter.uasset b/Content/Blueprints/UI/WBPS/filter/Filter.uasset index 9ceac60a..32aa38b6 100644 Binary files a/Content/Blueprints/UI/WBPS/filter/Filter.uasset and b/Content/Blueprints/UI/WBPS/filter/Filter.uasset differ diff --git a/Content/Lighting/HDR/sunset.uasset b/Content/Lighting/HDR/sunset.uasset new file mode 100644 index 00000000..21a8f744 Binary files /dev/null and b/Content/Lighting/HDR/sunset.uasset differ diff --git a/Content/Lighting/Material/MPC_sky.uasset b/Content/Lighting/Material/MPC_sky.uasset new file mode 100644 index 00000000..c296e59f Binary files /dev/null and b/Content/Lighting/Material/MPC_sky.uasset differ diff --git a/Content/Lighting/Material/M_sky.uasset b/Content/Lighting/Material/M_sky.uasset new file mode 100644 index 00000000..86732375 Binary files /dev/null and b/Content/Lighting/Material/M_sky.uasset differ diff --git a/Content/Maps/Landscape.umap b/Content/Maps/Landscape.umap index d0d31c25..f81e3776 100644 Binary files a/Content/Maps/Landscape.umap and b/Content/Maps/Landscape.umap differ diff --git a/Content/Maps/MainScene.umap b/Content/Maps/MainScene.umap index 7a639ece..a9bb1574 100644 Binary files a/Content/Maps/MainScene.umap and b/Content/Maps/MainScene.umap differ diff --git a/Content/Maps/Main_Building.umap b/Content/Maps/Main_Building.umap index 8b5c0d89..75b91ca5 100644 Binary files a/Content/Maps/Main_Building.umap and b/Content/Maps/Main_Building.umap differ diff --git a/Content/Maps/Underground_parking_GP4.umap b/Content/Maps/Underground_parking_GP4.umap index 78ae6019..3b0fd1fd 100644 Binary files a/Content/Maps/Underground_parking_GP4.umap and b/Content/Maps/Underground_parking_GP4.umap differ diff --git a/Content/Maps/Yard_GP4.umap b/Content/Maps/Yard_GP4.umap index 7e2d163a..33c3bd46 100644 Binary files a/Content/Maps/Yard_GP4.umap and b/Content/Maps/Yard_GP4.umap differ diff --git a/Content/Meshes/MainBuildings/Fixed_v4/SM_GP4_S02_Fix_v5_18.uasset b/Content/Meshes/MainBuildings/Fixed_v4/SM_GP4_S02_Fix_v5_18.uasset index bd721d67..e6ef79ce 100644 Binary files a/Content/Meshes/MainBuildings/Fixed_v4/SM_GP4_S02_Fix_v5_18.uasset and b/Content/Meshes/MainBuildings/Fixed_v4/SM_GP4_S02_Fix_v5_18.uasset differ diff --git a/Content/Meshes/sky/SM_dome.uasset b/Content/Meshes/sky/SM_dome.uasset new file mode 100644 index 00000000..c6784434 Binary files /dev/null and b/Content/Meshes/sky/SM_dome.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_CarPaint.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_CarPaint.uasset index db009961..d074e680 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_CarPaint.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_CarPaint.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Fabric.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Fabric.uasset index 74cae032..f71c42ac 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Fabric.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Fabric.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Glass.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Glass.uasset index 93a12e17..7c10ed81 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Glass.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Glass.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Lights.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Lights.uasset index a5951301..92d390ef 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Lights.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Lights.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Ext.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Ext.uasset index 825264c3..7bfb251d 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Ext.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Ext.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Int.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Int.uasset index dbd00692..8eeb5c02 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Int.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Metal_Int.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Ext.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Ext.uasset index ad64f4b9..5c7e6f9c 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Ext.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Ext.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Int.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Int.uasset index 60ec95b2..159900fc 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Int.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Plastic_Int.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Rubber.uasset b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Rubber.uasset index 2033f36e..920500c9 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Rubber.uasset and b/Content/MigrateFortis/AssetPacks/Cars/Materials/MA_Rubber.uasset differ diff --git a/Content/MigrateFortis/AssetPacks/Cars/SUV/Mesh/M_CompactSUV.uasset b/Content/MigrateFortis/AssetPacks/Cars/SUV/Mesh/M_CompactSUV.uasset index 90ff79c7..a0a1613c 100644 Binary files a/Content/MigrateFortis/AssetPacks/Cars/SUV/Mesh/M_CompactSUV.uasset and b/Content/MigrateFortis/AssetPacks/Cars/SUV/Mesh/M_CompactSUV.uasset differ diff --git a/Content/MigrateMavisTrees/AM_vol4/Materials/M_main_tree-bark.uasset b/Content/MigrateMavisTrees/AM_vol4/Materials/M_main_tree-bark.uasset index 0e0be63b..d521dfaf 100644 Binary files a/Content/MigrateMavisTrees/AM_vol4/Materials/M_main_tree-bark.uasset and b/Content/MigrateMavisTrees/AM_vol4/Materials/M_main_tree-bark.uasset differ diff --git a/Content/MigrateMavisTrees/AM_vol4/Meshes/BP_AM_vol4_tree_31_0.uasset b/Content/MigrateMavisTrees/AM_vol4/Meshes/BP_AM_vol4_tree_31_0.uasset index e9424f31..00bf5e26 100644 Binary files a/Content/MigrateMavisTrees/AM_vol4/Meshes/BP_AM_vol4_tree_31_0.uasset and b/Content/MigrateMavisTrees/AM_vol4/Meshes/BP_AM_vol4_tree_31_0.uasset differ diff --git a/Content/MigrateMavisTrees/AM_vol4/Meshes/SM_AM_vol4_tree_31_0.uasset b/Content/MigrateMavisTrees/AM_vol4/Meshes/SM_AM_vol4_tree_31_0.uasset index 012c5785..887f74d6 100644 Binary files a/Content/MigrateMavisTrees/AM_vol4/Meshes/SM_AM_vol4_tree_31_0.uasset and b/Content/MigrateMavisTrees/AM_vol4/Meshes/SM_AM_vol4_tree_31_0.uasset differ diff --git a/Ivazowsky.uproject b/Ivazowsky.uproject index 34fa522a..b16d8fea 100644 --- a/Ivazowsky.uproject +++ b/Ivazowsky.uproject @@ -1,6 +1,6 @@ { "FileVersion": 3, - "EngineAssociation": "4.27", + "EngineAssociation": "5.1", "Category": "", "Description": "", "Plugins": [ @@ -283,11 +283,6 @@ "Name": "Niagara", "Enabled": true }, - { - "Name": "BlueprintJson", - "Enabled": true, - "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/f837e4835fbc434a853fe1ead2410b84" - }, { "Name": "RuntimeFilesDownloader", "Enabled": true, @@ -332,18 +327,18 @@ "Android" ] }, - { - "Name": "SteamVR", - "Enabled": false, - "SupportedTargetPlatforms": [ - "Win32", - "Win64", - "Linux" - ] - }, + { + "Name": "SteamVR", + "Enabled": false, + "SupportedTargetPlatforms": [ + "Win32", + "Win64", + "Linux" + ] + }, { "Name": "DLSS", - "Enabled": false, + "Enabled": true, "MarketplaceURL": "https://www.unrealengine.com/marketplace/en-US/product/nvidia-dlss" }, { @@ -356,6 +351,7 @@ } ], "TargetPlatforms": [ - "WindowsNoEditor" + "WindowsNoEditor", + "HoloLens" ] } \ No newline at end of file diff --git a/Platforms/HoloLens/Config/HoloLensEngine.ini b/Platforms/HoloLens/Config/HoloLensEngine.ini new file mode 100644 index 00000000..d5ebb91b --- /dev/null +++ b/Platforms/HoloLens/Config/HoloLensEngine.ini @@ -0,0 +1,32 @@ + + +[/Script/HoloLensPlatformEditor.HoloLensTargetSettings] +bBuildForEmulation=False +bBuildForDevice=True +bUseNameForLogo=True +bBuildForRetailWindowsStore=False +bAutoIncrementVersion=False +bShouldCreateAppInstaller=False +AppInstallerInstallationURL= +HoursBetweenUpdateChecks=0 +bEnablePIXProfiling=False +TileBackgroundColor=(B=64,G=0,R=0,A=255) +SplashScreenBackgroundColor=(B=64,G=0,R=0,A=255) ++PerCultureResources=(CultureId="",Strings=(PackageDisplayName="",PublisherDisplayName="",PackageDescription="",ApplicationDisplayName="",ApplicationDescription=""),Images=()) +TargetDeviceFamily=Windows.Holographic +MinimumPlatformVersion= +MaximumPlatformVersionTested=10.0.18362.0 +MaxTrianglesPerCubicMeter=500.000000 +SpatialMeshingVolumeSize=20.000000 +CompilerVersion=Default +Windows10SDKVersion=10.0.18362.0 ++CapabilityList=internetClientServer ++CapabilityList=privateNetworkClientServer ++Uap2CapabilityList=spatialPerception +bSetDefaultCapabilities=False +SpatializationPlugin= +SourceDataOverridePlugin= +ReverbPlugin= +OcclusionPlugin= +SoundCueCookQualityIndex=-1 + diff --git a/plugins/Auto_Setup_1.22/RLPlugin.uplugin b/plugins/Auto_Setup_1.22/RLPlugin.uplugin deleted file mode 100644 index d318cfdf..00000000 --- a/plugins/Auto_Setup_1.22/RLPlugin.uplugin +++ /dev/null @@ -1,23 +0,0 @@ -{ - "FileVersion": 3, - "Version": 1, - "VersionName": "1.22", - "FriendlyName": "Character Creator & iClone Auto Setup", - "Description": "Automatic shader and skeletal assignment for CC Characters and iClone Assets, including Blueprint generation for material properties, texture settings and model configurations. ", - "Category": "Reallusion", - "CreatedBy": "Reallusion", - "CreatedByURL": "", - "DocsURL": "", - "MarketplaceURL": "", - "SupportURL": "", - "EngineVersion": "4.27.0", - "CanContainContent": false, - "Installed": true, - "Modules": [ - { - "Name": "RLPlugin", - "Type": "Editor", - "LoadingPhase": "PreDefault" - } - ] -} \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Resources/ButtonIcon_40x.png b/plugins/Auto_Setup_1.22/Resources/ButtonIcon_40x.png deleted file mode 100644 index f3572322..00000000 Binary files a/plugins/Auto_Setup_1.22/Resources/ButtonIcon_40x.png and /dev/null differ diff --git a/plugins/Auto_Setup_1.22/Resources/Icon128.png b/plugins/Auto_Setup_1.22/Resources/Icon128.png deleted file mode 100644 index 822615e8..00000000 Binary files a/plugins/Auto_Setup_1.22/Resources/Icon128.png and /dev/null differ diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCFbxFactory.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCFbxFactory.h deleted file mode 100644 index d12751a7..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCFbxFactory.h +++ /dev/null @@ -1,29 +0,0 @@ -// Fill out your copyright notice in the Description page of Project Settings. - -#pragma once - -#include "CoreMinimal.h" -#include "Factories/FbxFactory.h" -#include "Runtime/SlateCore/Public/Styling/SlateTypes.h" -//#include "SlateBasics.h" -#include "Factories/Factory.h" -#include "UObject/ObjectMacros.h" -#include "CCImportUI.h" -#include "CCFbxFactory.generated.h" - -class UTextureFactory; -UCLASS(hidecategories = Object) -class UCCFbxFactory : public UFbxFactory -{ - GENERATED_UCLASS_BODY() -public: - - //~ UFactory Interface - virtual UObject* FactoryCreateFile( UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, const FString& InFilename, const TCHAR* Parms, FFeedbackContext* Warn, bool& bOutOperationCanceled ); - virtual void PostInitProperties() override; - void ImportTextureFolder( FString& fbxRootPath, FString& rootGamePath, TArray< TCHAR* > kFileExtension, FString &fbxName, TArray &kTextureList ); - TArray GetLODPaths( FString &targetFolderPath, FString &FbxName ); - void SetShaderType( FString shaderType ); -private: - FString m_ShaderType = "Standard"; -}; diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCImportUI.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCImportUI.h deleted file mode 100644 index 942a8af6..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/CCImportUI.h +++ /dev/null @@ -1,33 +0,0 @@ -// Fill out your copyright notice in the Description page of Project Settings. - -#pragma once -#include "CoreMinimal.h" -#include "UObject/NoExportTypes.h" -#include "CCImportUI.generated.h" - -/** - * TODO: - */ -UCLASS( config = EditorPerProjectUserSettings, AutoExpandCategories = ( FTransform ), HideCategories = Object, MinimalAPI ) -class UCCImportUI : public UObject -{ - GENERATED_BODY() - -public: - UCCImportUI( const FObjectInitializer& kObjectInitializer ); - void WriteConfig(); - -private: - void ReadConfig(); - -public: - bool isCCAutoSetup; - bool isHQSkin; - bool isLWSkin; - bool isStandardSkin; - bool isCanceled; - bool isCanChangeAutoEnable; - bool hasCCShader; - bool isLiveLink; - -}; diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLShaderData.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLShaderData.h deleted file mode 100644 index cf63b020..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLShaderData.h +++ /dev/null @@ -1,405 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -TMap< FString, FString > g_kTeethMap = -{ - { "Gums Mask", "Teeth Mask Map" }, - { "Gradient AO", "Gradient AO Map" }, - { "MicroNormal", "MicroNormal Map" }, - - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "Teeth MicroNormal Tiling", "Teeth MicroNormal Tiling" }, - { "Teeth MicroNormal Strength", "Teeth MicroNormal Strength" }, - { "Gums MicroNormal Tiling", "Flesh MicroNormal Tiling" }, - { "Gums MicroNormal Strength", "Flesh MicroNormal Strength" }, - - // TeethGum - { "Teeth Edge Color", "Teeth Edge Color" }, - { "Is Upper Teeth", "Is Upper Teeth" }, - { "Teeth Brightness", "Teeth Diffuse Brightness" }, - { "Teeth Desaturation", "Teeth Desaturation" }, - { "Gums Brightness", "Flesh Brightness" }, - { "Gums Desaturation", "Flesh Desaturation" }, - { "Front Roughness", "TeethGum Front Roughness" }, - { "Front Specular", "TeethGum Front Specular" }, - // TeethGum-Adv - { "Front AO", "TeethGum Front AO" }, - { "Back AO", "TeethGum Back AO" }, - { "Back Roughness", "TeethGum Back Roughness" }, - { "Back Specular", "TeethGum Back Specular" }, - // SSS - { "Gums Scatter", "Flesh Scatter" }, - { "Teeth Scatter", "Teeth Scatter" } -}; - -TMap< FString, FString > g_kTongueMap = -{ - { "MicroNormal", "MicroNormal Map" }, - { "Gradient AO", "Gradient AO Map" }, - - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "MicroNormal Tiling", "Flesh MicroNormal Tiling" }, - { "MicroNormal Strength", "Flesh MicroNormal Strength" }, - // Tongue - { "_Brightness", "Flesh Brightness" }, - { "_Desaturation", "Flesh Desaturation" }, - { "Front Roughness", "Tongue Front Roughness" }, - { "Front Specular", "Tongue Front Specular" }, - // Tongue-Adv - { "Back Roughness", "Tongue Back Roughness" }, - { "Back Specular", "Tongue Back Specular" }, - { "Front AO", "Tongue Front AO" }, - { "Back AO", "Tongue Back AO" }, - // SSS - { "_Scatter", "Flesh Scatter" } -}; - -TMap< FString, FString > g_kSkinMap = -{ - { "SSS Map", "SSS Map" }, - { "MicroNormalMask", "MicroNormal Mask Map" }, - { "MicroNormal", "MicroNormal Map" }, - { "RGBA Area Mask", "RGBA Area Mask Map" }, - - { "_BaseColorMap Brightness", "BaseColorMap_Brightness" }, - { "_BaseColorMap Saturation", "BaseColorMap_Saturation" }, - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "MicroNormal Tiling", "MicroNormal Tiling Value" }, - { "MicroNormal Strength", "MicroNormal Strength" }, - // Roughness - { "Micro Roughness Scale", "Micro Roughness Scale" }, - { "R Channel Roughness Scale", "R Channel Roughness Scale" }, - { "G Channel Roughness Scale", "G Channel Roughness Scale" }, - { "B Channel Roughness Scale", "B Channel Roughness Scale" }, - { "A Channel Roughness Scale", "A Channel Roughness Scale" }, - { "Unmasked Roughness Scale", "Unmask Roughness Scale" }, - { "Edge Roughness Multiplier", "Edge Roughness Multiplier" }, - - // Specular Metallic - { "_Specular", "Specular" }, - { "SSS Metallic Threshold", "Metallic SSS Threshold" }, - - // SSS - { "G Channel Scatter Scale", "G Channel Scatter" }, - { "R Channel Scatter Scale", "R Channel Scatter" }, - { "B Channel Scatter Scale", "B Channel Scatter" }, - { "A Channel Scatter Scale", "A Channel Scatter" }, - { "Unmasked Scatter Scale", "SSS Unmasked Scale" } -}; - -TMap< FString, FString > g_kHeadMap = -{ - { "BaseColor Blend2", "Blend Map_2" }, - { "NormalMap Blend", "NormalMap_Blend" }, - { "SSS Map", "SSS Map" }, - { "MicroNormalMask", "MicroNormal Mask Map" }, - { "MicroNormal", "MicroNormal Map" }, - { "Specular Mask", "Specular Cavity Map" }, - { "Mouth Cavity Mask and AO", "Mouth Cavity And AO Map" }, - { "Nose Mouth UpperInnerLid Mask", "NLML Mask Map" }, - { "Cheek Fore UpperLip Chin Mask", "CFUC Mask Map" }, - { "Ear Neck Mask", "EN Mask Map" }, - - // Blend Map - { "BaseColor Blend2 Strength", "BaseColor_Blend2_Strength" }, - { "NormalMap Blend Strength", "NormalMap_Blend_Strength" }, - { "_BaseColorMap Brightness", "BaseColorMap_Brightness" }, - { "_BaseColorMap Saturation", "BaseColorMap_Saturation" }, - // MicroNormal - { "Flip MicroNormal Y", "Flip Micro Normal Y" }, - { "MicroNormal Tiling", "MicroNormal Tiling Value" }, - { "MicroNormal Strength", "MicroNormal Strength" }, - // Roughness - { "Micro Roughness Scale", "Micro Roughness Scale" }, - { "Nose Roughness Scale", "Nose Roughness Scale" }, - { "Mouth Roughness Scale", "Mouth Roughness Scale" }, - { "UpperLid Roughness Scale", "UpperLid Roughness Scale" }, - { "InnerLid Roughness Scale", "InnerLid Roughness Scale" }, - { "Ear Roughness Scale", "Ear Roughness Scale" }, - { "Neck Roughness Scale", "Neck Roughness Scale" }, - { "Cheek Roughness Scale", "Cheek Roughness Scale" }, - { "Forehead Roughness Scale", "Forehead Roughness Scale" }, - { "UpperLip Roughness Scale", "UpperLips Roughness Scale" }, - { "Chin Roughness Scale", "Chin Roughness Scale" }, - { "Unmasked Roughness Scale", "Unmask Roughness Scale" }, - { "Edge Roughness Multiplier", "Edge Roughness Multiplier" }, - // Specular Metallic - { "_Specular", "Head Specular" }, - { "SSS Metallic Threshold", "Metallic SSS Threshold" }, - { "Inner Mouth AO", "Inner Mouth AO" }, - { "Nostril AO", "Nostril AO" }, - { "Lips Gap AO", "Lips_Gap_AO" }, - // SSS - { "Nose Scatter Scale", "Nose Scatter Scale" }, - { "Mouth Scatter Scale", "Mouth Scatter Scale" }, - { "UpperLid Scatter Scale", "UpperLid Scatter Scale" }, - { "InnerLid Scatter Scale", "InnerLid Scatter Scale" }, - { "Ear Scatter Scale", "Ear Scatter Scale" }, - { "Neck Scatter Scale", "Neck Scatter Scale" }, - { "Cheek Scatter Scale", "Cheek Scatter Scale" }, - { "Forehead Scatter Scale", "Forehead Scatter Scale" }, - { "UpperLip Scatter Scale", "UpperLips Scatter Scale" }, - { "Chin Scatter Scale", "Chin Scatter Scale" }, - { "Unmasked Scatter Scale", "SSS Unmasked Scale" } -}; - -TMap< FString, FString > g_kEyeMap = -{ - { "Iris Normal", "Iris Normal Map" }, - { "Sclera Normal", "Normal Map" }, - { "EyeBlendMap2", "EyeBlendMap2" }, - { "Inner Iris Mask", "Inner Iris Mask" }, - { "Sclera", "Sclera Map" }, - - // Eye - { "BlendMap2 Strength", "BlendMap2_Strength" }, - { "Shadow Radius", "Shadow Radius" }, - { "Shadow Hardness", "Shadow Hardness" }, - { "Specular Scale", "Specular Multiplier" }, - // Eye-Adv - { "Is Left Eye", "Is Left Eye" }, - { "Eye Corner Darkness Color", "Eye Corner Darkness Color" }, - // Iris - { "Iris Depth Scale", "Iris Depth Scale" }, - { "_Iris Roughness", "Iris Roughness" }, - { "Iris Color Brightness", "Iris Color Brightness" }, - { "Pupil Scale", "Pupil Scale" }, - // Iris-Adv - { "_IoR", "Ior" }, - { "Iris Cloudy Color", "Iris Cloudy Color" }, - { "Iris Inner Color", "Iris Inner Color" }, - { "Iris Inner Scale", "Iris Inner Scale" }, - { "Iris UV Radius", "Iris UV Radius" }, - { "Iris Color", "Iris Color" }, - - // Limbus - { "Limbus UV Width Color", "Limbus UV Width Color" }, - { "Limbus Dark Scale", "Limbus Dark Scale" }, - // Sclera - { "ScleraBrightness", "Sclera Brightness" }, - { "Sclera Roughness", "Sclera Roughness" }, - // Sclera-Adv - { "Sclera Flatten Normal", "Sclera Normal" }, - { "Sclera Normal UV Scale", "Sclera Normal UV Scale" }, - { "Sclera UV Radius", "Sclera UV Radius" }, -}; - -#define FLIP_TANGENT_Y "Flip Tangent Y" -#define ACTIVATE_HAIR_COLOR "Activate Hair Color" - -TMap< FString, FString > g_kHairMap = -{ - { "Hair Tangent Map" , "Tangent Map" }, - { "Hair Flow Map" , "Flow Map" }, - { "Hair Specular Mask Map", "Specular Map" }, - { "Hair Root Map" , "Root Map" }, - { "Hair ID Map" , "ID Map" }, - - { "TangentMapFlipGreen", FLIP_TANGENT_Y }, - { "AO Map Occlude All Lighting", "AO Map Occlude All Lighting" }, - - { "Diffuse Strength", "Scatter" }, - { "Hair Roughness Map Strength", "Roughness Multiplier" }, - { "Hair Specular Map Strength", "Specular Multiplier" }, - - { "VertexGrayToColor" , "Vertex Color" }, - { "VertexColorStrength" , "Vertex Color Strength" }, - { "ActiveChangeHairColor" , ACTIVATE_HAIR_COLOR }, - { "BaseColorMapStrength" , "Base Color Map Strength" }, - // Strand Color - { "RootColor" , "Root Color" }, - { "TipColor" , "End Color" }, - { "RootTipBlendMode" , "Root End Blend Mode" }, - { "UseRootTipColor" , "Global Strength" }, - { "RootColorStrength" , "Root Color Strength" }, - { "TipColorStrength" , "End Color Strength" }, - { "InvertRootTip" , "Invert Root and End Color" }, - // highlight A - { "_1st Dye Color" , "Highlight A Color" }, - { "_1st Dye Strength" , "Highlight A Strength" }, - { "_1st Dye Distribution from Grayscale", "Highlight A Affected Range" }, - { "_1st BlendMode" , "Highlight A Blend Mode" }, - { "Mask 1st Dye by RootMap" , "Highlight A Overlap End Color" }, - { "Invert 1st Dye RootMap Mask" , "Highlight A Invert End to Root Color" }, - { "_1st Dye add Specular" , "Highlight A Specular Strength" }, - // hightlight B - { "_2nd Dye Color" , "Highlight B Color" }, - { "_2nd Dye Strength" , "Highlight B Strength" }, - { "_2nd Dye Distribution from Grayscale", "Highlight B Affected Range" }, - { "_2nd BlendMode" , "Highlight B Blend Mode" }, - { "Mask 2nd Dye by RootMap" , "Highlight B Overlap End Color" }, - { "Invert 2nd Dye RootMap Mask" , "Highlight B Invert End to Root Color" }, - { "_2nd Dye add Specular" , "Highlight B Specular Strength" }, - // - { "BlackColor Reflection Offset X", "Rotate Vertical by Black ID" }, - { "BlackColor Reflection Offset Y", "Rotate Horizontal by Black ID" }, - { "BlackColor Reflection Offset Z", "Shift by Black ID" }, - { "WhiteColor Reflection Offset X", "Rotate Vertical by White ID" }, - { "WhiteColor Reflection Offset Y", "Rotate Horizontal by White ID" }, - { "WhiteColor Reflection Offset Z", "Shift by White ID" }, -}; - -TMap< FString, FString > g_kEyeOccusionMap = -{ - { "Display Blur Range", "Blur Color" }, - { "Blur Strength", "Blur Strength" }, - { "_Expand", "Expand" }, - - { "Top Blur Range", "Top Blur Range" }, - { "Top Blur Contrast", "Top Blur Contrast" }, - { "Bottom Blur Range", "Bottom Blur Range" }, - { "Bottom Blur Contrast", "Bottom Blur Contrast" }, - { "Outer Corner Blur Range", "Outer Corner Blur Range" }, - { "Outer Corner Blur Contrast", "Outer Corner Blur Contrast" }, - - { "Tear Duct Position", "Tear Duct Position" }, - { "Tear Duct Contrast", "Tear Duct Contrast" }, - { "Tear Duct Shadow Offset", "Tear Duct Shadow Offset" }, - // 1st layer shadow - { "Shadow Color", "Shadow 1 Color" }, - { "Shadow Strength", "Shadow 1 Strength" }, - { "Shadow Top", "Shadow 1 Top" }, - { "Shadow Top Range", "Shadow 1 Top Range" }, - { "Shadow Top Arc", "Shadow 1 Top Edge" }, - { "Shadow Bottom", "Shadow 1 Bottom" }, - { "Shadow Bottom Range", "Shadow 1 Bottom Range" }, - { "Shadow Bottom Arc", "Shadow 1 Bottom Edge" }, - { "Shadow Inner Corner", "Shadow 1 Inner Corner" }, - { "Shadow Inner Corner Range", "Shadow 1 Inner Corner Range" }, - { "Shadow Outer Corner", "Shadow 1 Outer Corner" }, - { "Shadow Outer Corner Range", "Shadow 1 Outer Corner Range" }, - // 2nd_Layer_Shadow - { "Shadow2 Color", "Shadow 2 Color" }, - { "Shadow2 Strength", "Shadow 2 Strength" }, - { "Shadow2 Top", "Shadow 2 Top" }, - { "Shadow2 Top Range", "Shadow 2 Top Range" }, - // Vertex_Offset - { "Depth Offset", "Depth Offset" }, - { "Fade Distance", "Fade Distance" }, // depth fade distance - { "Top Offset", "Top Offset" }, - { "Bottom Offset", "Bottom Offset" }, - { "Inner Corner Offset", "Inner Corner Offset" }, - { "Outer Corner Offset", "Outer Corner Offset" }, -}; - -TMap< FString, FString > g_kTearLineMap = -{ - { "Depth Offset", "DepthOffset" }, - { "Detail Amount", "DetailAmount" }, - { "Detail Scale U", "DetailScale_U" }, - { "Detail Scale V", "DetailScale_V" }, - { "Edge Fadeout", "Edge_fadeout" }, - { "_Roughness", "Roughness" } -}; - -#define AO_MAP_OCCLUDE_ALL_LIGHTS "Occlude All Lighting" -#define FLIP_MICRO_NORMAL_Y "Flip Micro Normal Y" - -TMap< FString, FString > g_kGeneralMap = -{ - { "SSS Map", "SSS Map" }, - { "MicroNormalMask", "MicroNormal Mask Map" }, - { "MicroNormal", "MicroNormal Map" }, - { "RGBA Area Mask", "RGBA Area Mask Map" }, - - { "_BaseColorMap Brightness", "BaseColorMap_Brightness" }, - { "_BaseColorMap Saturation", "BaseColorMap_Saturation" }, - { "AO Map Affect All Lights", AO_MAP_OCCLUDE_ALL_LIGHTS }, - // Micro_Normal - { "Flip MicroNormal Y", FLIP_MICRO_NORMAL_Y }, - { "MicroNormal Tiling", "MicroNormal Tiling Value" }, - { "MicroNormal Strength", "MicroNormal Strength" }, - // _Specular_Roughness - { "_Specular", "Specular" }, - { "Micro Roughness Scale", "Micro Roughness Scale" }, - // _Specular_Roughness-Adv - { "R Channel Roughness Scale", "R Channel Roughness Scale" }, - { "G Channel Roughness Scale", "G Channel Roughness Scale" }, - { "B Channel Roughness Scale", "B Channel Roughness Scale" }, - { "A Channel Roughness Scale", "A Channel Roughness Scale" }, - { "Unmasked Roughness Scale", "Unmask Roughness Scale" }, - { "Edge Roughness Multiplier", "Edge Roughness Multiplier" }, - - // SSS - { "R Channel Scatter Scale", "R Channel Scatter" }, - { "G Channel Scatter Scale", "G Channel Scatter" }, - { "B Channel Scatter Scale", "B Channel Scatter" }, - { "A Channel Scatter Scale", "A Channel Scatter" }, - { "Unmasked Scatter Scale", "SSS Unmasked Scale" }, -}; - -class RLShaderData -{ -public: - RLShaderData() {} - ~RLShaderData() {} - - FString m_strShaderName; - TMap< FString, FString > m_kTexture; - TMap< FString, float > m_kParameter; - TMap< FString, TArray< float > > m_kColorParameter; -}; - -class RLScatter -{ -public: - RLScatter() {} - ~RLScatter() {} - - RLScatter( FLinearColor sss, - FLinearColor falloff, - float radius, - float distribution, - float IOR, - float extinction, - float normalScale, - float roughness1, - float roughness2, - float lobeMix ) - :m_kFalloff( falloff ), - m_fRadius(radius), - m_fDistribution(distribution), - m_fIOR(IOR), - m_kSubsurfaceColor( sss ), - m_fExtinctionScale(extinction), - m_fNormalScale(normalScale), - m_fRoughness0(roughness1), - m_fRoughness1(roughness2), - m_fLobeMix(lobeMix) - { - } - - void SetDefaultParameter( FLinearColor kSubsurfaceColor, - float fDistribution, - float fIOR, - float fExtinctionScale, - float fNormalScale, - float fRoughness0, - float fRoughness1, - float fLobeMix ) - { - m_kSubsurfaceColor = kSubsurfaceColor; - m_fDistribution = fDistribution; - m_fIOR = fIOR; - m_fExtinctionScale = fExtinctionScale; - m_fNormalScale = fNormalScale; - m_fRoughness0 = fRoughness0; - m_fRoughness1 = fRoughness1; - m_fLobeMix = fLobeMix; - } - - FLinearColor m_kFalloff; - float m_fRadius = 0.0f; - float m_fDistribution = 0.0f; - float m_fIOR = 0.0f; - - FLinearColor m_kSubsurfaceColor; - float m_fExtinctionScale = 0.0f; - float m_fNormalScale = 0.0f; - float m_fRoughness0 = 0.0f; - float m_fRoughness1 = 0.0f; - float m_fLobeMix = 0.0f; -}; \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLString.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLString.h deleted file mode 100644 index ce4e172d..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Private/RLString.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define Version_Error_Message "The current procedure has come to a stop because auto-setup is not support for this version of CC / iClone. Please update to the appropriate version." -#define Version_Not_Suitable "Auto-setup is not support for this version of CC / iClone and some issues may occur as a result. Please update to the appropriate version." \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/CCImportWindow.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/CCImportWindow.h deleted file mode 100644 index edac1474..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/CCImportWindow.h +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - - -//#include "SlateBasics.h" - -class UCCImportUI; - -class SCCImportWindow : public SCompoundWidget -{ -public: - SLATE_BEGIN_ARGS(SCCImportWindow) - : _ImportUI(NULL) - , _WidgetWindow() - //, _SourcePath() - //, _TargetPath() - {} - - SLATE_ARGUMENT(UCCImportUI*, ImportUI) - SLATE_ARGUMENT(TSharedPtr, WidgetWindow) - // SLATE_ARGUMENT(FText, SourcePath) - //SLATE_ARGUMENT(FText, TargetPath) - SLATE_END_ARGS() - -public: - void Construct(const FArguments& InArgs); -private: - UCCImportUI* ccImportUI; - TWeakPtr< SWindow > WidgetWindow; - TSharedPtr< SButton > ImportButton; - //FString TargetPath; - bool isCCAutoSetup; - bool isHQSkin; - bool isLWSkin; - bool isStandardSkin; - bool isliveLink; - //TSharedRef GetTestContent() const; - FString skinType = "Standard"; - ECheckBoxState IsStandardActive() const; - ECheckBoxState IsHQActive() const; - ECheckBoxState IsLWActive() const; - void OnCCLiveLinkChanged(ECheckBoxState InCheckedState); - void OnCCAutoSetupChanged(ECheckBoxState InCheckedState); - void OnStandardChanged(ECheckBoxState InCheckedState); - void OnHQChanged(ECheckBoxState InCheckedState); - void OnLWChanged(ECheckBoxState InCheckedState); - TSharedPtr< SCheckBox > Standard_CheckBox; - TSharedPtr< SCheckBox > HQ_CheckBox; - TSharedPtr< SCheckBox > LW_CheckBox; - TSharedPtr< SCheckBox > CCAutoSetup_CheckBox; - FReply OnCancel(); - FReply OnNext(); - FReply OnMore(); -}; \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLMaterialData.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLMaterialData.h deleted file mode 100644 index 1bb56845..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLMaterialData.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once -#include "RLTextureData.h" -#include "RLPhysicClothData.h" -#include "RLShaderData.h" - -enum class ENodeType -{ - None, - Hair, - Accessory -}; - -class RLMaterialData -{ -public: - RLMaterialData() {} - ~RLMaterialData() {} - - void SetShaderData( TSharedPtr< RLShaderData > spShaderData ) { m_spShaderData = spShaderData; } - const RLShaderData* GetShaderData() const { return m_spShaderData ? m_spShaderData.Get() : nullptr; } - RLShaderData* GetShaderData() { return m_spShaderData ? m_spShaderData.Get() : nullptr; } - - void SetScatter( TSharedPtr< RLScatter > spScatter ) { m_spScatter = spScatter; } - RLScatter* GetScatter() { return m_spScatter ? m_spScatter.Get() : nullptr; } - - bool m_bIsPbr = false; - ENodeType m_eNodeType = ENodeType::None; - bool m_bTwoSide = false; - int m_iUvChannelIndex = 0; - TArray< float > m_kDiffuseColor = { 255.f, 255.f, 255.f }; - TArray< float > m_kAmbientColor = { 50.f, 50.f, 50.f }; - TArray< float > m_kSpecularColor = { 229.f, 229.f, 229.f }; - float m_fOpacity = 1.f; - float m_fSelfIllumination = 0.f; - float m_fSpecular = 0.f; - float m_fGlossiness = 0.f; - TMap< FString, RLTextureData > m_kTextureDatas; - TSharedPtr< RLPhysicClothData > m_spPhysicClothData = nullptr; - -private: - TSharedPtr< RLShaderData > m_spShaderData; - TSharedPtr< RLScatter > m_spScatter; -}; \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicClothData.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicClothData.h deleted file mode 100644 index 403c0b7e..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicClothData.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -class RLPhysicClothData -{ -public: - RLPhysicClothData() {} - ~RLPhysicClothData() {} - - bool m_bActivate = false; - bool m_bUseGlobalGravity = false; - FString m_strWeightMapPath = ""; - float m_fMass = 0.f; - float m_fFriction = 0.f; - float m_fDamping = 0.f; - float m_fDrag = 0.f; - float m_fSolverFrequency = 0.f; - float m_fTetherLimit = 0.f; - float m_fElasticity = 0.f; - float m_fStretch = 0.f; - float m_fBending = 0.f; - TArray< float > m_kInertia = { 6.0, 6.0, 6.0 }; - bool m_bSoftVsRigidCollision = false; - float m_fSoftVsRigidCollisionMargin = 0.f; - bool m_bSelfCollision = false; - float m_fSelfCollisionMargin = 0.f; - float m_fStiffnessFrequency = 0.f; -}; \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicCollisionShapeData.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicCollisionShapeData.h deleted file mode 100644 index d510851e..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPhysicCollisionShapeData.h +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -class RLPhysicsCollisionShapeData -{ -public: - RLPhysicsCollisionShapeData() {} - ~RLPhysicsCollisionShapeData() {} - - FString m_strName = ""; - bool m_bBoneActivate = false; - bool m_bIsCCStdBoneAxis = false; - FString m_strBoundType = ""; - FString m_strBoundAxis = ""; - float m_fMargin = 0.f; - float m_fFriction = 0.f; - float m_fElasticity = 0.f; - - TArray< float > m_kWorldTranslate = { 0.0, 0.0, 0.0 }; - TArray< float > m_kWorldRotation = { 0.0, 0.0, 0.0, 0.0 }; - TArray< float > m_kWorldScale = { 0.0, 0.0, 0.0 }; - - TArray< float > m_kShapeLocalPosition = { 0.0, 0.0, 0.0 }; - TArray< float > m_kExtent = { 0.0, 0.0, 0.0 }; - float m_fRadius = 0.f; - float m_fCapsuleLength = 0.f; -}; \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPlugin.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPlugin.h deleted file mode 100644 index 43bf5dc2..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPlugin.h +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "CoreMinimal.h" -#include "Modules/ModuleManager.h" -#include "AssetRegistryModule.h" -#include "ObjectTools.h" -#include "PackageTools.h" -#include "CCImportUI.h" -#include "Editor/UnrealEd/Classes/Factories/FbxFactory.h" -#include "Editor/UnrealEd/Public/Editor.h" -#include "Runtime/Engine/Classes/Engine/Selection.h" -#include "Runtime/Engine/Classes/Materials/MaterialInstanceConstant.h" -#include "Runtime/Engine/Classes/Engine/SkeletalMesh.h" -#include "Runtime/JSon/Public/Dom/JsonObject.h" -#include "RLTextureData.h" -#include "RLMaterialData.h" -#include "RLPhysicCollisionShapeData.h" -#include "Runtime/Engine/Classes/Animation/Rig.h" -#include "Runtime/Launch/Resources/Version.h" -#include -class FToolBarBuilder; -class FMenuBuilder; -class UClothingAssetCommon; -class UClothLODDataBase; - -class CMaterialType -{ -public: - CMaterialType( FString strMaterialName, FString strBoneType = "" ); - FString GetType() { return m_strMaterialType; } - float GetTilingValue() { return m_fTilingValue; } - -private: - FString m_strMaterialType; - float m_fTilingValue = 0.0f; -}; - -enum class EShaderType -{ - Teeth, - Scalp, - Eyelash, - Eye, - Tearline, - Occulsion, - Head, - Skin, - Hair, - GeneralSSS, - PBR, - TRA, -}; - -class FRLPluginModule : public IModuleInterface -{ -public: - - /** IModuleInterface implementation */ - virtual void StartupModule() override; - virtual void ShutdownModule() override; - - /** This function will be bound to Command. */ - void PluginButtonClicked(); - void AutoSetup( TArray& kAssetDatas, - FString strShaderType, - TArray& kLODPathList, - bool bIsDragFbx ); - bool CheckAutoSetupVersionPass( FString strJsonFilePath ); - -private: - void AddToolbarExtension( FToolBarBuilder& kBuilder ); - void AddMenuExtension( FMenuBuilder& kBuilder ); - void CheckWorldGridMaterial(FString &strFbxName, FString &rootGamePath, FString ccMaterialFolderGamePath, UStaticMesh *pMesh, bool isMaterialInstance); - bool CheckShaderTypeChange(FString &strfbxName, FString shaderType, USkeletalMesh *mesh, UMaterial* material, UMaterialInterface* MaterialInterface, RLMaterialData* pMaterialData, int slotID, FString &rootGamePath, bool isMaterialInstance, FString strBoneType ); - void DeleteTextureFile( const FString& strDeleteFloderPath, const FString& strCheckFolderPath ); - void ShowInfo( const FString& strMessage, const float& fExpireDuration ); - FString GetBoneType( const FAssetData& kAssetData ); - USkeleton* GetAssetSkeleton( const FAssetData& kAssetData ); - bool CreateFolder( FString &path ); - void CreateTexturesPathList( const FString &strRootGamePath, TArray &kTexturesPathList ); - void RemoveInvalidTexture( TMap< FString, RLMaterialData >& kMaterialMap, const FString& strTexturePath, const FString& strFbmTexturePath, TArray< FString >& kTexturesPathList ); - bool CheckTextureShouldImport( const FString& strFilePath, bool bPbr ); -#if ENGINE_MAJOR_VERSION <= 4 && ENGINE_MINOR_VERSION == 24 - bool RLPluginImportToLodInternal( USkeletalMesh* SourceMesh, int32 SourceLodIndex, int32 SourceSectionIndex, UClothingAssetCommon* DestAsset, UClothLODDataBase* DestLod, UClothLODDataBase* InParameterRemapSource ); -#endif - FString GetMaterialPackagePath( const FString& strRootGamePath, const FString& strMaterialName, const FString& strFbxName, bool bIsMaterialInstance ); - void ReplaceMaterial( UMaterialInterface* pMaterialInterface, const FString &strPackagePath, std::function< void( UMaterialInterface* ) > fnReplaceMaterial ); - void DeleteUnrealMaterial( const FString &strSourceFolderPath, const FString &strTargetFolderPath, const FString &strFbxName, const FString &strRootGamePath, bool bIsMaterialInstance, std::function< void() > fnReplaceMeshMaterial ); - void DeleteDefaultSkeletalMaterial( const FString &strSourceFolderPath, const FString &strTargetFolderPath, const FString &strFbxName, const FString &strRootGamePath, USkeletalMesh *pMesh, bool bIsMaterialInstance ); - void DeleteDefaultStaticMaterial( const FString &strSourceFolderPath, const FString &strTargetFolderPath, const FString &strFbxName, const FString &strRootGamePath, UStaticMesh *pMesh, bool bIsMaterialInstance ); - - void MoveTextureFile( FString& strTargetFolderPath ); - void findLODGroupMaterialJson(TMap< FString, RLMaterialData > &kMaterialMap, FString &strFbxName, FString &strRootGamePath, USkeletalMesh *kMesh, bool bIsMaterialInstance); - void findLODGroupMaterial(FString &rootGamePath, USkeletalMesh *mesh ); - void SetOrmTextureSetting( UMaterialInstanceConstant* pMaterialInstance, const FString& strTexturePath, const bool bSkin = false ); - void ProcessMaterialInstanceConstant( UMaterialInstanceConstant*& pMaterialInstance, UMaterial* pMaterial, UMaterialInterface* pMeshMaterialInterface, UMaterialInterface* pParentInterface, const FString& strCCMaterialFolderPath, std::function< void( UMaterialInstanceConstant* ) > fnMaterialSetting ); - void AssignMaterialInstanceJson( UMaterialInstanceConstant*& pInstUMaterialInterface, - const FString& strMaterialName, - RLMaterialData* pMaterialData, - TArray & texturesPathList, - UMaterial* material, - UMaterialInterface* MaterialInterface, - FString texturesFilesGamePath, - FString texturesFilesGamePathFbm, - FString ccMaterialFolderGamePath, - const FString& strSubsurfaceProfilePath, - FString boneType, - FString shaderType ); - - void AssignGeneralSss( RLMaterialData* pMaterialData, TArray &kTexturesPathList, FString strTexturesFilesGamePathFbm, const FString& strMaterialName, FString texturesFilesGamePath, bool bIsHQSkin, const FString& strSubsurfaceProfilePath, FString strTexturePathToLoad, UMaterialInstanceConstant*& pInstUMaterialInterface, UMaterial* pMaterial, UMaterialInterface* pMaterialInterface, FString strCCMaterialFolderGamePath ); - - void PhysicIniPaser( FString iniPath ); - FString GetTexturePath( RLMaterialData *pMaterialData, const FString& strKey, const FString& strTexturesFolderPath, const FString& strMaterialName ); - void SetTextureParameter( RLMaterialData *pMaterialData, const FString& strKey, UMaterialInstanceConstant* pMaterialInstance ); - - void UpdateStaticParameter( UMaterialInstanceConstant* pMaterialInstance, const FString& strParameter, bool bEnable, bool bMarkChanged ); - void SetMultiUvIndex( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance ); - void SetBaseColor( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName ); - void SetNormal( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName ); - void SetSpecular( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName, bool bIsPBR ); - void SetOpacity( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePathsFbm[2], FString strMaterialName ); - void SetGlow( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePaths[2], FString strMaterialName ); - void SetBlend( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString kTexturesFilesGamePaths[2], FString strMaterialName ); - void SetBlendToHairDepthMap( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString kTexturesFilesGamePaths[2], FString strMaterialName ); - void SetDisplacement( RLMaterialData* pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePaths[2], FString strMaterialName ); - void SetAO( RLMaterialData *pMaterialData, UMaterialInstanceConstant* pMaterialInstance, TArray kTexturesPathList, FString strTexturesFilesGamePaths[2], FString strMaterialName ); - void SetRoughness( RLMaterialData *kMaterialData, UMaterialInstanceConstant* kMaterialInstance, TArray texturesPathList, FString texturesFilesGamePaths[2], FString materialName, bool isPBR ); - void SetMetallic( RLMaterialData *kMaterialData, UMaterialInstanceConstant* kMaterialInstance, TArray texturesPathList, FString texturesFilesGamePaths[2], FString materialName, bool isPBR ); - void CreateCollisionShape(FName strBoneName, FVector kBoundMin, FVector kBoundMax, FVector kScale, FVector kOffset, UBodySetup* pBodySetup, int nShapeType, int nBoundAxis); - void CreateCollisionShapeFromData( RLPhysicsCollisionShapeData* pCollisionShapeData, UBodySetup* pBodySetup, const FTransform* kBoneParentWorldTransform ); - void CreateConstraint(FName strBoneName, int nBoneID, USkeletalMesh* pMesh, UPhysicsAsset* pPhysicsAsset); - static bool SetShaderTextureSrgbCompression( UTexture* pTexture, FString strName ); - void SetShaderData( RLShaderData* pShaderData, UMaterialInstanceConstant* pMaterialInstance, const FString& strFolder ); - void SetScatter( const RLScatter* pScatter, UMaterialInstanceConstant* pMaterialInstance, const FString& strMaterialName, FString strSubsurfaceProfilePath, EShaderType eShaderType ); - - void GetShaderRenameMap( FString strMaterialName, EShaderType eType, RLShaderData* pShaderData, ENodeType eNodeType, TMap< FString, FString >& kRenameMap ); - void ParseJson( const FString& strJsonFilePath, FString& strGeneration, FString& strBoneType, bool& bSupportShaderSelect, TMap< FString, RLMaterialData >& kMaterialMap, TMap< FString, TArray >& kCollisionShapeMap ); - void ParseJsonShaderData( TSharedPtr< RLMaterialData > spMaterialData, TSharedPtr< FJsonObject > spJsonObject, FString strMaterialName, FString strBoneType ); - void ParseJsonScatterData( TSharedPtr< RLMaterialData > spMaterialData, TSharedPtr< FJsonObject > spJsonObject ); - void ParseJsonPhysicsData( TSharedPtr spPhysicsRoot, TMap< FString, RLMaterialData >& kMaterialMap, TMap< FString, TArray >& kCollisionShapeMap, bool bIsCCStdBoneAxis ); - - void ConvertEyeMaterialName( FString& strMaterialName ); - - - UObject* RLCreatePhysicsAsset( FName InAssetName, UObject* InParent, USkeletalMesh* SkelMesh ); - - FString GetMaterialTypeByName( FString strName ); - EShaderType GetShaderType( RLMaterialData* pMaterialData, FString strMaterialName, FString strBoneType ); - EShaderType GetPbrShaderType( const RLShaderData* pShaderData, FString strMaterialName, FString strBoneType ); - void UpdateWorld( int32 BoneIndex, FTransform ParentWorld, USkeleton* pSkeleton, const TArray& kBoneTransform, TArray& kBoneWorld ); - void CreatePhysicCollisionShape( UPhysicsAsset* pPhysicsAsset, USkeletalMesh* pMesh, USkeleton* pSkeleton, const TMap< FString, TArray >& kCollisionShapeMap ); - void CreatePhysicSoftCloth( UPhysicsAsset* pPhysicsAsset, USkeletalMesh* pMesh, TMap< FString, RLMaterialData >& kMaterialMap ); - - TSharedPtr< class FUICommandList > m_kPluginCommands; - static URig* m_pEngineHumanoidRig; - bool m_bIsMaterialInstance = true; - //FString const MATERIAL_FLODER_NAME = "RL_Materials"; -}; diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginCommands.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginCommands.h deleted file mode 100644 index bd0de40d..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginCommands.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "CoreMinimal.h" -#include "Framework/Commands/Commands.h" -#include "RLPluginStyle.h" - -class FRLPluginCommands : public TCommands -{ -public: - - FRLPluginCommands() - : TCommands( TEXT( "RLPlugin" ), - NSLOCTEXT( "Contexts", "RLPlugin", "RLPlugin Plugin" ), - NAME_None, - FRLPluginStyle::GetStyleSetName() ) - { - } - - // TCommands<> interface - virtual void RegisterCommands() override; - -public: - TSharedPtr< FUICommandInfo > PluginAction; -}; diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginStyle.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginStyle.h deleted file mode 100644 index f9b1c1b0..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLPluginStyle.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "CoreMinimal.h" -#include "Styling/SlateStyle.h" - -class FRLPluginStyle -{ -public: - - static void Initialize(); - - static void Shutdown(); - - /** reloads textures used by slate renderer */ - static void ReloadTextures(); - - /** @return The Slate style set for the Shooter game */ - static const ISlateStyle& Get(); - - static FName GetStyleSetName(); - -private: - - static TSharedRef< class FSlateStyleSet > Create(); - -private: - - static TSharedPtr< class FSlateStyleSet > StyleInstance; -}; \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLTextureData.h b/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLTextureData.h deleted file mode 100644 index 7ab4ef8b..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/Public/RLTextureData.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once -#include "CoreMinimal.h" - -class RLTextureData -{ -public: - RLTextureData() {} - ~RLTextureData() {} - - FString m_strTexturePath = ""; - bool m_bShareImage = false; - float m_fStrength = 100.f; - TArray< float > m_kOffset = { 0.f, 0.f }; - TArray< float > m_kTiling = { 1.f, 1.f }; - float m_fTessellationLevel = 0.f; - float m_fTessellationMulitiplier = 0.f; - float m_fGrayScaleBaseValue = 0.f; - FString m_strDisplacementMapType = ""; - FString m_strBlendMode = "Multiply"; -}; \ No newline at end of file diff --git a/plugins/Auto_Setup_1.22/Source/RLPlugin/RLPlugin.Build.cs b/plugins/Auto_Setup_1.22/Source/RLPlugin/RLPlugin.Build.cs deleted file mode 100644 index 8b5781cb..00000000 --- a/plugins/Auto_Setup_1.22/Source/RLPlugin/RLPlugin.Build.cs +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. - -using UnrealBuildTool; - -public class RLPlugin : ModuleRules -{ - public RLPlugin(ReadOnlyTargetRules Target) : base(Target) - { - PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; - bUsePrecompiled = true; - PublicIncludePaths.AddRange( - new string[] { - // ... add public include paths required here ... - } - ); - - - PrivateIncludePaths.AddRange( - new string[] { - // ... add other private include paths required here ... - } - ); - - - PublicDependencyModuleNames.AddRange( - new string[] - { - "Core", - } - ); - - - PrivateDependencyModuleNames.AddRange( - new string[] - { - "Projects", - "InputCore", - "UnrealEd", - "LevelEditor", - "CoreUObject", - "RenderCore", - "Engine", - "Slate", - "SlateCore", - "ContentBrowser", - "DesktopPlatform", - "MaterialEditor", - "ImageWrapper", - "EditorStyle", - "RawMesh", - "ClothingSystemEditorInterface", - "SkeletalMeshEditor", - "Json", - "JsonUtilities", - } - ); - if( Target.Version.MajorVersion == 4 && Target.Version.MinorVersion <= 23 ) - { - PrivateDependencyModuleNames.AddRange( - new string[] - { - "ClothingSystemRuntime" - } ); - } - if( Target.Version.MajorVersion == 4 && Target.Version.MinorVersion >= 24 ) - { - PrivateDependencyModuleNames.AddRange( - new string[] - { - "ClothingSystemEditor", - "ClothingSystemRuntimeCommon", - "SkeletalMeshUtilitiesCommon", - "ClothingSystemRuntimeInterface", - "ClothingSystemRuntimeNv" - } ); - } - - DynamicallyLoadedModuleNames.AddRange( - new string[] - { - // ... add any modules that your module loads dynamically here ... - } - ); - } -} diff --git a/plugins/DLSS/Config/FilterPlugin.ini b/plugins/DLSS/Config/FilterPlugin.ini index 25af8dea..7ace6471 100644 --- a/plugins/DLSS/Config/FilterPlugin.ini +++ b/plugins/DLSS/Config/FilterPlugin.ini @@ -8,8 +8,5 @@ ; /Binaries/ThirdParty/*.dll -/*.md -/*.pdf /Config/... -/Images/... diff --git a/plugins/DLSS/Content/DLSSMacros.uasset b/plugins/DLSS/Content/DLSSMacros.uasset new file mode 100644 index 00000000..380e87b5 Binary files /dev/null and b/plugins/DLSS/Content/DLSSMacros.uasset differ diff --git a/plugins/DLSS/DLSS.uplugin b/plugins/DLSS/DLSS.uplugin index ba8ead30..00e10fc7 100644 --- a/plugins/DLSS/DLSS.uplugin +++ b/plugins/DLSS/DLSS.uplugin @@ -1,8 +1,8 @@ { "FileVersion": 3, - "Version": 10, - "VersionName": "2.3.3", - "FriendlyName": "NVIDIA DLSS", + "Version": 30, + "VersionName": "2.4.0b", + "FriendlyName": "NVIDIA DLSS/DLAA", "Description": "NVIDIA Deep Learning Super Sampling", "Category": "Rendering", "CreatedBy": "NVIDIA", @@ -10,7 +10,7 @@ "DocsURL": "", "MarketplaceURL": "https://www.unrealengine.com/marketplace/en-US/product/nvidia-dlss", "SupportURL": "mailto:DLSS-Support@nvidia.com", - "EngineVersion": "4.27.0", + "EngineVersion": "5.1.0", "CanContainContent": true, "Installed": true, "Modules": [ @@ -18,7 +18,7 @@ "Name": "DLSSUtility", "Type": "Runtime", "LoadingPhase": "PostConfigInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] }, @@ -26,7 +26,7 @@ "Name": "DLSS", "Type": "Runtime", "LoadingPhase": "PostEngineInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] }, @@ -39,7 +39,7 @@ "Name": "NGXRHI", "Type": "Runtime", "LoadingPhase": "PostEngineInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] }, @@ -47,7 +47,7 @@ "Name": "NGXD3D11RHI", "Type": "Runtime", "LoadingPhase": "PostEngineInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] }, @@ -55,7 +55,7 @@ "Name": "NGXD3D12RHI", "Type": "Runtime", "LoadingPhase": "PostEngineInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] }, @@ -63,7 +63,7 @@ "Name": "NGXVulkanRHIPreInit", "Type": "Runtime", "LoadingPhase": "PostConfigInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] }, @@ -71,7 +71,7 @@ "Name": "NGXVulkanRHI", "Type": "Runtime", "LoadingPhase": "PostEngineInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] }, @@ -79,7 +79,7 @@ "Name": "DLSSEditor", "Type": "Editor", "LoadingPhase": "PostEngineInit", - "WhitelistPlatforms": [ + "PlatformAllowList": [ "Win64" ] } diff --git a/plugins/DLSS/DLSS_Programming_Guide_Release.pdf b/plugins/DLSS/DLSS_Programming_Guide_Release.pdf deleted file mode 100644 index e02ba205..00000000 Binary files a/plugins/DLSS/DLSS_Programming_Guide_Release.pdf and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSBlueprintLibrary.png b/plugins/DLSS/Images/DLSSBlueprintLibrary.png deleted file mode 100644 index 37256215..00000000 Binary files a/plugins/DLSS/Images/DLSSBlueprintLibrary.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSDeveloperMessages.png b/plugins/DLSS/Images/DLSSDeveloperMessages.png deleted file mode 100644 index 86b10ca5..00000000 Binary files a/plugins/DLSS/Images/DLSSDeveloperMessages.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSIncompatibleCaptureToolsPlugins.png b/plugins/DLSS/Images/DLSSIncompatibleCaptureToolsPlugins.png deleted file mode 100644 index bd2699f5..00000000 Binary files a/plugins/DLSS/Images/DLSSIncompatibleCaptureToolsPlugins.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSFormatFlags.png b/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSFormatFlags.png deleted file mode 100644 index b8a33b3c..00000000 Binary files a/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSFormatFlags.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSOptions.png b/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSOptions.png deleted file mode 100644 index b4b3b38b..00000000 Binary files a/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSOptions.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSetting.png b/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSetting.png deleted file mode 100644 index cb6c33bd..00000000 Binary files a/plugins/DLSS/Images/DLSSMoviePipelineSupportDLSSetting.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSMoviePipelineSupportPlugin.png b/plugins/DLSS/Images/DLSSMoviePipelineSupportPlugin.png deleted file mode 100644 index 48d72428..00000000 Binary files a/plugins/DLSS/Images/DLSSMoviePipelineSupportPlugin.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSOutputLogMenu.png b/plugins/DLSS/Images/DLSSOutputLogMenu.png deleted file mode 100644 index 9b3d074a..00000000 Binary files a/plugins/DLSS/Images/DLSSOutputLogMenu.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSOutputLogNotWorking.png b/plugins/DLSS/Images/DLSSOutputLogNotWorking.png deleted file mode 100644 index 25fc92da..00000000 Binary files a/plugins/DLSS/Images/DLSSOutputLogNotWorking.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSOutputLogNotWorkingDriverOutOfDate.png b/plugins/DLSS/Images/DLSSOutputLogNotWorkingDriverOutOfDate.png deleted file mode 100644 index a94c0b06..00000000 Binary files a/plugins/DLSS/Images/DLSSOutputLogNotWorkingDriverOutOfDate.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSPlugin.png b/plugins/DLSS/Images/DLSSPlugin.png deleted file mode 100644 index e08c1ed0..00000000 Binary files a/plugins/DLSS/Images/DLSSPlugin.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSPluginProjectSettings.png b/plugins/DLSS/Images/DLSSPluginProjectSettings.png deleted file mode 100644 index e8ea73c8..00000000 Binary files a/plugins/DLSS/Images/DLSSPluginProjectSettings.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSPluginProjectSettingsLocal.png b/plugins/DLSS/Images/DLSSPluginProjectSettingsLocal.png deleted file mode 100644 index 0a9f8963..00000000 Binary files a/plugins/DLSS/Images/DLSSPluginProjectSettingsLocal.png and /dev/null differ diff --git a/plugins/DLSS/Images/DLSSViewportSettingsDLSSOn.png b/plugins/DLSS/Images/DLSSViewportSettingsDLSSOn.png deleted file mode 100644 index 420faf80..00000000 Binary files a/plugins/DLSS/Images/DLSSViewportSettingsDLSSOn.png and /dev/null differ diff --git a/plugins/DLSS/Images/PluginSettings.png b/plugins/DLSS/Images/PluginSettings.png deleted file mode 100644 index dda725e4..00000000 Binary files a/plugins/DLSS/Images/PluginSettings.png and /dev/null differ diff --git a/plugins/DLSS/Images/nv-logo.png b/plugins/DLSS/Images/nv-logo.png deleted file mode 100644 index 5511fded..00000000 Binary files a/plugins/DLSS/Images/nv-logo.png and /dev/null differ diff --git a/plugins/DLSS/README.md b/plugins/DLSS/README.md deleted file mode 100644 index f60e2860..00000000 --- a/plugins/DLSS/README.md +++ /dev/null @@ -1,439 +0,0 @@ -![NVIDIA Logo](Images/nv-logo.png) - -NVIDIA Unreal Engine DLSS/DLAA Plugin -===================================== - -The NVIDIA *DLSS/DLAA* plugin is part of a wider suite of related NVIDIA performance and image quality improving technologies and corresponding NVIDIA Unreal Engine plugins: - -- NVIDIA *Deep Learning Supersampling (DLSS)* is used to provide the highest possible frame rates at maximum graphics settings. *DLSS* requires an NVIDIA RTX graphics card. -- NVIDIA *Deep Learning Anti-Aliasing (DLAA)* is used to improve image quality. *DLAA* requires an NVIDIA RTX graphics card. -- NVIDIA *Image Scaling (NIS)* provides best-in class upscaling and sharpening for non-RTX GPUs, both NVIDIA or 3rd party. Please refer to the NVIDIA *Image Scaling* Unreal Engine plugin for further details. - -# Quickstart - -Please refer to the relevant section in this document for additional details. - -1. Enable the *DLSS* plugin in the Editor, then restart the editor -2. DLSS in the Editor: enable the following settings in the Project Plugin settings - 1. Enable DLSS to be turned on in Editor viewports (it should be set by default) - 2. In the Viewport Options (downwards pointing arrow in the top left corner), use the DLSS Settings menu to toggle the different DLSS quality modes -3. DLSS/DLAA in [Blueprint](#dlss-blueprints): - The `SetDLSSMode` and `EnableDLAA` functions of the DLSS blueprint library provide convenient functions for setting those console variables and are recommended to be used when integrating support into a project's user interface and settings. -4. DLSS in Game: make sure that the following [console variables](#command-line-options-and-console-variables-and-commands) are set to enable DLSS: - 1. r.NGX.Enable 1 (can be overriden on the command line with -ngxenable) - 2. r.NGX.DLSS.Enable 1 - 3. r.NGX.DLSS.Quality -1 - 4. r.NGX.DLSS.Quality.Auto false - 5. r.NGX.DLAA.Enable 0 -5. DLAA in Game: make sure that the following [console variables](#command-line-options-and-console-variables-and-commands) are set to enable DLAA - 1. r.NGX.Enable 1 (can be overriden on the command line with -ngxenable) - 2. r.NGX.DLAA.Enable 1 -6. Check the log for `LogDLSS: NVIDIA NGX DLSS supported 1` -7. (Optionally) Enable the DLSS on screen indicator in the bottom left of the screen via `\DLSS\Source\ThirdParty\NGX\Utils\ngx_driver_onscreenindicator.reg` to verify that DLSS is active - -# Troubleshooting - -## System requirements - -- Windows 10, 64 bit - - at least version v1709, Windows 10 Fall 2017 Creators Update 64-bit. -- NVIDIA Geforce Driver - - Recommended: version 461.40 or higher - - Required: version 445.00 or higher -- NVIDIA RTX GPU (GeForce, Titan or Quadro) with [DLSS](https://www.nvidia.com/en-us/geforce/technologies/dlss/) support -- UE project using either - - Vulkan - - DX11 - - DX12 - -## Diagnosing DLSS Issues in the Editor - -The DLSS plugin shows various common reasons why DLSS might not be working at the top of the screen (in non-Shipping build configurations). This message can also be turned off in the DLSS plugin settings, as discussed in the "DLSS Plugin Settings" section in this document. - -![DLSS Editor Developer messages](Images/DLSSDeveloperMessages.png) - -Additionally, the DLSS plugin modules write various information into the following UE log categories: - -* LogDLSS -* LogDLSSEditor -* LogDLSSBlueprint -* LogDLSSNGXRHI -* LogDLSSNGXD3D11RHI -* LogDLSSNGXD3D12RHI -* LogDLSSNGXVulkanRHIPreInit -* LogDLSSNGXVulkanRHI -* LogDLSSNGX - -Those can be accessed in the Editor under `Window -> Developer Tools -> Message Log` - -![DLSS Editor Output log menu](Images/DLSSOutputLogMenu.png) - -The Message log then can be filtered to show only the DLSS related messages to get more information on why DLSS might not be functioning as expected, as shown in those examples. - -![DLSS Editor Output log disabled](Images/DLSSOutputLogNotWorking.png) -![DLSS Editor Output log driver out of date](Images/DLSSOutputLogNotWorkingDriverOutOfDate.png) - -## Incompatibilities with API Capture Tools such as RenderDoc - -The Editor will show a warning at startup if DLSS incompatible API capture tools (such as RenderDoc) or plugins are used. To enable DLSS, please use an API capture tool such as [NVIDIA NSIGHT Graphics](https://developer.nvidia.com/nsight-graphics), which support the NGX APIs required by DLSS. - -![DLSS Editor incompatible tools and plugins](Images/DLSSIncompatibleCaptureToolsPlugins.png) - -## Incompatibilities with Screenpercentage override in Post Procssing Volumes -When DLSS is active, the DLSS quality mode determines the effective screen percentage. As such screen percentage overrides specified in postprocessing volumes are ignored. This can lead to unexpected performance behavior when DLSS is turned on, compared to when DLSS is turned off. - -## Incompatibilities with Depth of Field -As DLSS workload occurs in the same spot as TAAU in the pipeline, visual differences in DoF are expected. -To minimize the differences, it is recommended to use DLSS in 'Quality' or 'Ultra Quality' modes. -It is possible to tweak the DoF settings in the camera actor to compensate for the differences. -Please keep in mind this is content dependent. Thus for some scenes the differences can be minimal and avoided while in other cases it might be more challenging. - -## Verify Engine side plugin hooks - -The following cvars should be set to those values by default: -- r.DefaultFeature.Antialiasing 2 -- r.TemporalAA.Upscaler 1 -- r.Reflections.Denoiser 2 - -## Enabling NGX DLSS Logging on End User machines - -The DLSS plugin also pipes the NGX DLSS logs into the UE logging system into the `LogDLSSNGX` log category. It is enabled by default and can be tweaked with the `r.NGX.LogLevel` console variable, or set with the -NGXLogLevel=X command line option. - -This requires an NVIDIA GeForce **driver version 461.36** or later. - -## Enabling NGX DLSS Logging during Development - -If r.NGX.EnableOtherLoggingSinks is set then additional NGX logging of the NVIDIA NGX software stack to files can be used as well, as discussed in the "NGX logging" chapter of the [DLSS Programming Guide](DLSS_Programming_Guide_Release.pdf) for details. The -NGXLogFileEnable and -NGXLogFileDisable command line options can also override the default setting. -The DLSS SDK provides registry keys which can be set with the following .reg files which can be found in the plugin folder under `\DLSS\Source\ThirdParty\NGX\Utils\`: -* `ngx_log_on.reg` -* `ngx_log_off.reg` -* `ngx_log_verbose.reg` - -The DLSS plugin will write those into subfolder under `$(ProjectDir)\Saved\Logs\` with a `NGX_$(TimeStamp)_$(GUID)` pattern -* `nvngx.log` -* `nvngx_dlss_2_1_34.log` -* `nvsdk_ngx.log` - -## DLSS On-Screen Indicator - -The DLSS SDK provides registry keys which can be set with the following .reg files which can be found in the plugin folder under `\DLSS\Source\ThirdParty\NGX\Utils\`: - -* `ngx_driver_onscreenindicator.reg` -* `ngx_driver_off_screenindicator.reg` - -With the first registry key set, DLSS will display an indicator on-screen when it is enabled, enabling easier troubleshooting. The second registry key can be used to disable this indicator again. - -Please see the [DLSS Programming Guide](DLSS_Programming_Guide_Release.pdf) for further details. - -# Command Line Options And Console Variables and Commands - -## Enabling DLSS (Engine Side) - -The DLSS plugin uses various engine side hooks, which can be configured by the following cvars. Their default values - -- r.DefaultFeature.Antialiasing (2, default) - - Enable Temporal Anti-Aliasing -- r.TemporalAA.Upscaler (1, default) - - Enable a custom TAAU upscaling plugin, such as the DLSS plugin -- r.Reflections.Denoiser (2, default) - - Enable a custom denoising plugin. The DLSS plugin makes use of this to improve image quality for raytraced reflections by adding additionial TAA passes - -## Enabling Motion vectors for DLSS - -DLSS requires correct motion vectors to function properly. The following console variable can be used to render motion vectors for all objects, and not just the ones with dynamic geometry. This can be useful if it's infeasible to e.g. change all meshes to stationary or dynamic. - -- r.BasePassForceOutputsVelocity (0, default) - - Force the base pass to compute motion vector, regardless of FPrimitiveUniformShaderParameters. - - 0: Disabled - - 1: Enabled - -## Enabling DLSS/DLAA (Plugin Side) - -- r.NGX.Enable (1, default) can also be overriden on the command line with **-ngxenable** and **-ngxdisable** - - Whether the NGX library should be loaded. This allow to have the DLSS plugin enabled but avoiding potential incompatibilities by skipping the driver side NGX parts of DLSS. -- r.NGX.DLSS.Enable (1, default) - - Enable/Disable DLSS entirely. -- r.NGX.DLSS.Quality (-1, default) - - DLSS Performance/Quality setting. **Note:** Not all modes might be supported at runtime, in this case Balanced mode is used - - -2: Ultra Performance - - -1: Performance (default) - - 0: Balanced - - 1: Quality - - 2: Ultra Quality -- r.NGX.DLSS.Quality.Auto (false, default) - - Whether the DLSS quality mode should be chosen dynamically based on viewport size. Overrides r.NGX.DLSS.Quality -- r.NGX.DLAA.Enable (false, default) - - Enable/Disable DLAA. DLSS will be disabled while DLAA is enabled - -**Blueprint** functions: -- `SetDLSSMode`, `GetDLSSMode` -- `IsDLSSSupported`, `QueryDLSSSupport`, `GetDLSSMinimumDriverVersion`, `GetDefaultDLSSMode` -- `IsDLSSModeSupported`, `GetSupportedDLSSModes`,`GetDLSSModeInformation`, `GetDLSSScreenPercentageRange` -- `EnableDLAA`, `IsDLAAEnabled` - - -## DLSS Runtime Image Quality Tweaks - -- r.NGX.DLSS.DilateMotionVectors (1, default) - - 0: pass low resolution motion vectors into DLSS - - 1: pass dilated high resolution motion vectors into DLSS. This can help with improving image quality of thin details. - -- r.NGX.DLSS.Reflections.TemporalAA (1, default) - - Apply a temporal AA pass on the denoised reflections - -- r.NGX.DLSS.WaterReflections.TemporalAA (1, default) - - Apply a temporal AA pass on the denoised water reflections - -- r.NGX.DLSS.Sharpness (0.0f off, default) - - -1.0 to 1.0: Softening/sharpening to apply to the DLSS pass. Negative values soften the image, positive values sharpen. - -- r.NGX.DLSS.EnableAutoExposure - - 0: Use the engine-computed exposure value for input images to DLSS - - 1: Enable DLSS internal auto-exposure instead of the application provided one - enabling this can alleviate effects such as ghosting in darker scenes (default) - -- r.NGX.DLSS.PreferNISSharpen (2,default) - - Prefer sharpening with an extra NIS plugin sharpening pass instead of DLSS sharpening if the NIS plugin is also enabled for the project. - - Requires UE4.27.1 and the NIS plugin to be enabled, DLSS sharpening will be used otherwise. - - 0: Softening/sharpening with the DLSS pass. - - 1: Sharpen with the NIS plugin. Softening is not supported. Requires the NIS plugin to be enabled. - - 2: Sharpen with the NIS plugin. Softening (i.e. negative sharpness) with the DLSS plugin . Requires the NIS plugin to be enabled. - **Note** This cvar is only evaluated when using the `SetDLSSSharpness` Blueprint function, from either C++ or a Blueprint event graph! - -**Blueprint** functions: -- `SetDLSSSharpness`, `GetDLSSSharpness` - -## DLSS Binaries - -- r.NGX.BinarySearchOrder (0, default) - - 0: automatic - - use custom binaries from project and launch folder $(ProjectDir)/Binaries/ThirdParty/NVIDIA/NGX/$(Platform) if present - - fallback to generic binaries from plugin folder - - 1: force generic binaries from plugin folder, fail if not found - - 2: force custom binaries from project or launch folder, fail if not found - - 3: force generic development binaries from plugin folder, fail if not found. This is only supported in non-shipping build configurations - -## DLSS memory usage - -- `stat DLSS` - - shows how much GPU memory DLSS uses and how many DLSS features, i.e. instances of DLSS are allocated. - - In steady state there should be 1 DLSS feature allocated per view. This value can increase temporarily, typically after changing the DLSS quality mode or resizing the window. This can be configured with the `r.NGX.FramesUntilFeatureDestruction` console variable - -## NGX Project ID - -The DLSS plugin by default uses the project identifier to initialize NGX and DLSS. On rare occasion, NVIDIA might provide a special NVIDIA NGX application ID. The following console variable determines which one is used. - -r.NGX.ProjectIdentifier (0, default) - - 0: automatic: - - use NVIDIA NGX Application ID if non-zero, otherwise use UE Project ID - - 1: force UE Project ID - - 2: force NVIDIA NGX Application ID (set via the Project Settings -> NVIDIA DLSS plugin) - -Please refer to the "Distributing DLSS" section for further details. - -## Multi GPU Support (Experimental) - -The DLSS plugin supports multiple GPUs in certain circumstances, as shown in the following table. -There AFR stands for Alternate-Frame-Rendering, i.e. SLI or CrossFire, and SFR stands for Split-Frame-Rendering, which is what the nDisplay plugin uses. - -| RHI | AFR | SFR| -| --- | --- | --- | -| D3D12RHI | no | conditionally| -| D3D11RHI| yes| no| -| VulkanRHI| no | no| - -Notes: -- D3D12RHI - - AFR is not supported - - Primarily due to higher level renderer code not maintaining TAA (and thus DLSS) history across non-consecutive frames on the same GPU - - SFR is conditionally supported - - Support requires a custom nDisplay plugin to enable calling into the DLSS plugin - - Please refer to the [NvRTX](https://github.com/NvRTX/UnrealEngine) GitHub repository - - GPUs are expected to be in Linked Display Adapter (LDA) mode - - **This will not work with unmodified engine distributions, such as those from the Epic Games Launcher** - -- D3D11RHI - - AFR is supported via driver based, automatic SLI support - -- VulkanRHI - - The VulkanRHI (as of UE 4.27) does not implement explicit MGPU, and thus neither AFR nor SFR are available - -The following console variables can be used to adjust how DLSS interacts with the GPU nodes - -- r.NGX.DLSS.FeatureCreationNode (-1, default) - - Determines which GPU the DLSS feature is getting created on - - -1: Create on the GPU the command list is getting executed on - - 0: Create on GPU node 0 - - 1: Create on GPU node 1 - -- r.NGX.DLSS.FeatureVisibilityMask (-1, default) - - Determines which GPU the DLSS feature is visible to - - -1: Visible to the GPU the command list is getting executed on - - 1: visible to GPU node 0 - - 2: visible to GPU node 1 - - 3: visible to GPU node 0 and GPU node 1 - - -## Miscellaneous - -- r.NGX.DLSS.AutomationTesting (0, default) - - Whether the NGX library should be loaded when GIsAutomationTesting is true.(default is false) - - Must be set to true before startup. This can be enabled for cases where running automation testing with DLSS is desired -- r.NGX.Automation.Enable (0, default) - - Enable automation for NGX DLSS image quality and performance evaluation. -- r.NGX.Automation.ViewIndex (0, default) - - Select which view to use with NGX DLSS image quality and performance automation. -- r.NGX.Automation.NonGameViews (0,default) - - Enable non-game views for NGX DLSS image quality and performance automation. -- r.NGX.FramesUntilFeatureDestruction (3, default) - - Number of frames until an unused NGX feature gets destroyed -- r.NGX.DLSS.MinimumWindowsBuildVersion (16299, default for v1709) - - Sets the minimum Windows 10 build version required to enable DLSS -- r.NGX.LogLevel (1, default) - - Determines the minimal amount of logging the NGX implementation. Please refer to the DLSS plugin documentation on other ways to change the logging level. - - 0: off - - 1: on - - 2: verbose -- r.NGX.EnableOtherLoggingSinks (0, default) - - Determines whether the NGX implementation will turn on additional log sinks LogDLSSNGXRHI - - 0: off - - 1: on -- r.NGX.RenameNGXLogSeverities (1, default) - - Renames 'error' and 'warning' in messages returned by the NGX log callback to 'e_rror' and 'w_arning' before passing them to the UE log system - - 0: off - - 1: on, for select messages during initalization - - 2: on, for all messages -- r.NGX.DLSS.ReleaseMemoryOnDelete (1, default) - - Enable/disable releasing DLSS related memory on the NGX side when DLSS features get released - -# DLSS and the NIS NVIDIA Image Scaling plugin (UE 4.27.1+) - -The *DLSS* plugin and NVIDIA Image Scaling (*NIS*) plugins can be enabled together for the same project. Please see the `RTX UI Developer Guidelines` document for suggested UI implementations. - -When both the *DLSS* and *NIS* plugins are enabled for a project, NIS will be used instead of DLSS sharpening. See `r.NGX.DLSS.PreferNISSharpen` for details. - -# DLSS in the Editor - -## Enabling DLSS for a project - -![DLSS Plugin](Images/DLSSPlugin.png) - -## Enabling DLSS in Level Editor Viewports - -With "Enable DLSS to be turned on in Editor viewports" set in the project plugin settings, (on by default), the DLSS mode can be turned on in level editor viewports like this. Each viewport can have a different DLSS mode. - -![DLSS Viewport On](Images/DLSSViewportSettingsDLSSOn.png) - -## DLSS Plugin Settings - -Some of the "Level Editor - Viewport" settings are split across two config files and settings pages to tailor how DLSS is interacting with the editor user experience. - -For example, a cross-platform game project might find it more practical by default to only have DLSS enabled in "Play In Editor Viewports" or in "game mode" in order to maintain a consistent content authoring experience across the range of supported platforms. -However projects (e.g. an architecture visualization project with notable raytracing workloads), might find it more useful to have DLSS enabled during the content authoring. Either way each user can override those settings locally: - -- `Project Settings -> Plugins -> NVIDIA DLSS` - - stored in DefaultEngine.ini - - typically resides in source control. - - settings here are shared between users -- `Project Settings -> Plugins -> NVIDIA DLSS (Local)` - - stored UserEngine.ini - - not recommended to be checked into source control. - - allow a user to override project wide settings if desired. Defaults to "use project settings" - -![DLSS plugin project settings](Images/DLSSPluginProjectSettings.png) - -![DLSS plugin local project settings](Images/DLSSPluginProjectSettingsLocal.png) - - -## DLSS Blueprints - -The UDLSSLibrary blueprint library provides functionality to query whether DLSS and which modes are supported. It also provides convenient functions to enable the underlying DLSS console variables. The tooltips of each function provide additional information. - -Using the UDLSSLibrary via blueprint or C++ (by including the DLSSBlueprint module in a game project) is recommended over setting the console variables directly. This will make sure that any future updates will be picked up by simply updating the DLSS plugin, without having to update the game logic. - -![DLSS Blueprint library](Images/DLSSBlueprintLibrary.png) - -## DLSS Movie Render Queue Support (UE 4.27) - -Starting with UE4.27 DLSS supports the DLSS when rendering movies with the Movie Render Queue plugin. - -0. Enable the *Movie Render Queue* and *DLSS* plugins in the Editor -1. Enable the *Movie Render Queue DLSS Support* plugin in the Editor, then restart the editor -2. In the configuration, add the `Settings -> DLSS` page -3. In the DLSS settings page, change the desired DLSS quality mode - 1. Note: Unsupported DLSS modes will show a warning at the bottom of the window -4. Optional: The `Settings -> Output -> File Name Format` page supports a `{dlss_quality}` format tag - -**Note:** Only the *Deferred Rendering* render pass is supported with DLSS, all other passes use the built-in TAA - - -![DLSS Movie Scene Support Plugin](Images/DLSSMoviePipelineSupportPlugin.png) -![DLSS Movie Scene Support DLSS Setting](Images/DLSSMoviePipelineSupportDLSSetting.png) -![DLSS Movie Scene Support DLSS Setting Options](Images/DLSSMoviePipelineSupportDLSSOptions.png) -![DLSS Movie Scene Support DLSS Setting Options](Images/DLSSMoviePipelineSupportDLSSFormatFlags.png) - -## DLSS nDisplay support (NVRTX only) - -**Unmodified engine distributions, such as those from the Epic Games Launcher do not support DLSS with the nDisplay plugin.** - -The [NvRTX](https://github.com/NvRTX/UnrealEngine) GitHub repository hosts a modified version of the nDisplay plugin that has those changes to the nDisplay plugin: - -At the top of `\Engine\Plugins\Runtime\nDisplay\Source\DisplayCluster\Private\Game\EngineClasses\Basics\DisplayClusterViewportClient.cpp`, right after the existing header includes around line 50, add this block: - -``` -#include "CustomStaticScreenPercentage.h" - -static TAutoConsoleVariable CVarAllowTemporalUpsampling( - TEXT("nDisplay.render.TemporalUpsampling"), - 1, - TEXT("Allow custom upscaler plugins when rendering with nDisplay"), - ECVF_Default -); -``` - -And in `UDisplayClusterViewportClient::Draw`, around line 510, add this before the block that checks whether the view family has a screenpercentage interface set or not: - -``` -if (CVarAllowTemporalUpsampling.GetValueOnGameThread() && GCustomStaticScreenPercentage && ViewFamily.ViewMode == EViewModeIndex::VMI_Lit) -{ - GCustomStaticScreenPercentage->SetupMainGameViewFamily(ViewFamily); - - // Regular GameViewport set the primary screenpercentage mode elsewhere - if (ViewFamily.GetTemporalUpscalerInterface()) - { - for (FSceneView* View : Views) - { - View->PrimaryScreenPercentageMethod = EPrimaryScreenPercentageMethod::TemporalUpscale; - } - } -} -``` - -The `nDisplay.render.TemporalUpsampling` console variable then can be used to enable/disable calling into the DLSS plugin. -The usual DLSS blueprint functionality can then be used to configure DLSS. - - - -# Distributing DLSS - -The DLSS plugin ships with a ready-to-use production DLSS binary (without watermarks) and uses the project identifier to initialize NGX and DLSS. This is the common case for distribution to end users and does not require further actions from either your or NVIDIA's side. -On rare occasion NVIDIA however might provide: - -1. a custom project specific DLSS binary -2. an NVIDIA application ID - -In that case those can be configured in the advanced plugin settings. Additionally please also ensure that the r.NGX.ProjectIdentifier console variable is set to either 0 (the default) or 2. -The project plugin settings can be used to configure those (please see above). - -1. The custom, project specific DLSS binary `nvngx_dlss.dll` should be put into the project under `$(ProjectDir)/Binaries/ThirdParty/NVIDIA/NGX/$(Platform)` -2. Setting the NVIDIA NGX application ID for the project. - ![DLSS Plugin Project Settings](Images/DLSSPluginProjectSettings.png) - -Please refer to "Chapter 4 Distributing DLSS in a Game" in the the [DLSS Programming Guide](DLSS_Programming_Guide_Release.pdf) for details. - -# DLSS API and UI Documentation - -The [DLSS Programming Guide](DLSS_Programming_Guide_Release.pdf) provides details about the NVIDIA NGX APIs which are used by the plugin to implement DLSS. - -The [RTX UI Developer Guidelines](RTX UI Developer Guidelines.pdf) ([Chinese](RTX UI Developer Guidelines Chinese Version.pdf)) provides details about recommended game settings and UI for DLSS. - -The NVIDIA Developer Blog [Tips: Getting the Most out of the DLSS Unreal Engine 4 Plugin](https://developer.nvidia.com/blog/tips-getting-the-most-out-of-the-dlss-unreal-engine-4-plugin/) provides best practices along with other tips and tricks to use NVIDIA DLSS in Unreal Engine games and applications. diff --git a/plugins/DLSS/Source/DLSS/DLSS.Build.cs b/plugins/DLSS/Source/DLSS/DLSS.Build.cs index bcca694a..ac5b993c 100644 --- a/plugins/DLSS/Source/DLSS/DLSS.Build.cs +++ b/plugins/DLSS/Source/DLSS/DLSS.Build.cs @@ -10,6 +10,7 @@ */ using UnrealBuildTool; +using System.IO; public class DLSS : ModuleRules { @@ -38,9 +39,10 @@ public class DLSS : ModuleRules ); + // for ITemporalUpscaler in PostProcess/TemporalAA.h PrivateIncludePaths.AddRange( new string[] { - EngineDirectory + "/Source/Runtime/Renderer/Private", + Path.Combine(GetModuleDirectory("Renderer"), "Private"), // ... add other private include paths required here ... } ); @@ -72,32 +74,7 @@ public class DLSS : ModuleRules // ... add private dependencies that you statically link with here ... } ); - if (ReadOnlyBuildVersion.Current.MajorVersion == 5) - { - PrivateDependencyModuleNames.Add("RHICore"); - } + DynamicallyLoadedModuleNames.AddRange(SupportedDynamicallyLoadedNGXRHIModules(Target)); - - // We can't quite check whether we have CL 16848904 (in UE5-Main) so we do this in a round about way - bool bSupportsPostProcessingScreenPercentage = (Target.Version.MajorVersion == 4) || - ((Target.Version.MajorVersion == 5) && (Target.Version.BranchName == "++UE5+Release-5.0-EarlyAccess")) - ; - PrivateDefinitions.Add(string.Format("SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE={0}", bSupportsPostProcessingScreenPercentage ? "1" : "0")); - - // this is a public definition so the DLSSMoviePipelineSupport modules (if compiled against that branch) see it - bool bSupportsCustomStaticScreenpercentageSetupViewFamily = ((Target.Version.MajorVersion == 4) && (Target.Version.MinorVersion >= 27)) || ((Target.Version.MajorVersion == 5) && (Target.Version.BranchName != "++UE5+Release-5.0-EarlyAccess")); - PublicDefinitions.Add(string.Format("DLSS_ENGINE_SUPPORTS_CSSPD={0}", bSupportsCustomStaticScreenpercentageSetupViewFamily ? "1" : "0")); - - // We can't quite check whether we have CL 16758229 so we do this in a round about way - bool bEngineHasAAM_TSR = (Target.Version.MajorVersion == 5) && (Target.Version.BranchName != "++UE5+Release-5.0-EarlyAccess"); - PrivateDefinitions.Add(string.Format("DLSS_ENGINE_HAS_AAM_TSR={0}", bEngineHasAAM_TSR ? "1" : "0")); - - // 4.x and early access 5.0 engines had GTemporalUpscaler interface - bool bEngineHasGTemporalUpscaler = (Target.Version.MajorVersion == 4) || (Target.Version.BranchName == "++UE5+Release-5.0-EarlyAccess"); - PrivateDefinitions.Add(string.Format("DLSS_ENGINE_HAS_GTEMPORALUPSCALER={0}", bEngineHasGTemporalUpscaler ? "1" : "0")); - - // 4.x and early access 5.0 engines, ITemporalUpscaler::AddPasses returns values through pointers passed into the function - bool bEngineAddPassesReturnThroughParams = (Target.Version.MajorVersion == 4) || (Target.Version.BranchName == "++UE5+Release-5.0-EarlyAccess"); - PublicDefinitions.Add(string.Format("DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS={0}", bEngineAddPassesReturnThroughParams ? "1" : "0")); } } diff --git a/plugins/DLSS/Source/DLSS/Private/DLSS.cpp b/plugins/DLSS/Source/DLSS/Private/DLSS.cpp index 15f38969..49caae8a 100644 --- a/plugins/DLSS/Source/DLSS/Private/DLSS.cpp +++ b/plugins/DLSS/Source/DLSS/Private/DLSS.cpp @@ -1,5 +1,5 @@ /* -* Copyright (c) 2020 - 2022 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual * property and proprietary rights in and to this material, related @@ -46,7 +46,7 @@ static TAutoConsoleVariable CVarNGXEnable( TEXT("r.NGX.Enable"), 1, TEXT("Whether the NGX library should be loaded. This allow to have the DLSS plugin enabled but avoiding potential ") TEXT("incompatibilities by skipping the driver side NGX parts of DLSS. Can also be set on the command line via -ngxenable and -ngxdisable"), - ECVF_Default); + ECVF_ReadOnly); static TAutoConsoleVariable CVarNGXDLSSMinimumWindowsBuildVersion( TEXT("r.NGX.DLSS.MinimumWindowsBuildVersion"), 16299, @@ -102,8 +102,8 @@ public: virtual void SetupView(FSceneViewFamily& InViewFamily, FSceneView& InView) {} virtual void SetupViewPoint(APlayerController* Player, FMinimalViewInfo& InViewInfo) {} virtual void BeginRenderViewFamily(FSceneViewFamily& InViewFamily) {} - virtual void PreRenderView_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneView& InView) final {} - virtual void PreRenderViewFamily_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneViewFamily& InViewFamily) final + virtual void PreRenderView_RenderThread(FRDGBuilder& GraphBuilder, FSceneView& InView) final {} + virtual void PreRenderViewFamily_RenderThread(FRDGBuilder& GraphBuilder, FSceneViewFamily& InViewFamily) final { int32 ViewIndex = CVarNGXAutomationViewIndex.GetValueOnRenderThread(); @@ -117,6 +117,7 @@ public: View->ViewRotation.Pitch, View->ViewRotation.Roll, View->ViewRotation.Yaw); static FColor ColorMarker = FColor::FromHex("0xA1A5E87"); + FRHICommandListImmediate& RHICmdList = GraphBuilder.RHICmdList; RHICmdList.PushEvent(*AiAgentMarker, ColorMarker); RHICmdList.PopEvent(); } @@ -124,42 +125,18 @@ public: } }; - -static bool IsCompatibleEngineVersion(FString& OutPluginVersion, FString& OutEngineVersion) -{ - - // Binary incompatibility between 4.26.0 and 4.26.1, so check for the engine patch version at runtime here - // Engine loading code already checks for compatibility for major/minor/changelist - // Written so that no code change will be needed for future engine versions if compatibility isn't broken again - FEngineVersion Version = FEngineVersion::Current(); - - OutEngineVersion = FString::Printf(TEXT("%u.%u.%u"), Version.GetMajor(), Version.GetMinor(), Version.GetPatch()); - OutPluginVersion = FString::Printf(TEXT("%u.%u.%u"), ENGINE_MAJOR_VERSION, ENGINE_MINOR_VERSION, ENGINE_PATCH_VERSION); -#if ENGINE_MAJOR_VERSION == 4 - #if ENGINE_MINOR_VERSION == 26 - #if ENGINE_PATCH_VERSION == 0 - // 4.26.0 - return Version.GetPatch() == 0; - #else - // 4.26.x, x > 0 - return Version.GetPatch() >= 1; - #endif - #else - // 4.x._, x > 26 - return true; - #endif -#elif ENGINE_MAJOR_VERSION == 5 - return true; -#else -#error "ENGINE_MAJOR_VERSION must be either 4 or 5" -#endif -} - void FDLSSModule::StartupModule() { // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module UE_LOG(LogDLSS, Log, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); + if (!GDynamicRHI) + { + UE_LOG(LogDLSS, Log, TEXT("NVIDIA NGX DLSS requires an RHI")); + DLSSSupport = EDLSSSupport::NotSupported; + return; + } + // Get the base directory of this plugin const FString PluginBaseDir = IPluginManager::Get().FindPlugin(TEXT("DLSS"))->GetBaseDir(); const FString NGXBinariesDir = FPaths::Combine(*PluginBaseDir, TEXT("Binaries/ThirdParty/Win64/")); @@ -181,36 +158,7 @@ void FDLSSModule::StartupModule() const int32 NGXDLSSMinimumWindowsBuildVersion = CVarNGXDLSSMinimumWindowsBuildVersion.GetValueOnAnyThread(); - - FString PluginVersion; - FString EngineVersion; - - if (!IsCompatibleEngineVersion(PluginVersion, EngineVersion)) - { - FEngineVersion Version = FEngineVersion::Current(); - UE_LOG(LogDLSS, Error, - TEXT("This prebuilt binary distribution version %s of the NVIDIA DLSS plugin is not compatible with the current engine version %s"), - *PluginVersion, *EngineVersion); - UE_LOG(LogDLSS, Error, TEXT("Build the DLSS plugin from source (e.g. via the Editor -> Plugins -> NVIDIA DLSS -> Package)")); - DLSSSupport = EDLSSSupport::NotSupported; - -// we don't want this ever show up in packaged builds -#if WITH_EDITOR - const bool IsUnattended = FApp::IsUnattended() || IsRunningCommandlet() || GIsRunningUnattendedScript; - if (!IsUnattended ) - { - const FText DialogTitle(LOCTEXT("DLSSIncompatibleEngineVersionTitle", "Error - DLSS plugin incompatible with engine")); - - const FTextFormat Format(LOCTEXT("DLSSIncompatibleEngineVersion", - "The binary version {0} of this DLSS Unreal Engine Plugin is not compatible with the binary version {1} of this Unreal Engine installation. \n\n" - "Please build the DLSS plugin from source (e.g. via the Editor -> Plugins -> NVIDIA DLSS -> Package)")); - const FText WarningMessage = FText::Format(Format, FText::FromString(PluginVersion), FText::FromString(EngineVersion)); - - FMessageDialog::Open(EAppMsgType::Ok,WarningMessage, &DialogTitle); - } -#endif //WITH_EDITOR - } - else if (!IsRHIDeviceNVIDIA()) + if (!IsRHIDeviceNVIDIA()) { UE_LOG(LogDLSS, Log, TEXT("NVIDIA NGX DLSS requires an NVIDIA RTX series graphics card")); DLSSSupport = EDLSSSupport::NotSupportedIncompatibleHardware; @@ -234,9 +182,11 @@ void FDLSSModule::StartupModule() } else { - const bool bIsDX12 = (RHIName == TEXT("D3D12")) && GetDefault()->bEnableDLSSD3D12; - const bool bIsDX11 = (RHIName == TEXT("D3D11")) && GetDefault()->bEnableDLSSD3D11; - const bool bIsVulkan = (RHIName == TEXT("Vulkan")) && GetDefault()->bEnableDLSSVulkan; + const ERHIInterfaceType RHIType = RHIGetInterfaceType(); + + const bool bIsDX12 = (RHIType == ERHIInterfaceType::D3D12) && GetDefault()->bEnableDLSSD3D12; + const bool bIsDX11 = (RHIType == ERHIInterfaceType::D3D11) && GetDefault()->bEnableDLSSD3D11; + const bool bIsVulkan = (RHIType == ERHIInterfaceType::Vulkan) && GetDefault()->bEnableDLSSVulkan; const TCHAR* NGXRHIModuleName = nullptr; DLSSSupport = (bIsDX11 || bIsDX12 || bIsVulkan) ? EDLSSSupport::Supported : EDLSSSupport::NotSupported; @@ -253,7 +203,6 @@ void FDLSSModule::StartupModule() } else if (bIsVulkan) { - // TODO Vulkan (which might need a second, pre RHI init module to route the required vulkan extensions to the VulkanRHI, similar to the HMD stuff NGXRHIModuleName = TEXT("NGXVulkanRHI"); } @@ -352,6 +301,8 @@ void FDLSSModule::StartupModule() } const FNGXDriverRequirements DriverRequirements = NGXRHIExtensions->GetDLSSDriverRequirements(); + MinDriverVersionMajor = DriverRequirements.MinDriverVersionMajor; + MinDriverVersionMinor = DriverRequirements.MinDriverVersionMinor; if (DriverRequirements.DriverUpdateRequired) { if (DLSSSupport == EDLSSSupport::Supported) @@ -400,13 +351,6 @@ void FDLSSModule::StartupModule() DLSSUpscaler.Reset(); NGXRHIExtensions.Reset(); } -#if DLSS_ENGINE_HAS_GTEMPORALUPSCALER - else - { - checkf(GTemporalUpscaler == ITemporalUpscaler::GetDefaultTemporalUpscaler(), TEXT("GTemporalUpscaler is not set to the default upscaler. Please check that only one upscaling plugin is active.")); - GTemporalUpscaler = DLSSUpscaler.Get(); - } -#endif } } @@ -416,6 +360,11 @@ void FDLSSModule::StartupModule() if (DLSSSupport == EDLSSSupport::Supported) { + // set up the view extension for setting up the FDLSSUpscaler on FSceneViewFamily + { + DLSSUpscalerViewExtension = FSceneViewExtensions::NewExtension(); + } + // set the denoiser { @@ -429,12 +378,6 @@ void FDLSSModule::StartupModule() GScreenSpaceDenoiser = DLSSDenoiser.Get(); UE_LOG(LogDLSS, Log, TEXT("%s wrapping %s"), DLSSDenoiser->GetDebugName(), DLSSDenoiser->GetWrappedDenoiser()->GetDebugName()); } - - // set the screen percentage driver for game views - { - checkf(GCustomStaticScreenPercentage == nullptr, TEXT("GCustomStaticScreenPercentage is already in use. Please check that only one upscaling plugin is active.")); - GCustomStaticScreenPercentage = DLSSUpscaler.Get(); - } // set the resource pool { @@ -462,17 +405,19 @@ void FDLSSModule::ShutdownModule() if (QueryDLSSSupport() == EDLSSSupport::Supported) { + // reset the view extension + { + DLSSUpscalerViewExtension = nullptr; + } + // reset the resource pool + if (GCustomResourcePool == DLSSUpscaler.Get()) { GCustomResourcePool = nullptr; } - // reset the screen percentage driver for game views - { - GCustomStaticScreenPercentage = nullptr; - } - // reset the denoiser + if (GScreenSpaceDenoiser == DLSSDenoiser.Get()) { UE_LOG(LogDLSS, Log, TEXT("%s unwrapping %s"), DLSSDenoiser->GetDebugName(), DLSSDenoiser->GetWrappedDenoiser()->GetDebugName()); GScreenSpaceDenoiser = DLSSDenoiser->GetWrappedDenoiser(); @@ -481,9 +426,6 @@ void FDLSSModule::ShutdownModule() // reset the upscaler { -#if DLSS_ENGINE_HAS_GTEMPORALUPSCALER - GTemporalUpscaler = ITemporalUpscaler::GetDefaultTemporalUpscaler(); -#endif FDLSSUpscaler::ReleaseStaticResources(); DLSSUpscaler.Reset(); } @@ -520,6 +462,11 @@ FDLSSUpscaler* FDLSSModule::GetDLSSUpscaler() const return DLSSUpscaler.Get(); } +TSharedPtr< ISceneViewExtension, ESPMode::ThreadSafe> FDLSSModule::GetDLSSUpscalerViewExtension() const +{ + return StaticCastSharedPtr(DLSSUpscalerViewExtension); +} + #undef LOCTEXT_NAMESPACE IMPLEMENT_MODULE(FDLSSModule, DLSS) diff --git a/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.cpp b/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.cpp index e5938456..b64236f4 100644 --- a/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.cpp +++ b/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.cpp @@ -31,15 +31,6 @@ static TAutoConsoleVariable CVarNGXDLSSWaterReflectionsTemporalAA( ); -// defined in Buid.cs since it depends on the branch and engine version -#if !DLSS_ENGINE_HAS_AAM_TSR -/** Returns whether the anti-aliasing method use a temporal accumulation */ -static inline bool IsTemporalAccumulationBasedMethod(EAntiAliasingMethod AntiAliasingMethod) -{ - return AntiAliasingMethod == AAM_TemporalAA; -} -#endif - FDLSSDenoiser::FDLSSDenoiser(const IScreenSpaceDenoiser* InWrappedDenoiser, const FDLSSUpscaler* InUpscaler) : WrappedDenoiser(InWrappedDenoiser) , Upscaler(InUpscaler) @@ -54,14 +45,7 @@ const TCHAR* FDLSSDenoiser::GetDebugName() const { // we don't have the View here to check whether we have a valid GetTemporalUpscalerInterface, which we'll do when we actually get called to denoise/add TAA // and this is only for profilegpu anyways so OK if it's not 100% accurate - if (Upscaler->IsAutoQualityMode()) - { - return TEXT("FDLSSDenoiserWrapper(Auto)"); - } - else - { - return TEXT("FDLSSDenoiserWrapper(Active)"); - } + return TEXT("FDLSSDenoiserWrapper(Active)"); } else { @@ -87,7 +71,7 @@ IScreenSpaceDenoiser::FPolychromaticPenumbraOutputs FDLSSDenoiser::DenoisePolych IScreenSpaceDenoiser::FReflectionsOutputs FDLSSDenoiser::DenoiseReflections(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FReflectionsInputs& Inputs, const FReflectionsRayTracingConfig Config) const { FReflectionsOutputs Outputs = WrappedDenoiser->DenoiseReflections(GraphBuilder, View, PreviousViewInfos, SceneTextures, Inputs, Config); - const bool bIsDLSSActive = Upscaler->IsDLSSActive() && View.Family && Upscaler->IsValidUpscalerInstance(View.Family->GetTemporalUpscalerInterface()); + const bool bIsDLSSActive = View.Family && FDLSSSceneViewFamilyUpscaler::IsDLSSTemporalUpscaler(View.Family->GetTemporalUpscalerInterface()); const bool bApplyTemporalAA = bIsDLSSActive && CVarNGXDLSSReflectionsTemporalAA.GetValueOnRenderThread() && View.ViewState && IsTemporalAccumulationBasedMethod(View.AntiAliasingMethod); if(bApplyTemporalAA) { @@ -116,7 +100,7 @@ IScreenSpaceDenoiser::FReflectionsOutputs FDLSSDenoiser::DenoiseReflections(FRDG IScreenSpaceDenoiser::FReflectionsOutputs FDLSSDenoiser::DenoiseWaterReflections(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FReflectionsInputs& Inputs, const FReflectionsRayTracingConfig Config) const { FReflectionsOutputs Outputs = WrappedDenoiser->DenoiseWaterReflections(GraphBuilder, View, PreviousViewInfos, SceneTextures, Inputs, Config); - const bool bIsDLSSActive = Upscaler->IsDLSSActive() && View.Family && Upscaler->IsValidUpscalerInstance(View.Family->GetTemporalUpscalerInterface()); + const bool bIsDLSSActive = View.Family && FDLSSSceneViewFamilyUpscaler::IsDLSSTemporalUpscaler(View.Family->GetTemporalUpscalerInterface()); const bool bApplyTemporalAA = bIsDLSSActive && Upscaler->IsDLSSActive() && CVarNGXDLSSWaterReflectionsTemporalAA.GetValueOnRenderThread() && View.ViewState && IsTemporalAccumulationBasedMethod(View.AntiAliasingMethod); if (bApplyTemporalAA) { @@ -146,20 +130,6 @@ IScreenSpaceDenoiser::FAmbientOcclusionOutputs FDLSSDenoiser::DenoiseAmbientOccl { return WrappedDenoiser->DenoiseAmbientOcclusion(GraphBuilder, View, PreviousViewInfos, SceneTextures, Inputs, Config); } -#if ENGINE_MAJOR_VERSION == 4 -IScreenSpaceDenoiser::FDiffuseIndirectOutputs FDLSSDenoiser::DenoiseDiffuseIndirect(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const -{ - return WrappedDenoiser->DenoiseDiffuseIndirect(GraphBuilder, View, PreviousViewInfos, SceneTextures, Inputs, Config); -} -IScreenSpaceDenoiser::FDiffuseIndirectOutputs FDLSSDenoiser::DenoiseScreenSpaceDiffuseIndirect(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const -{ - return WrappedDenoiser->DenoiseScreenSpaceDiffuseIndirect(GraphBuilder, View, PreviousViewInfos, SceneTextures, Inputs, Config); -} -IScreenSpaceDenoiser::FDiffuseIndirectHarmonic FDLSSDenoiser::DenoiseDiffuseIndirectHarmonic(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectHarmonic& Inputs, const FAmbientOcclusionRayTracingConfig Config) const -{ - return WrappedDenoiser->DenoiseDiffuseIndirectHarmonic(GraphBuilder, View, PreviousViewInfos, SceneTextures, Inputs, Config); -} -#elif ENGINE_MAJOR_VERSION == 5 FSSDSignalTextures FDLSSDenoiser::DenoiseDiffuseIndirect(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const { @@ -175,9 +145,6 @@ FSSDSignalTextures FDLSSDenoiser::DenoiseDiffuseIndirectHarmonic(FRDGBuilder& Gr { return WrappedDenoiser->DenoiseDiffuseIndirectHarmonic(GraphBuilder, View, PreviousViewInfos, SceneTextures, Inputs, CommonDiffuseParameters); } -#else -#error "ENGINE_MAJOR_VERSION must be either 4 or 5" -#endif IScreenSpaceDenoiser::FDiffuseIndirectOutputs FDLSSDenoiser::DenoiseSkyLight(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const { diff --git a/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.h b/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.h index 425883c8..63789c44 100644 --- a/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.h +++ b/plugins/DLSS/Source/DLSS/Private/DLSSDenoiser.h @@ -1,29 +1,18 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #pragma once #include "CoreMinimal.h" #include "ScreenSpaceDenoise.h" -// for ENGINE_MAJOR_VERSION -#include "Launch/Resources/Version.h" class FDLSSUpscaler; // wrapper for the default denoiser to add TAA after some passes @@ -41,17 +30,9 @@ public: virtual FReflectionsOutputs DenoiseReflections(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FReflectionsInputs& Inputs, const FReflectionsRayTracingConfig Config) const final; virtual FReflectionsOutputs DenoiseWaterReflections(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FReflectionsInputs& Inputs, const FReflectionsRayTracingConfig Config) const override; virtual FAmbientOcclusionOutputs DenoiseAmbientOcclusion(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FAmbientOcclusionInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; -#if ENGINE_MAJOR_VERSION == 4 - virtual FDiffuseIndirectOutputs DenoiseDiffuseIndirect(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; - virtual FDiffuseIndirectHarmonic DenoiseDiffuseIndirectHarmonic(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectHarmonic& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; - virtual FDiffuseIndirectOutputs DenoiseScreenSpaceDiffuseIndirect(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; -#elif ENGINE_MAJOR_VERSION == 5 virtual FSSDSignalTextures DenoiseDiffuseIndirect(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; virtual FSSDSignalTextures DenoiseScreenSpaceDiffuseIndirect(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; virtual FSSDSignalTextures DenoiseDiffuseIndirectHarmonic(FRDGBuilder& GraphBuilder,const FViewInfo& View,FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectHarmonic& Inputs, const HybridIndirectLighting::FCommonParameters& CommonDiffuseParameters) const final; -#else -#error "ENGINE_MAJOR_VERSION must be either 4 or 5" -#endif virtual FDiffuseIndirectOutputs DenoiseSkyLight(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; virtual FDiffuseIndirectOutputs DenoiseReflectedSkyLight(FRDGBuilder& GraphBuilder, const FViewInfo& View, FPreviousViewInfo* PreviousViewInfos, const FSceneTextureParameters& SceneTextures, const FDiffuseIndirectInputs& Inputs, const FAmbientOcclusionRayTracingConfig Config) const final; diff --git a/plugins/DLSS/Source/DLSS/Private/DLSSSettings.cpp b/plugins/DLSS/Source/DLSS/Private/DLSSSettings.cpp deleted file mode 100644 index 97a360e7..00000000 --- a/plugins/DLSS/Source/DLSS/Private/DLSSSettings.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. -* -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. -*/ - -#include "DLSSSettings.h" -#define LOCTEXT_NAMESPACE "FDLSSModule" diff --git a/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.cpp b/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.cpp index 77879654..73ed14af 100644 --- a/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.cpp +++ b/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.cpp @@ -12,6 +12,7 @@ #include "DLSSUpscaler.h" +#include "DLSS.h" #include "DLSSUpscalerPrivate.h" #include "DLSSUpscalerHistory.h" #include "DLSSSettings.h" @@ -22,6 +23,7 @@ #include "PostProcess/PostProcessing.h" #include "SceneTextureParameters.h" #include "ScreenPass.h" +#include "DynamicResolutionState.h" #include "RayTracing/RaytracingOptions.h" @@ -30,10 +32,6 @@ #define LOCTEXT_NAMESPACE "FDLSSModule" -#ifndef SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE -#define SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE 1 -#endif - static TAutoConsoleVariable CVarNGXDLSSEnable( TEXT("r.NGX.DLSS.Enable"), 1, TEXT("Enable/Disable DLSS entirely."), @@ -69,7 +67,7 @@ static TAutoConsoleVariable CVarNGXDLSSAutoQualitySetting( static TAutoConsoleVariable CVarNGXDLSSSharpness( TEXT("r.NGX.DLSS.Sharpness"), 0.0f, - TEXT("-1.0 to 1.0: Softening/sharpening to apply to the DLSS pass. Negative values soften the image, positive values sharpen. (default: 0.0f)"), + TEXT("[deprecated] -1.0 to 1.0: Softening/sharpening to apply to the DLSS pass. Negative values soften the image, positive values sharpen. (default: 0.0f)"), ECVF_RenderThreadSafe); static TAutoConsoleVariable CVarNGXDLSSDilateMotionVectors( @@ -112,6 +110,8 @@ static TAutoConsoleVariable CVarNGXDLSSFeatureVisibilityMask( DECLARE_GPU_STAT(DLSS) +static const float kDLSSResolutionFractionError = 0.01f; + BEGIN_SHADER_PARAMETER_STRUCT(FDLSSShaderParameters, ) // Input images @@ -126,6 +126,13 @@ RDG_TEXTURE_ACCESS(SceneColorOutput, ERHIAccess::UAVCompute) END_SHADER_PARAMETER_STRUCT() +static FDLSSUpscaler* GetGlobalDLSSUpscaler() +{ + IDLSSModuleInterface* DLSSModule = &FModuleManager::LoadModuleChecked("DLSS"); + check(DLSSModule); + + return DLSSModule->GetDLSSUpscaler(); +} FIntPoint FDLSSPassParameters::GetOutputExtent() const { @@ -148,12 +155,6 @@ bool FDLSSPassParameters::Validate() const return true; } -const TCHAR* FDLSSUpscaler::GetDebugName() const -{ - return TEXT("FDLSSUpscaler"); -} - - static NVSDK_NGX_PerfQuality_Value ToNGXQuality(EDLSSQualityMode Quality) { static_assert(int32(EDLSSQualityMode::NumValues) == 5, "dear DLSS plugin NVIDIA developer, please update this code to handle the new EDLSSQualityMode enum values"); @@ -179,48 +180,119 @@ static NVSDK_NGX_PerfQuality_Value ToNGXQuality(EDLSSQualityMode Quality) } NGXRHI* FDLSSUpscaler::NGXRHIExtensions; -TStaticArray , uint32(EDLSSQualityMode::NumValues)> FDLSSUpscaler::DLSSUpscalerInstancesPerViewFamily; -float FDLSSUpscaler::MinResolutionFraction = TNumericLimits ::Max(); -float FDLSSUpscaler::MaxResolutionFraction = TNumericLimits ::Min(); - - +float FDLSSUpscaler::MinDynamicResolutionFraction = TNumericLimits ::Max(); +float FDLSSUpscaler::MaxDynamicResolutionFraction = TNumericLimits ::Min(); uint32 FDLSSUpscaler::NumRuntimeQualityModes = 0; TArray FDLSSUpscaler::ResolutionSettings; - -FDLSSUpscaler* FDLSSUpscaler::GetUpscalerInstanceForViewFamily(const FDLSSUpscaler* InUpscaler, EDLSSQualityMode InQualityMode) +bool FDLSSUpscalerViewExtension::IsActiveThisFrame_Internal(const FSceneViewExtensionContext& Context) const { - uint32 ArrayIndex = (int32)ToNGXQuality(InQualityMode); - if (!DLSSUpscalerInstancesPerViewFamily[ArrayIndex]) - { - DLSSUpscalerInstancesPerViewFamily[ArrayIndex] = MakeShared(InUpscaler, InQualityMode); - - } - return DLSSUpscalerInstancesPerViewFamily[ArrayIndex].Get(); -} - -bool FDLSSUpscaler::IsValidUpscalerInstance(const ITemporalUpscaler* InUpscaler) -{ - // DLSSUpscalerInstancesPerViewFamily gets lazily initialized, but we don't want to accidentally treat nullptr as a valid - // upscaler instance, when we want to check (e.g. in the denoiser) whether DLSS is actually active for the viewfamily - if (InUpscaler == nullptr) + // Verify this is for a viewport client + if (Context.Viewport == nullptr || !GEngine) { return false; } - for (auto UpscalerInstance : DLSSUpscalerInstancesPerViewFamily) + // Do not setup temporal upscaler in automated tests. + const bool bDLSSActiveWithAutomation = !GIsAutomationTesting || (GIsAutomationTesting && (CVarNGXDLSSAutomationTesting.GetValueOnAnyThread() != 0)); + if (!bDLSSActiveWithAutomation) { - if (UpscalerInstance.Get() == InUpscaler) + return false; + } + + // Do not setup if not available. + if (!GetGlobalDLSSUpscaler()->IsDLSSActive()) + { + return false; + } + + if (GIsEditor) +#if WITH_EDITOR + { + if (Context.Viewport->IsPlayInEditorViewport()) { - return true; + bool bEnableDLSSInPlayInEditorViewports = false; + if (GetDefault()->EnableDLSSInPlayInEditorViewportsOverride == EDLSSSettingOverride::UseProjectSettings) + { + bEnableDLSSInPlayInEditorViewports = GetDefault()->bEnableDLSSInPlayInEditorViewports; + } + else + { + bEnableDLSSInPlayInEditorViewports = GetDefault()->EnableDLSSInPlayInEditorViewportsOverride == EDLSSSettingOverride::Enabled; + } +#if !NO_LOGGING + static bool bLoggedPIEWarning = false; + if (!bLoggedPIEWarning && GIsPlayInEditorWorld && bEnableDLSSInPlayInEditorViewports) + { + if (FStaticResolutionFractionHeuristic::FUserSettings::EditorOverridePIESettings()) + { + UE_LOG(LogDLSS, Warning, TEXT("r.ScreenPercentage for DLSS quality mode will be ignored because overridden by editor settings (r.Editor.Viewport.OverridePIEScreenPercentage). Change this behavior in Edit -> Editor Preferences -> Performance")); + bLoggedPIEWarning = true; + } + } +#endif + return GIsPlayInEditorWorld && bEnableDLSSInPlayInEditorViewports; + } + else + { + bool bEnableDLSSInEditorViewports = false; + if (GetDefault()->EnableDLSSInEditorViewportsOverride == EDLSSSettingOverride::UseProjectSettings) + { + bEnableDLSSInEditorViewports = GetDefault()->bEnableDLSSInEditorViewports; + } + else + { + bEnableDLSSInEditorViewports = GetDefault()->EnableDLSSInEditorViewportsOverride == EDLSSSettingOverride::Enabled; + } + return bEnableDLSSInEditorViewports; } } - return false; +#else + { + return false; + } +#endif + else + { + const bool bIsGameViewport = Context.Viewport->GetClient() == GEngine->GameViewport; + return bIsGameViewport; + } } -bool FDLSSUpscaler::IsAutoQualityMode() +void FDLSSUpscalerViewExtension::BeginRenderViewFamily(FSceneViewFamily& ViewFamily) { - return CVarNGXDLSSAutoQualitySetting.GetValueOnAnyThread(); + if (ViewFamily.ViewMode != EViewModeIndex::VMI_Lit || + ViewFamily.Scene == nullptr || + ViewFamily.Scene->GetShadingPath() != EShadingPath::Deferred || + !ViewFamily.bRealtimeUpdate) + { + return; + } + + // Early returns if none of the view have a view state. + for (const FSceneView* View : ViewFamily.Views) + { + if (View->State == nullptr) + { + return; + } + } + + // Early returns if AA is disabled. + if (!ViewFamily.EngineShowFlags.AntiAliasing) + { + return; + } + + if (!ViewFamily.GetTemporalUpscalerInterface()) + { + GetGlobalDLSSUpscaler()->SetupViewFamily(ViewFamily); + } + else + { + UE_LOG(LogDLSS, Error, TEXT("Another plugin already set FSceneViewFamily::SetTemporalUpscalerInterface()")); + return; + } } bool FDLSSUpscaler::IsDLAAMode() @@ -228,25 +300,9 @@ bool FDLSSUpscaler::IsDLAAMode() return CVarNGXDLAAEnable.GetValueOnAnyThread(); } -void FDLSSUpscaler::SetAutoQualityMode(bool bAutoQualityMode) +FDLSSUpscaler::FDLSSUpscaler(NGXRHI* InNGXRHIExtensions): PreviousResolutionFraction(-1.0f) { - check(IsInGameThread()); - CVarNGXDLSSAutoQualitySetting->Set(bAutoQualityMode, ECVF_SetByCommandline); -} - -// make copy & assign quality mode -FDLSSUpscaler::FDLSSUpscaler(const FDLSSUpscaler* InUpscaler, EDLSSQualityMode InQualityMode) - : FDLSSUpscaler(*InUpscaler) -{ - DLSSQualityMode = InQualityMode; - check(NGXRHIExtensions); -} - - -FDLSSUpscaler::FDLSSUpscaler(NGXRHI* InNGXRHIExtensions) - -{ - UE_LOG(LogDLSS, Log, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); + UE_LOG(LogDLSS, VeryVerbose, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); checkf(!NGXRHIExtensions, TEXT("static member NGXRHIExtensions should only be assigned once by this ctor when called during module startup") ); @@ -267,9 +323,8 @@ FDLSSUpscaler::FDLSSUpscaler(NGXRHI* InNGXRHIExtensions) // we only consider non-fixed resolutions for the overall min / max resolution fraction if (OptimalSettings.bIsSupported && !OptimalSettings.IsFixedResolution()) { - // We use OptimalSettings.OptimalResolutionFraction to avoid getting to "floating point close" to OptimalSettings.{MinMax}ResolutionFraction) - MinResolutionFraction = FMath::Min(MinResolutionFraction, OptimalSettings.OptimalResolutionFraction); - MaxResolutionFraction = FMath::Max(MaxResolutionFraction, OptimalSettings.OptimalResolutionFraction); + MinDynamicResolutionFraction = FMath::Min(MinDynamicResolutionFraction, OptimalSettings.MinResolutionFraction); + MaxDynamicResolutionFraction = FMath::Max(MaxDynamicResolutionFraction, OptimalSettings.MaxResolutionFraction); ++NumRuntimeQualityModes; } @@ -278,7 +333,7 @@ FDLSSUpscaler::FDLSSUpscaler(NGXRHI* InNGXRHIExtensions) } // the DLSS module will report DLSS as not supported if there are no supported quality modes at runtime - UE_LOG(LogDLSS, Log, TEXT("NumRuntimeQualityModes=%u, MinResolutionFraction=%.4f, MaxResolutionFraction=%.4f"), NumRuntimeQualityModes, MinResolutionFraction, MaxResolutionFraction); + UE_LOG(LogDLSS, Log, TEXT("NumRuntimeQualityModes=%u, MinDynamicResolutionFraction=%.4f, MaxDynamicResolutionFraction=%.4f"), NumRuntimeQualityModes, MinDynamicResolutionFraction, MaxDynamicResolutionFraction); // Higher levels of the code (e.g. UI) should check whether each mode is actually supported // But for now verify early that the DLSS 2.0 modes are supported. Those checks could be removed in the future @@ -287,54 +342,53 @@ FDLSSUpscaler::FDLSSUpscaler(NGXRHI* InNGXRHIExtensions) check(IsQualityModeSupported(EDLSSQualityMode::Quality)); - UE_LOG(LogDLSS, Log, TEXT("%s Leave"), ANSI_TO_TCHAR(__FUNCTION__)); -} - -FDLSSUpscaler::~FDLSSUpscaler() -{ - UE_LOG(LogDLSS, Log, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); - - UE_LOG(LogDLSS, Log, TEXT("%s Leave"), ANSI_TO_TCHAR(__FUNCTION__)); + UE_LOG(LogDLSS, VeryVerbose, TEXT("%s Leave"), ANSI_TO_TCHAR(__FUNCTION__)); } // this gets explicitly called during module shutdown void FDLSSUpscaler::ReleaseStaticResources() { - UE_LOG(LogDLSS, Log, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); + UE_LOG(LogDLSS, VeryVerbose, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); ResolutionSettings.Empty(); - for (auto& UpscalerInstance : DLSSUpscalerInstancesPerViewFamily) - { - UpscalerInstance.Reset(); - } - - UE_LOG(LogDLSS, Log, TEXT("%s Leave"), ANSI_TO_TCHAR(__FUNCTION__)); + UE_LOG(LogDLSS, VeryVerbose, TEXT("%s Leave"), ANSI_TO_TCHAR(__FUNCTION__)); } -#if DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS -void FDLSSUpscaler::AddPasses( -#else -ITemporalUpscaler::FOutputs FDLSSUpscaler::AddPasses( -#endif +static const TCHAR* const GDLSSSceneViewFamilyUpscalerDebugName = TEXT("FDLSSSceneViewFamilyUpscaler"); + +const TCHAR* FDLSSSceneViewFamilyUpscaler::GetDebugName() const +{ + return GDLSSSceneViewFamilyUpscalerDebugName; +} + +// static +bool FDLSSSceneViewFamilyUpscaler::IsDLSSTemporalUpscaler(const ITemporalUpscaler* TemporalUpscaler) +{ + return TemporalUpscaler != nullptr && TemporalUpscaler->GetDebugName() == GDLSSSceneViewFamilyUpscalerDebugName; +} + +float FDLSSSceneViewFamilyUpscaler::GetMinUpsampleResolutionFraction() const +{ + return Upscaler->GetMinResolutionFractionForQuality(DLSSQualityMode); +} + +float FDLSSSceneViewFamilyUpscaler::GetMaxUpsampleResolutionFraction() const +{ + return Upscaler->GetMaxResolutionFractionForQuality(DLSSQualityMode); +} + +ITemporalUpscaler* FDLSSSceneViewFamilyUpscaler::Fork_GameThread(const class FSceneViewFamily& ViewFamily) const +{ + return new FDLSSSceneViewFamilyUpscaler(Upscaler, DLSSQualityMode); +} + +ITemporalUpscaler::FOutputs FDLSSSceneViewFamilyUpscaler::AddPasses( FRDGBuilder& GraphBuilder, const FViewInfo& View, const FPassInputs& PassInputs -#if DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS - , FRDGTextureRef* OutSceneColorTexture - , FIntRect* OutSceneColorViewRect - , FRDGTextureRef* OutSceneColorHalfResTexture - , FIntRect* OutSceneColorHalfResViewRect -#endif ) const { -#if ENGINE_MAJOR_VERSION < 5 - // For TAAU, this can happen with screen percentages larger than 100%, so not something that DLSS viewports are setup with - checkf(!PassInputs.bAllowDownsampleSceneColor,TEXT("The DLSS plugin does not support downsampling the scenecolor. Please set r.TemporalAA.AllowDownsampling=0")); -#endif checkf(View.PrimaryScreenPercentageMethod == EPrimaryScreenPercentageMethod::TemporalUpscale, TEXT("DLSS requires TemporalUpscale. If you hit this assert, please set r.TemporalAA.Upscale=1")); - - - const FTemporalAAHistory& InputHistory = View.PrevViewInfo.TemporalAAHistory; const TRefCountPtr InputCustomHistory = View.PrevViewInfo.CustomTemporalAAHistory; @@ -344,9 +398,7 @@ ITemporalUpscaler::FOutputs FDLSSUpscaler::AddPasses( FDLSSPassParameters DLSSParameters(View); const FIntRect SecondaryViewRect = DLSSParameters.OutputViewRect; -#if !DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS ITemporalUpscaler::FOutputs Outputs; -#endif { RDG_GPU_STAT_SCOPE(GraphBuilder, DLSS); RDG_EVENT_SCOPE(GraphBuilder, "DLSS"); @@ -369,25 +421,13 @@ ITemporalUpscaler::FOutputs FDLSSUpscaler::AddPasses( OutputCustomHistory ); -#if DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS - FRDGTextureRef SceneColorTexture = DLSSOutputs.SceneColor; - - *OutSceneColorTexture = SceneColorTexture; - *OutSceneColorViewRect = SecondaryViewRect; - - *OutSceneColorHalfResTexture = nullptr; - *OutSceneColorHalfResViewRect = FIntRect(FIntPoint::ZeroValue, FIntPoint::ZeroValue); -#else Outputs.FullRes.Texture = DLSSOutputs.SceneColor; Outputs.FullRes.ViewRect = SecondaryViewRect; -#endif } -#if !DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS return Outputs; -#endif } -FDLSSOutputs FDLSSUpscaler::AddDLSSPass( +FDLSSOutputs FDLSSSceneViewFamilyUpscaler::AddDLSSPass( FRDGBuilder& GraphBuilder, const FViewInfo& View, const FDLSSPassParameters& Inputs, @@ -397,8 +437,8 @@ FDLSSOutputs FDLSSUpscaler::AddDLSSPass( TRefCountPtr* OutputCustomHistoryInterface ) const { - check(IsValidUpscalerInstance(this)); - check(IsDLSSActive()); + check(IsInRenderingThread()); + check(Upscaler->IsDLSSActive()); const FDLSSUpscalerHistory* InputCustomHistory = static_cast(InputCustomHistoryInterface.GetReference()); const bool bCameraCut = !InputHistory.IsValid() || View.bCameraCut || !OutputHistory; @@ -414,13 +454,16 @@ FDLSSOutputs FDLSSUpscaler::AddDLSSPass( // set DLSSQualityMode by setting an FDLSSUpscaler on the ViewFamily (from the pool in DLSSUpscalerInstancesPerViewFamily) checkf(DLSSQualityMode != EDLSSQualityMode::NumValues, TEXT("Invalid Quality mode, not initialized")); - checkf(IsQualityModeSupported(DLSSQualityMode), TEXT("%u is not a valid Quality mode"), DLSSQualityMode); + checkf(Upscaler->IsQualityModeSupported(DLSSQualityMode), TEXT("%u is not a valid Quality mode"), DLSSQualityMode); // This assert can accidentally hit with small viewrect dimensions (e.g. when resizing an editor view) due to floating point rounding & quantization issues // e.g. with 33% screen percentage at 1000 DestRect dimension we get 333/1000 = 0.33 but at 10 DestRect dimension we get 3/10 0.3, thus the assert hits - - checkf(DestRect.Width() < 100 || GetMinResolutionFractionForQuality(DLSSQualityMode) - 0.01f <= ScaleX && ScaleX <= GetMaxResolutionFractionForQuality(DLSSQualityMode) + 0.01f, TEXT("The current resolution fraction %f is out of the supported DLSS range [%f ... %f] for quality mode %d."), ScaleX, GetMinResolutionFractionForQuality(DLSSQualityMode), GetMaxResolutionFractionForQuality(DLSSQualityMode), DLSSQualityMode); - checkf(DestRect.Height() < 100 || GetMinResolutionFractionForQuality(DLSSQualityMode) - 0.01f <= ScaleY && ScaleY <= GetMaxResolutionFractionForQuality(DLSSQualityMode) + 0.01f, TEXT("The current resolution fraction %f is out of the supported DLSS range [%f ... %f] for quality mode %d."), ScaleY, GetMinResolutionFractionForQuality(DLSSQualityMode), GetMaxResolutionFractionForQuality(DLSSQualityMode), DLSSQualityMode); + checkf(DestRect.Width() < 100 || GetMinUpsampleResolutionFraction() - kDLSSResolutionFractionError <= ScaleX && ScaleX <= GetMaxUpsampleResolutionFraction() + kDLSSResolutionFractionError, + TEXT("The current resolution fraction %f is out of the supported DLSS range [%f ... %f] for quality mode %d."), + ScaleX, GetMinUpsampleResolutionFraction(), GetMaxUpsampleResolutionFraction(), DLSSQualityMode); + checkf(DestRect.Height() < 100 || GetMinUpsampleResolutionFraction() - kDLSSResolutionFractionError <= ScaleY && ScaleY <= GetMaxUpsampleResolutionFraction() + kDLSSResolutionFractionError, + TEXT("The current resolution fraction %f is out of the supported DLSS range [%f ... %f] for quality mode %d."), + ScaleY, GetMinUpsampleResolutionFraction(), GetMaxUpsampleResolutionFraction(), DLSSQualityMode); const TCHAR* PassName = TEXT("MainUpsampling"); @@ -463,19 +506,22 @@ FDLSSOutputs FDLSSUpscaler::AddDLSSPass( } const FVector2D JitterOffset = View.TemporalJitterPixels; -#if ENGINE_MAJOR_VERSION < 5 - const float DeltaWorldTime = View.Family->DeltaWorldTime; -#else const float DeltaWorldTime = View.Family->Time.GetDeltaWorldTimeSeconds(); -#endif const float PreExposure = View.PreExposure; const bool bUseAutoExposure = CVarNGXDLSSAutoExposure.GetValueOnRenderThread() != 0; - const bool bReleaseMemoryOnDelete = CVarNGXDLSSReleaseMemoryOnDelete.GetValueOnRenderThread() != 0; const float Sharpness = FMath::Clamp(CVarNGXDLSSSharpness.GetValueOnRenderThread(), -1.0f, 1.0f); - NGXRHI* LocalNGXRHIExtensions = this->NGXRHIExtensions; +#if !NO_LOGGING + static bool bLoggedSharpnessWarning = false; + if (Sharpness != 0.0f && !bLoggedSharpnessWarning) + { + UE_LOG(LogDLSS, Warning, TEXT("DLSS sharpening is deprecated, recommend using the NIS plugin for sharpening instead")); + bLoggedSharpnessWarning = true; + } +#endif + NGXRHI* LocalNGXRHIExtensions = Upscaler->NGXRHIExtensions; const int32 NGXPerfQuality = ToNGXQuality(DLSSQualityMode); GraphBuilder.AddPass( RDG_EVENT_NAME("DLSS %s%s %dx%d -> %dx%d", @@ -485,6 +531,7 @@ FDLSSOutputs FDLSSUpscaler::AddDLSSPass( DestRect.Width(), DestRect.Height()), PassParameters, ERDGPassFlags::Compute | ERDGPassFlags::Raster | ERDGPassFlags::SkipRenderPass, + // FRHICommandListImmediate forces it to run on render thread, FRHICommandList doesn't [LocalNGXRHIExtensions, PassParameters, Inputs, bCameraCut, JitterOffset, DeltaWorldTime, PreExposure, Sharpness, NGXPerfQuality, DLSSState, bUseAutoExposure, bReleaseMemoryOnDelete](FRHICommandListImmediate& RHICmdList) { FRHIDLSSArguments DLSSArguments; @@ -497,16 +544,9 @@ FDLSSOutputs FDLSSUpscaler::AddDLSSPass( DLSSArguments.Sharpness = Sharpness; DLSSArguments.bReset = bCameraCut; - -#if ENGINE_MAJOR_VERSION < 5 - DLSSArguments.JitterOffset = JitterOffset; - DLSSArguments.MotionVectorScale = FVector2D(1.0f, 1.0f); -#else DLSSArguments.JitterOffset = FVector2f(JitterOffset); // LWC_TODO: Precision loss DLSSArguments.MotionVectorScale = FVector2f::UnitVector; -#endif ENGINE_MAJOR_VERSION - DLSSArguments.bHighResolutionMotionVectors = Inputs.bHighResolutionMotionVectors; DLSSArguments.DeltaTime = DeltaWorldTime; DLSSArguments.bReleaseMemoryOnDelete = bReleaseMemoryOnDelete; @@ -537,7 +577,7 @@ FDLSSOutputs FDLSSUpscaler::AddDLSSPass( PassParameters->SceneColorOutput->MarkResourceAsUsed(); DLSSArguments.OutputColor = PassParameters->SceneColorOutput->GetRHI(); - RHICmdList.TransitionResource(ERHIAccess::UAVMask, DLSSArguments.OutputColor); + RHICmdList.Transition(FRHITransitionInfo(DLSSArguments.OutputColor, ERHIAccess::Unknown, ERHIAccess::UAVMask)); RHICmdList.EnqueueLambda( [LocalNGXRHIExtensions, DLSSArguments, DLSSState](FRHICommandListImmediate& Cmd) mutable { @@ -593,127 +633,66 @@ bool FDLSSUpscaler::IsQualityModeSupported(EDLSSQualityMode InQualityMode) const bool FDLSSUpscaler::IsDLSSActive() const { static const auto CVarTemporalAAUpscaler = IConsoleManager::Get().FindConsoleVariable(TEXT("r.TemporalAA.Upscaler")); + static const IDLSSModuleInterface* DLSSModule = &FModuleManager::LoadModuleChecked(TEXT("DLSS")); + check(DLSSModule); + check(CVarTemporalAAUpscaler); const bool bDLSSActive = -#if DLSS_ENGINE_HAS_GTEMPORALUPSCALER - ((GTemporalUpscaler == this) || IsValidUpscalerInstance(this)) && -#else - ((GCustomStaticScreenPercentage == this) || IsValidUpscalerInstance(this)) && -#endif + DLSSModule->QueryDLSSSupport() == EDLSSSupport::Supported && CVarTemporalAAUpscaler && (CVarTemporalAAUpscaler->GetInt() != 0) && ((CVarNGXDLSSEnable.GetValueOnAnyThread() != 0) || CVarNGXDLAAEnable.GetValueOnAnyThread()); return bDLSSActive; } -void FDLSSUpscaler::SetupMainGameViewFamily(FSceneViewFamily& ViewFamily) +void FDLSSUpscaler::SetupViewFamily(FSceneViewFamily& ViewFamily) { - const bool bDLSSActiveWithAutomation = !GIsAutomationTesting || (GIsAutomationTesting && (CVarNGXDLSSAutomationTesting.GetValueOnAnyThread() != 0)); - - if (IsDLSSActive() && bDLSSActiveWithAutomation) + const ISceneViewFamilyScreenPercentage* ScreenPercentageInterface = ViewFamily.GetScreenPercentageInterface(); + float DesiredResolutionFraction = ScreenPercentageInterface->GetResolutionFractionsUpperBound()[GDynamicPrimaryResolutionFraction]; + + TOptional SelectedDLSSQualityMode; + + static_assert(int32(EDLSSQualityMode::NumValues) == 5, "dear DLSS plugin NVIDIA developer, please update this code to handle the new EDLSSQualityMode enum values"); + for (EDLSSQualityMode DLSSQualityMode : { EDLSSQualityMode::UltraPerformance, EDLSSQualityMode::Performance , EDLSSQualityMode::Balanced, EDLSSQualityMode::Quality, EDLSSQualityMode::UltraQuality }) { -#if DLSS_ENGINE_HAS_GTEMPORALUPSCALER - checkf(GTemporalUpscaler == this, TEXT("GTemporalUpscaler is not set to a DLSS upscaler . Please check that only one upscaling plugin is active.")); -#endif - checkf(GCustomStaticScreenPercentage == this, TEXT("GCustomStaticScreenPercentage is not set to a DLSS upscaler. Please check that only one upscaling plugin is active.")); - - if (!GIsEditor || (GIsEditor && GIsPlayInEditorWorld && EnableDLSSInPlayInEditorViewports())) + bool bIsSupported = FDLSSUpscaler::IsQualityModeSupported(DLSSQualityMode); + if (!bIsSupported) { - bool bIsDLAAMode = IsDLAAMode(); - EDLSSQualityMode DLSSQuality; - if (bIsDLAAMode) - { - DLSSQuality = EDLSSQualityMode::Quality; - } - else if (IsAutoQualityMode()) - { - TOptional MaybeDLSSQuality = GetAutoQualityModeFromViewFamily(ViewFamily); - if (!MaybeDLSSQuality.IsSet()) - { - return; - } - else - { - DLSSQuality = MaybeDLSSQuality.GetValue(); - } - } - else - { - DLSSQuality = GetSupportedQualityModeFromCVarValue(CVarNGXDLSSPerfQualitySetting.GetValueOnGameThread()); - } + continue; + } - ViewFamily.SetTemporalUpscalerInterface(GetUpscalerInstanceForViewFamily(this, DLSSQuality)); + float MinResolutionFraction = FDLSSUpscaler::GetMinResolutionFractionForQuality(DLSSQualityMode); + float MaxResolutionFraction = FDLSSUpscaler::GetMaxResolutionFractionForQuality(DLSSQualityMode); + float TargetResolutionFraction = FDLSSUpscaler::GetOptimalResolutionFractionForQuality(DLSSQualityMode); - if (ViewFamily.EngineShowFlags.ScreenPercentage && !ViewFamily.GetScreenPercentageInterface()) - { - // DLSS uses recommended resolution fraction, DLAA forces a 1.0 scale - float ResolutionFraction = 1.0f; - if (!bIsDLAAMode) - { - ResolutionFraction = GetOptimalResolutionFractionForQuality(DLSSQuality); - } - ViewFamily.SetScreenPercentageInterface(new FLegacyScreenPercentageDriver( - ViewFamily, ResolutionFraction -#if SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE - /* AllowPostProcessSettingsScreenPercentage = */ , false -#endif - - )); - } + bool bIsCompatible = DesiredResolutionFraction <= 1.0 && + DesiredResolutionFraction >= (MinResolutionFraction - kDLSSResolutionFractionError) && + DesiredResolutionFraction <= (MaxResolutionFraction + kDLSSResolutionFractionError); + bool bIsClosestYet = false; + if (SelectedDLSSQualityMode.IsSet()) + { + float SelectedTargetResolutionFraction = FDLSSUpscaler::GetOptimalResolutionFractionForQuality(SelectedDLSSQualityMode.GetValue()); + bIsClosestYet = FMath::Abs(TargetResolutionFraction - DesiredResolutionFraction) < FMath::Abs(SelectedTargetResolutionFraction - DesiredResolutionFraction); + } + else if (bIsCompatible) + { + bIsClosestYet = true; + } + + if (bIsCompatible && bIsClosestYet) + { + SelectedDLSSQualityMode = DLSSQualityMode; } } -} -#if DLSS_ENGINE_SUPPORTS_CSSPD -void FDLSSUpscaler::SetupViewFamily(FSceneViewFamily& ViewFamily, TSharedPtr InScreenPercentageDataInterface) -{ - check(InScreenPercentageDataInterface.IsValid()); - TSharedPtr ScreenPercentageData = StaticCastSharedPtr(InScreenPercentageDataInterface); - - EDLSSQualityMode Quality = static_cast(ScreenPercentageData->QualitySetting); - const bool bIsDLAAMode = ScreenPercentageData->bDLAAEnabled; - if (bIsDLAAMode) + if (SelectedDLSSQualityMode.IsSet()) { - Quality = EDLSSQualityMode::Quality; + ViewFamily.SetTemporalUpscalerInterface(new FDLSSSceneViewFamilyUpscaler(this, SelectedDLSSQualityMode.GetValue())); } - if (!IsQualityModeSupported(Quality)) + else if (DesiredResolutionFraction != PreviousResolutionFraction) { - UE_LOG(LogDLSS, Warning, TEXT("DLSS Quality mode is not supported %d"), Quality); - return; + UE_LOG(LogDLSS, Warning, TEXT("Could not setup DLSS upscaler for screen percentage = %f"), DesiredResolutionFraction * 100.0f); } - const bool bDLSSActiveWithAutomation = !GIsAutomationTesting || (GIsAutomationTesting && (CVarNGXDLSSAutomationTesting.GetValueOnAnyThread() != 0)); - if (IsDLSSActive() && bDLSSActiveWithAutomation) - { -#if DLSS_ENGINE_HAS_GTEMPORALUPSCALER - checkf(GTemporalUpscaler == this, TEXT("GTemporalUpscaler is not set to a DLSS upscaler . Please check that only one upscaling plugin is active.")); -#endif - checkf(GCustomStaticScreenPercentage == this, TEXT("GCustomStaticScreenPercentage is not set to a DLSS upscaler. Please check that only one upscaling plugin is active.")); - - ViewFamily.SetTemporalUpscalerInterface(GetUpscalerInstanceForViewFamily(this, Quality)); - - if (ViewFamily.EngineShowFlags.ScreenPercentage && !ViewFamily.GetScreenPercentageInterface()) - { - const float ResolutionFraction = bIsDLAAMode ? 1.0f : GetOptimalResolutionFractionForQuality(Quality); - ViewFamily.SetScreenPercentageInterface(new FLegacyScreenPercentageDriver( - ViewFamily, ResolutionFraction - #if SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE - /* AllowPostProcessSettingsScreenPercentage = */ , false - #endif - )); - } - } -} -#endif - -TOptional FDLSSUpscaler::GetAutoQualityModeFromViewFamily(const FSceneViewFamily& ViewFamily) const -{ - if (ensure(ViewFamily.RenderTarget != nullptr)) - { - FIntPoint ViewSize = ViewFamily.RenderTarget->GetSizeXY(); - int32 Pixels = ViewSize.X * ViewSize.Y; - return GetAutoQualityModeFromPixels(Pixels); - } - - return TOptional {}; + PreviousResolutionFraction = DesiredResolutionFraction; } TOptional FDLSSUpscaler::GetAutoQualityModeFromPixels(int PixelCount) const @@ -735,7 +714,7 @@ TOptional FDLSSUpscaler::GetAutoQualityModeFromPixels(int Pixe } -bool FDLSSUpscaler::EnableDLSSInPlayInEditorViewports() const +bool FDLSSUpscaler::EnableDLSSInPlayInEditorViewports() const { if (GetDefault()->EnableDLSSInPlayInEditorViewportsOverride == EDLSSSettingOverride::UseProjectSettings) { @@ -747,16 +726,6 @@ bool FDLSSUpscaler::EnableDLSSInPlayInEditorViewports() const } } -float FDLSSUpscaler::GetMinUpsampleResolutionFraction() const -{ - return MinResolutionFraction; -} - -float FDLSSUpscaler::GetMaxUpsampleResolutionFraction() const -{ - return MaxResolutionFraction; -} - float FDLSSUpscaler::GetOptimalResolutionFractionForQuality(EDLSSQualityMode Quality) const { checkf(IsQualityModeSupported(Quality),TEXT("%u is not a valid Quality mode"), Quality); diff --git a/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.h b/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.h index b9d9f7b9..f3cbc9a9 100644 --- a/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.h +++ b/plugins/DLSS/Source/DLSS/Private/DLSSUpscaler.h @@ -12,13 +12,12 @@ #pragma once #include "CoreMinimal.h" +#include "SceneViewExtension.h" #include "RendererInterface.h" #include "PostProcess/TemporalAA.h" #include "ScreenPass.h" #include "NGXRHI.h" -#include "DLSSSettings.h" -#include "CustomStaticScreenPercentage.h" #include "CustomResourcePool.h" class FSceneTextureParameters; @@ -28,6 +27,8 @@ struct FTemporalAAHistory; class FRHITexture; class NGXRHI; struct FDLSSOptimalSettings; +class FDLSSUpscaler; + struct FDLSSPassParameters { FIntRect InputViewRect; @@ -68,44 +69,61 @@ enum class EDLSSQualityMode NumValues = 5 }; -class DLSS_API FDLSSUpscaler final : public ITemporalUpscaler, public ICustomStaticScreenPercentage, public ICustomResourcePool +class DLSS_API FDLSSUpscalerViewExtension final : public FSceneViewExtensionBase +{ +public: + FDLSSUpscalerViewExtension(const FAutoRegister& AutoRegister) : FSceneViewExtensionBase(AutoRegister) + { } + + virtual void SetupViewFamily(FSceneViewFamily& InViewFamily) override {} + virtual void SetupView(FSceneViewFamily& InViewFamily, FSceneView& InView) override {} + virtual void BeginRenderViewFamily(FSceneViewFamily& InViewFamily) override; + virtual void PreRenderView_RenderThread(FRDGBuilder& GraphBuilder, FSceneView& InView) final override {} + virtual void PreRenderViewFamily_RenderThread(FRDGBuilder& GraphBuilder, FSceneViewFamily& InViewFamily) final override {} + virtual bool IsActiveThisFrame_Internal(const FSceneViewExtensionContext& Context) const override; +}; + +class DLSS_API FDLSSSceneViewFamilyUpscaler final : public ITemporalUpscaler +{ +public: + FDLSSSceneViewFamilyUpscaler(const FDLSSUpscaler* InUpscaler, EDLSSQualityMode InDLSSQualityMode) + : Upscaler(InUpscaler) + , DLSSQualityMode(InDLSSQualityMode) + { } + + virtual const TCHAR* GetDebugName() const final override; + virtual float GetMinUpsampleResolutionFraction() const final override; + virtual float GetMaxUpsampleResolutionFraction() const final override; + virtual ITemporalUpscaler* Fork_GameThread(const class FSceneViewFamily& ViewFamily) const final override; + virtual ITemporalUpscaler::FOutputs AddPasses( + FRDGBuilder& GraphBuilder, + const FViewInfo& View, + const FPassInputs& PassInputs) const final override; + + static bool IsDLSSTemporalUpscaler(const ITemporalUpscaler* TemporalUpscaler); + +private: + const FDLSSUpscaler* Upscaler; + const EDLSSQualityMode DLSSQualityMode; + + FDLSSOutputs AddDLSSPass( + FRDGBuilder& GraphBuilder, + const FViewInfo& View, + const FDLSSPassParameters& Inputs, + const FTemporalAAHistory& InputHistory, + FTemporalAAHistory* OutputHistory, + const TRefCountPtr InputCustomHistoryInterface, + TRefCountPtr* OutputCustomHistoryInterface + ) const; +}; + +class DLSS_API FDLSSUpscaler final : public ICustomResourcePool { friend class FDLSSModule; public: - - FDLSSUpscaler(const FDLSSUpscaler* InUpscaler, EDLSSQualityMode InQualityMode); - virtual ~FDLSSUpscaler(); - // Inherited via ITemporalUpscaler - virtual const TCHAR* GetDebugName() const final; - -#if DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS - virtual void AddPasses( -#else - virtual ITemporalUpscaler::FOutputs AddPasses( -#endif - FRDGBuilder& GraphBuilder, - const FViewInfo& View, - const FPassInputs& PassInputs -#if DLSS_ENGINE_ADDPASSES_RETURN_THROUGH_PARAMS - , FRDGTextureRef* OutSceneColorTexture - , FIntRect* OutSceneColorViewRect - , FRDGTextureRef* OutSceneColorHalfResTexture - , FIntRect* OutSceneColorHalfResViewRect -#endif - ) const final; - - // Inherited via ICustomStaticScreenPercentage - virtual void SetupMainGameViewFamily(FSceneViewFamily& ViewFamily) final; - -#if DLSS_ENGINE_SUPPORTS_CSSPD - /** Allows to setup View Family directly. To be used by modules that are aware of DLSS Plugin. */ - virtual void SetupViewFamily(FSceneViewFamily& ViewFamily, TSharedPtr InScreenPercentageDataInterface) final; -#endif - - virtual float GetMinUpsampleResolutionFraction() const final; - virtual float GetMaxUpsampleResolutionFraction() const final; + void SetupViewFamily(FSceneViewFamily& ViewFamily); float GetOptimalResolutionFractionForQuality(EDLSSQualityMode Quality) const; float GetOptimalSharpnessForQuality(EDLSSQualityMode Quality) const; @@ -129,61 +147,40 @@ public: bool IsDLSSActive() const; - static FDLSSUpscaler* GetUpscalerInstanceForViewFamily(const FDLSSUpscaler* InUpscaler, EDLSSQualityMode InQualityMode); - static bool IsValidUpscalerInstance(const ITemporalUpscaler* InUpscaler); - static bool IsDLAAMode(); - static bool IsAutoQualityMode(); - static void SetAutoQualityMode(bool bAutoQualityMode); // Give the suggested EDLSSQualityMode if one is appropriate for the given pixel count, or nothing if DLSS should be disabled TOptional GetAutoQualityModeFromPixels(int PixelCount) const; static void ReleaseStaticResources(); + static float GetMinUpsampleResolutionFraction() + { + return MinDynamicResolutionFraction; + } + + static float GetMaxUpsampleResolutionFraction() + { + return MaxDynamicResolutionFraction; + } + private: FDLSSUpscaler(NGXRHI* InNGXRHIExtensions); FDLSSUpscaler(const FDLSSUpscaler&) = default; - EDLSSQualityMode GetSupportedQualityModeFromCVarValue(int32 InCVarValue) const - { - checkf(NumRuntimeQualityModes, TEXT("This should only be called from the higher level code when DLSS is supported") ); - static_assert(int32(EDLSSQualityMode::NumValues) == 5, "dear DLSS plugin NVIDIA developer, please update this code to handle the new EDLSSQualityMode enum values"); - for (auto QualityMode : { EDLSSQualityMode::UltraPerformance, EDLSSQualityMode::Performance , EDLSSQualityMode::Balanced, EDLSSQualityMode::Quality, EDLSSQualityMode::UltraQuality }) - { - if (InCVarValue == static_cast(QualityMode) && IsQualityModeSupported(QualityMode)) - { - return QualityMode; - } - } - return EDLSSQualityMode::Balanced; - } - - TOptional GetAutoQualityModeFromViewFamily(const FSceneViewFamily& ViewFamily) const; - bool EnableDLSSInPlayInEditorViewports() const; - FDLSSOutputs AddDLSSPass( - FRDGBuilder& GraphBuilder, - const FViewInfo& View, - const FDLSSPassParameters& Inputs, - const FTemporalAAHistory& InputHistory, - FTemporalAAHistory* OutputHistory, - const TRefCountPtr InputCustomHistoryInterface, - TRefCountPtr* OutputCustomHistoryInterface - ) const; - - - - EDLSSQualityMode DLSSQualityMode = EDLSSQualityMode::NumValues; // The FDLSSUpscaler(NGXRHI*) will update those once static NGXRHI* NGXRHIExtensions; - static float MinResolutionFraction; - static float MaxResolutionFraction; + static float MinDynamicResolutionFraction; + static float MaxDynamicResolutionFraction; static uint32 NumRuntimeQualityModes; static TArray ResolutionSettings; + float PreviousResolutionFraction; - static TStaticArray , uint32(EDLSSQualityMode::NumValues)> DLSSUpscalerInstancesPerViewFamily; + friend class FDLSSUpscalerViewExtension; + friend class FDLSSSceneViewFamilyUpscaler; }; + diff --git a/plugins/DLSS/Source/DLSS/Private/DLSSUpscalerHistory.h b/plugins/DLSS/Source/DLSS/Private/DLSSUpscalerHistory.h index 700986b6..e4d6d977 100644 --- a/plugins/DLSS/Source/DLSS/Private/DLSSUpscalerHistory.h +++ b/plugins/DLSS/Source/DLSS/Private/DLSSUpscalerHistory.h @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #pragma once @@ -26,7 +17,7 @@ class DLSS_API FDLSSUpscalerHistory final : public ICustomTemporalAAHistory, public FRefCountBase { - friend class FDLSSUpscaler; + friend class FDLSSSceneViewFamilyUpscaler; FDLSSStateRef DLSSState; diff --git a/plugins/DLSS/Source/DLSS/Public/DLSS.h b/plugins/DLSS/Source/DLSS/Public/DLSS.h index 038769b9..e414e31d 100644 --- a/plugins/DLSS/Source/DLSS/Public/DLSS.h +++ b/plugins/DLSS/Source/DLSS/Public/DLSS.h @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #pragma once @@ -24,6 +15,8 @@ class FDLSSUpscaler; class FDLSSDenoiser; +class ISceneViewExtension; +class FDLSSUpscalerViewExtension; class FNGXAutomationViewExtension; class NGXRHI; @@ -46,6 +39,7 @@ class IDLSSModuleInterface : public IModuleInterface virtual void GetDLSSMinDriverVersion(int32& MajorVersion, int32& MinorVersion) const = 0; virtual float GetResolutionFractionForQuality(int32 Quality) const = 0; virtual FDLSSUpscaler* GetDLSSUpscaler() const = 0; + virtual TSharedPtr< ISceneViewExtension, ESPMode::ThreadSafe> GetDLSSUpscalerViewExtension() const = 0; }; class FDLSSModule final: public IDLSSModuleInterface @@ -60,13 +54,16 @@ public: virtual EDLSSSupport QueryDLSSSupport() const; virtual void GetDLSSMinDriverVersion(int32& MajorVersion, int32& MinorVersion) const; virtual float GetResolutionFractionForQuality(int32 Quality) const; - virtual FDLSSUpscaler* GetDLSSUpscaler() const ; + virtual FDLSSUpscaler* GetDLSSUpscaler() const; + + virtual TSharedPtr< ISceneViewExtension, ESPMode::ThreadSafe> GetDLSSUpscalerViewExtension() const; private: TUniquePtr DLSSUpscaler; TUniquePtr DLSSDenoiser; TUniquePtr NGXRHIExtensions; + TSharedPtr< FDLSSUpscalerViewExtension, ESPMode::ThreadSafe> DLSSUpscalerViewExtension; TSharedPtr< FNGXAutomationViewExtension, ESPMode::ThreadSafe> NGXAutomationViewExtension; EDLSSSupport DLSSSupport = EDLSSSupport::NotSupported; int32 MinDriverVersionMinor; diff --git a/plugins/DLSS/Source/DLSS/Public/DLSSSettings.h b/plugins/DLSS/Source/DLSS/Public/DLSSSettings.h index 67a8fce3..2cb51881 100644 --- a/plugins/DLSS/Source/DLSS/Public/DLSSSettings.h +++ b/plugins/DLSS/Source/DLSS/Public/DLSSSettings.h @@ -13,8 +13,7 @@ #include "UObject/ObjectMacros.h" #include "UObject/Object.h" #include "Engine/DeveloperSettings.h" -#include "CustomStaticScreenPercentage.h" -#include "Runtime/Launch/Resources/Version.h" +#include "SceneView.h" #include "DLSSSettings.generated.h" @@ -33,24 +32,20 @@ public: GENERATED_BODY() - /** This enables DLSS in editor viewports. Saved to local user config only.*/ - UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport (Local)", DisplayName = "Enable DLSS to be turned on in Editor viewports") + /** This enables DLSS/DLAA in editor viewports. Saved to local user config only.*/ + UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport (Local)", DisplayName = "Enable DLSS/DLAA to be turned on in Editor viewports") EDLSSSettingOverride EnableDLSSInEditorViewportsOverride = EDLSSSettingOverride::UseProjectSettings; - /** This setting enables adjusting the screenpercentage directly in the editor, outside of the optimized DLSS quality modes. Saved to local user config only.*/ - UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport (Local)", DisplayName = "Enable Screenpercentage Manipulation in DLSS Editor Viewports") - EDLSSSettingOverride EnableScreenpercentageManipulationInDLSSEditorViewportsOverride = EDLSSSettingOverride::UseProjectSettings; - - /** This enables DLSS in play in editor viewports. Saved to local user config only. */ - UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport (Local)", DisplayName = "Enable DLSS in Play In Editor viewports") + /** This enables DLSS/DLAA in play in editor viewports. Saved to local user config only. */ + UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport (Local)", DisplayName = "Enable DLSS/DLAA in Play In Editor viewports") EDLSSSettingOverride EnableDLSSInPlayInEditorViewportsOverride = EDLSSSettingOverride::UseProjectSettings; - /** This enables warnings about plugins & tools that are incompatible with DLSS in the editor. Saved to local user config only. */ + /** This enables warnings about plugins & tools that are incompatible with DLSS/DLAA in the editor. Saved to local user config only. */ UPROPERTY(Config, EditAnywhere, Category = "Editor (Local)", DisplayName = "Warn about incompatible plugins and tools") bool bShowDLSSIncompatiblePluginsToolsWarnings = true; - /** This enables on screen warnings and errors about DLSS */ - UPROPERTY(Config, EditAnywhere, Category = "Editor (Local)", DisplayName = "Show various DLSS on screen debug messages") + /** This enables on screen warnings and errors about DLSS/DLAA */ + UPROPERTY(Config, EditAnywhere, Category = "Editor (Local)", DisplayName = "Show various DLSS/DLAA on screen debug messages") EDLSSSettingOverride ShowDLSSSDebugOnScreenMessages = EDLSSSettingOverride::UseProjectSettings; }; @@ -64,32 +59,28 @@ private: public: - /** Enable DLSS for D3D12, if the driver supports it at runtime */ - UPROPERTY(Config, EditAnywhere, Category = "Platforms", DisplayName = "Enable DLSS for the D3D12RHI") + /** Enable DLSS/DLAA for D3D12, if the driver supports it at runtime */ + UPROPERTY(Config, EditAnywhere, Category = "Platforms", DisplayName = "Enable DLSS/DLAA for the D3D12RHI") bool bEnableDLSSD3D12 = PLATFORM_WINDOWS; - /** Enable DLSS for D3D11, if the driver supports it at runtime */ - UPROPERTY(Config, EditAnywhere, Category = "Platforms", DisplayName = "Enable DLSS for the D3D11RHI") + /** Enable DLSS/DLAA for D3D11, if the driver supports it at runtime */ + UPROPERTY(Config, EditAnywhere, Category = "Platforms", DisplayName = "Enable DLSS/DLAA for the D3D11RHI") bool bEnableDLSSD3D11 = PLATFORM_WINDOWS; - /** Enable DLSS for Vulkan, if the driver supports it at runtime */ - UPROPERTY(Config, EditAnywhere, Category = "Platforms", DisplayName = "Enable DLSS for the VulkanRHI") + /** Enable DLSS/DLAA for Vulkan, if the driver supports it at runtime */ + UPROPERTY(Config, EditAnywhere, Category = "Platforms", DisplayName = "Enable DLSS/DLAA for the VulkanRHI") bool bEnableDLSSVulkan = PLATFORM_WINDOWS; - /** This enables DLSS in editor viewports. This project wide setting can be locally overridden in the NVIDIA DLSS (Local) settings.*/ - UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport", DisplayName = "Enable DLSS to be turned on in Editor viewports") - bool bEnableDLSSInEditorViewports = true; + /** This enables DLSS/DLAA in editor viewports. This project wide setting can be locally overridden in the NVIDIA DLSS (Local) settings.*/ + UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport", DisplayName = "Enable DLSS/DLAA to be turned on in Editor viewports") + bool bEnableDLSSInEditorViewports = false; - /** This setting enables adjusting the screenpercentage directly in the editor, outside of the optimized DLSS quality modes. This project wide setting can be locally overridden in the NVIDIA DLSS (Local) settings.*/ - UPROPERTY(Config = Editor, EditAnywhere, Category = "Level Editor - Viewport", DisplayName = "Enable Screenpercentage Manipulation in DLSS Editor Viewports") - bool bEnableScreenpercentageManipulationInDLSSEditorViewports = false; - - /** This enables DLSS in play in editor viewports. This project wide setting can be locally overridden in in the NVIDIA DLSS (Local) settings.*/ - UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport", DisplayName = "Enable DLSS in Play In Editor viewports") + /** This enables DLSS/DLAA in play in editor viewports. This project wide setting can be locally overridden in in the NVIDIA DLSS (Local) settings.*/ + UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport", DisplayName = "Enable DLSS/DLAA in Play In Editor viewports") bool bEnableDLSSInPlayInEditorViewports = true; - /** This enables on screen warnings and errors about DLSS. This project wide setting can be locally overridden in the NVIDIA DLSS (Local) settings. */ - UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport", DisplayName = "Show various DLSS on screen debug messages") + /** This enables on screen warnings and errors about DLSS/DLAA. This project wide setting can be locally overridden in the NVIDIA DLSS (Local) settings. */ + UPROPERTY(Config, EditAnywhere, Category = "Level Editor - Viewport", DisplayName = "Show various DLSS/DLAA on screen debug messages") bool bShowDLSSSDebugOnScreenMessages = true; /** This is part of the DLSS plugin and used by most projects*/ @@ -99,7 +90,7 @@ public: UPROPERTY(VisibleAnywhere, Config, Category = "General Settings", DisplayName = "Exists") bool bGenericDLSSBinaryExists; - /** By default the DLSS plugin uses the UE Project ID to initalize DLSS. In some cases NVIDIA might provide a separate NVIDIA Application ID, which should be put here. Please refer to https://developer.nvidia.com/dlss for details*/ + /** By default the DLSS plugin uses the UE Project ID to initialize DLSS. In some cases NVIDIA might provide a separate NVIDIA Application ID, which should be put here. Please refer to https://developer.nvidia.com/dlss for details*/ UPROPERTY(Config, EditAnywhere, Category = "General Settings", DisplayName = "NVIDIA NGX Application ID", AdvancedDisplay) uint32 NVIDIANGXApplicationId; @@ -110,12 +101,3 @@ public: bool bCustomDLSSBinaryExists; }; -// This is publically defined in the .Build.cs so it can key off branch names, which is not feasible to do with the preprocessor -#if DLSS_ENGINE_SUPPORTS_CSSPD -class FDLSSViewportQualitySetting final : public ICustomStaticScreenPercentageData -{ -public: - int32 QualitySetting = 0; - bool bDLAAEnabled = false; -}; -#endif diff --git a/plugins/DLSS/Source/DLSSBlueprint/DLSSBlueprint.Build.cs b/plugins/DLSS/Source/DLSSBlueprint/DLSSBlueprint.Build.cs index c056d014..0c1f8179 100644 --- a/plugins/DLSS/Source/DLSSBlueprint/DLSSBlueprint.Build.cs +++ b/plugins/DLSS/Source/DLSSBlueprint/DLSSBlueprint.Build.cs @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ using UnrealBuildTool; @@ -45,11 +36,9 @@ public class DLSSBlueprint : ModuleRules ); - // for ITemporalUpscaler in PostProcess/TemporalAA.h PrivateIncludePaths.AddRange( new string[] { - EngineDirectory + "/Source/Runtime/Renderer/Private", - // ... add other private include paths required here ... + Path.Combine(GetModuleDirectory("Renderer"), "Private"), } ); @@ -62,15 +51,14 @@ public class DLSSBlueprint : ModuleRules PublicIncludePaths.AddRange( new string[] { - Path.Combine(ModuleDirectory, "../DLSS/Public"), + Path.Combine(GetModuleDirectory("DLSS"), "Public"), } ); PrivateIncludePaths.AddRange( new string[] { - Path.Combine(EngineDirectory,"Source/Runtime/Renderer/Private"), - Path.Combine(ModuleDirectory, "../DLSS/Private") + Path.Combine(GetModuleDirectory("DLSS"), "Private"), } ); diff --git a/plugins/DLSS/Source/DLSSBlueprint/Private/DLSSLibrary.cpp b/plugins/DLSS/Source/DLSSBlueprint/Private/DLSSLibrary.cpp index 9238aeb4..608ee2f5 100644 --- a/plugins/DLSS/Source/DLSSBlueprint/Private/DLSSLibrary.cpp +++ b/plugins/DLSS/Source/DLSSBlueprint/Private/DLSSLibrary.cpp @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #include "DLSSLibrary.h" @@ -32,18 +23,21 @@ #include "Interfaces/IPluginManager.h" #include "ShaderCore.h" +#include UE_INLINE_GENERATED_CPP_BY_NAME(DLSSLibrary) + #define LOCTEXT_NAMESPACE "FDLSSBlueprintModule" DEFINE_LOG_CATEGORY_STATIC(LogDLSSBlueprint, Log, All); static TAutoConsoleVariable CVarNGXDLSSPreferNISSharpen( TEXT("r.NGX.DLSS.PreferNISSharpen"), 2, - TEXT("Prefer sharpening with an extra NIS plugin sharpening pass instead of DLSS sharpening if the NIS plugin is also enabled for the project. (default: true)\n") - TEXT("Requires UE4.27.1 and the NIS plugin to be enabled, DLSS sharpening will be used otherwise \n") + TEXT("Prefer sharpening with an extra NIS plugin sharpening pass instead of DLSS sharpening if the NIS plugin is also enabled for the project. (default: 1)\n") + TEXT("Requires the NIS plugin to be enabled\n") TEXT(" 0: Softening/sharpening with the DLSS pass.\n") TEXT(" 1: Sharpen with the NIS plugin. Softening is not supported. Requires the NIS plugin to be enabled.\n") - TEXT(" 2: Sharpen with the NIS plugin. Softening (i.e. negative sharpness)with the DLSS plugin. Requires the NIS plugin to be enabled.\n") - TEXT("Note: This cvar is only evaluated when using the `SetDLSSSharpness` Blueprint function, from either C++ or a Blueprint event graph!"), + TEXT(" 2: Sharpen with the NIS plugin. Softening (i.e. negative sharpness) with the DLSS plugin. Requires the NIS plugin to be enabled.\n") + TEXT("Note: This cvar is only evaluated when using the deprecated `SetDLSSSharpness` Blueprint function, from either C++ or a Blueprint event graph!") + TEXT("Note: DLSS sharpening is deprecated, future plugin versions will remove DLSS sharpening. Use the NIS plugin for sharpening instead\n"), ECVF_RenderThreadSafe); static const FName SetDLSSModeInvalidEnumValueError= FName("SetDLSSModeInvalidEnumValueError"); @@ -178,7 +172,8 @@ bool UDLSSLibrary::IsDLSSModeSupported(UDLSSMode DLSSMode) } else if (DLSSMode == UDLSSMode::Auto) { - return true; + // support for auto quality mode was dropped with UE 5.1 + return false; } else { @@ -220,7 +215,7 @@ void UDLSSLibrary::GetDLSSModeInformation(UDLSSMode DLSSMode, FVector2D ScreenRe bIsSupported = IsDLSSModeSupported(DLSSMode); #if WITH_DLSS - if ((DLSSMode != UDLSSMode::Off) && bIsSupported) + if ((DLSSMode != UDLSSMode::Off) && bIsSupported || (DLSSMode == UDLSSMode::Auto)) { EDLSSQualityMode EDLSSMode; if (DLSSMode != UDLSSMode::Auto) @@ -345,6 +340,60 @@ void UDLSSLibrary::GetDLSSMinimumDriverVersion(int32& MinDriverVersionMajor, int #endif } +void UDLSSLibrary::EnableDLSS(bool bEnabled) +{ +#if WITH_DLSS + if (!TryInitDLSSLibrary()) + { + UE_LOG(LogDLSSBlueprint, Error, TEXT("EnableDLSS should not be called before PostEngineInit")); + return; + } + + const bool bDLSSSupported = (DLSSSupport == UDLSSSupport::Supported); + if (!bDLSSSupported) + { + return; + } + + static IConsoleVariable* CVarDLSSEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Enable")); + if (CVarDLSSEnable) + { + CVarDLSSEnable->Set(bEnabled ? 1 : 0, ECVF_SetByCommandline); + + // Spatial upscalers such as NIS might set this to 0, but we need r.TemporalAA.Upscaler to be 1 for DLSS to work. + // but we don't want to change the Cvar if DLSS is not active as to avoid impacting other code paths + // we don't need to set r.TemporalAA.Upsampling since r.TemporalAA.Upscaler implies that + if (bEnabled) + { + static const auto CVarTemporalAAUpscaler = IConsoleManager::Get().FindConsoleVariable(TEXT("r.TemporalAA.Upscaler")); + CVarTemporalAAUpscaler->Set(1, ECVF_SetByCommandline); + } + } +#endif +} + +bool UDLSSLibrary::IsDLSSEnabled() +{ +#if WITH_DLSS + if (!TryInitDLSSLibrary()) + { + UE_LOG(LogDLSSBlueprint, Error, TEXT("IsDLSSEnabled should not be called before PostEngineInit")); + return false; + } + + // if NGX library loading was disabled, DLSS will be unsupported + const bool bDLSSSupported = (DLSSSupport == UDLSSSupport::Supported); + + static const IConsoleVariable* CVarDLSSEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Enable")); + const bool bDLSSEnabled = CVarDLSSEnable && (CVarDLSSEnable->GetInt() != 0); + + return bDLSSSupported && bDLSSEnabled; +#else + return false; +#endif +} + +// deprecated void UDLSSLibrary::EnableDLAA(bool bEnabled) { #if WITH_DLSS @@ -354,14 +403,12 @@ void UDLSSLibrary::EnableDLAA(bool bEnabled) return; } - static const auto CVarNGXEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.Enable")); - bool bNGXEnabled = CVarNGXEnable && (CVarNGXEnable->GetInt() != 0); + const bool bDLAASupported = (DLSSSupport == UDLSSSupport::Supported); static auto CVarDLAAEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLAA.Enable")); if (CVarDLAAEnable) { - // r.NGX.Enable might be set to 0 via hotfix so disable DLAA too (in case it might come from saved settings) - bool bDLAAEnabled = bNGXEnabled && bEnabled; + bool bDLAAEnabled = bDLAASupported && bEnabled; CVarDLAAEnable->Set(bDLAAEnabled, ECVF_SetByCommandline); if (bDLAAEnabled) { @@ -373,6 +420,7 @@ void UDLSSLibrary::EnableDLAA(bool bEnabled) #endif } +// deprecated bool UDLSSLibrary::IsDLAAEnabled() { #if WITH_DLSS @@ -382,18 +430,18 @@ bool UDLSSLibrary::IsDLAAEnabled() return false; } - static const auto CVarNGXEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.Enable")); - const bool bNGXEnabled = CVarNGXEnable && (CVarNGXEnable->GetInt() != 0); + const bool bDLAASupported = (DLSSSupport == UDLSSSupport::Supported); const bool bDLAAEnabled = (DLSSUpscaler != nullptr) && DLSSUpscaler->IsDLAAMode(); - return bNGXEnabled && bDLAAEnabled; + return bDLAASupported && bDLAAEnabled; #else return false; #endif } -void UDLSSLibrary::SetDLSSMode(UDLSSMode DLSSMode) +// deprecated +void UDLSSLibrary::SetDLSSMode(UObject* WorldContextObject, UDLSSMode DLSSMode) { #if WITH_DLSS if (!TryInitDLSSLibrary()) @@ -407,33 +455,41 @@ void UDLSSLibrary::SetDLSSMode(UDLSSMode DLSSMode) // UEnums are strongly typed, but then one can also cast a byte to an UEnum ... if(Enum->IsValidEnumValue(int64(DLSSMode)) && (Enum->GetMaxEnumValue() != int64(DLSSMode))) { - static const auto CVarNGXEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.Enable")); - const bool bNGXEnabled = CVarNGXEnable && CVarNGXEnable->GetInt(); + const bool bDLSSSupported = (DLSSSupport == UDLSSSupport::Supported); - static auto CVarDLSSEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Enable")); - if (CVarDLSSEnable) + TOptional MaybeQualityMode{}; + if (bDLSSSupported) { - // r.NGX.Enable might be set to 0 via hotfix so set r.NGX.DLSS.Enable to 0 too (in case it might come from saved settings) - const bool bDLSSEnabled = bNGXEnabled && (DLSSMode != UDLSSMode::Off); - CVarDLSSEnable->Set(bDLSSEnabled ? 1 : 0, ECVF_SetByCommandline); - - // Spatial upscalers such as NIS might set this to 0, but we need r.TemporalAA.Upscaler to be 1 for DLSS to work. - // but we don't want to change the Cvar if DLSS is not active as to avoid impacting other code paths - // we don't need to set r.TemporalAA.Upsampling since r.TemporalAA.Upscaler implies that - if (bDLSSEnabled) + if ((DLSSMode != UDLSSMode::Off) && (DLSSMode != UDLSSMode::Auto)) { - static const auto CVarTemporalAAUpscaler = IConsoleManager::Get().FindConsoleVariable(TEXT("r.TemporalAA.Upscaler")); - CVarTemporalAAUpscaler->Set(1, ECVF_SetByCommandline); + MaybeQualityMode = ToEDLSSQualityMode(DLSSMode); } } - static auto CVarDLSSAutoQualityMode = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Quality.Auto")); - if (CVarDLSSAutoQualityMode) + static IConsoleVariable* CVarScreenPercentage = IConsoleManager::Get().FindConsoleVariable(TEXT("r.ScreenPercentage")); + if (MaybeQualityMode.IsSet() && DLSSUpscaler->IsQualityModeSupported(*MaybeQualityMode)) { - bool bIsAutoQualityMode = bNGXEnabled && (DLSSMode == UDLSSMode::Auto); - CVarDLSSAutoQualityMode->Set(bIsAutoQualityMode, ECVF_SetByCommandline); + // enable DLSS, and set screen percentage for backward compatibility with earlier plugin versions + float OptimalScreenPercentage = 100.0f * DLSSUpscaler->GetOptimalResolutionFractionForQuality(*MaybeQualityMode); + if (CVarScreenPercentage != nullptr) + { + EConsoleVariableFlags Priority = static_cast(CVarScreenPercentage->GetFlags() & ECVF_SetByMask); + CVarScreenPercentage->Set(OptimalScreenPercentage, Priority); + } + EnableDLSS(true); + } + else + { + // disable DLSS, and set screen percentage to 100 for backward compatibility with earlier plugin versions + if (CVarScreenPercentage != nullptr) + { + EConsoleVariableFlags Priority = static_cast(CVarScreenPercentage->GetFlags() & ECVF_SetByMask); + CVarScreenPercentage->Set(100.0f, Priority); + } + EnableDLSS(false); } + // TODO: this cvar does nothing static auto CVarDLSSQuality = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Quality")); if (CVarDLSSQuality && (DLSSMode != UDLSSMode::Off) && (DLSSMode != UDLSSMode::Auto)) @@ -458,6 +514,7 @@ void UDLSSLibrary::SetDLSSMode(UDLSSMode DLSSMode) #endif // WITH_DLSS } +// deprecated UDLSSMode UDLSSLibrary::GetDLSSMode() { #if WITH_DLSS @@ -470,8 +527,7 @@ UDLSSMode UDLSSLibrary::GetDLSSMode() static const auto CVarTemporalAAUpscaler = IConsoleManager::Get().FindConsoleVariable(TEXT("r.TemporalAA.Upscaler")); const bool bTemporalUpscalerActive = CVarTemporalAAUpscaler && CVarTemporalAAUpscaler->GetInt() != 0; - static const auto CVarNGXEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.Enable")); - const bool bNGXEnabled = CVarNGXEnable && CVarNGXEnable->GetInt(); + const bool bDLSSSupported = (DLSSSupport == UDLSSSupport::Supported); static const auto CVarDLSSEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Enable")); const bool bDLSSEnabled = CVarDLSSEnable && CVarDLSSEnable->GetInt(); @@ -488,11 +544,11 @@ UDLSSMode UDLSSLibrary::GetDLSSMode() // DLSS is mutually exclusive with DLAA, DLAA wins return UDLSSMode::Off; } - else if (bTemporalUpscalerActive && bNGXEnabled && bDLSSEnabled && bIsAutoQualityMode) + else if (bTemporalUpscalerActive && bDLSSSupported && bDLSSEnabled && bIsAutoQualityMode) { return UDLSSMode::Auto; } - else if (bTemporalUpscalerActive && bNGXEnabled && bDLSSEnabled && CVarDLSSQuality) + else if (bTemporalUpscalerActive && bDLSSSupported && bDLSSEnabled && CVarDLSSQuality) { static_assert(int32(EDLSSQualityMode::NumValues) == 5, "dear DLSS plugin NVIDIA developer, please update this code to handle the new enum values"); @@ -522,9 +578,10 @@ UDLSSMode UDLSSLibrary::GetDLSSMode() } #ifndef ENGINE_CAN_SUPPORT_NIS_PLUGIN -#define ENGINE_CAN_SUPPORT_NIS_PLUGIN (ENGINE_MAJOR_VERSION == 5 || (ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION ==27 && ENGINE_PATCH_VERSION >=1 )) +#define ENGINE_CAN_SUPPORT_NIS_PLUGIN 1 #endif +// deprecated void UDLSSLibrary::SetDLSSSharpness(float Sharpness) { #if WITH_DLSS @@ -567,6 +624,7 @@ void UDLSSLibrary::SetDLSSSharpness(float Sharpness) #endif } +// deprecated float UDLSSLibrary::GetDLSSSharpness() { #if WITH_DLSS @@ -624,7 +682,7 @@ UDLSSMode UDLSSLibrary::GetDefaultDLSSMode() #endif if (UDLSSLibrary::IsDLSSSupported()) { - return UDLSSMode::Auto; + return UDLSSMode::Quality; } else { diff --git a/plugins/DLSS/Source/DLSSBlueprint/Public/DLSSLibrary.h b/plugins/DLSS/Source/DLSSBlueprint/Public/DLSSLibrary.h index a3a8add0..d2fe6288 100644 --- a/plugins/DLSS/Source/DLSSBlueprint/Public/DLSSLibrary.h +++ b/plugins/DLSS/Source/DLSSBlueprint/Public/DLSSLibrary.h @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #pragma once @@ -53,7 +44,7 @@ UENUM(BlueprintType) enum class UDLSSMode : uint8 { Off UMETA(DisplayName = "Off"), - Auto UMETA(DisplayName = "Auto"), + Auto UMETA(DisplayName = "Auto", ToolTip = "Not a real quality mode. Use Auto to query best settings for a given resolution with GetDLSSModeInformation"), UltraQuality UMETA(DisplayName = "Ultra Quality"), Quality UMETA(DisplayName = "Quality"), Balanced UMETA(DisplayName = "Balanced"), @@ -80,12 +71,24 @@ public: UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Get DLSS Minimum DriverVersion")) static DLSSBLUEPRINT_API void GetDLSSMinimumDriverVersion(int32& MinDriverVersionMajor, int32& MinDriverVersionMinor); + /** + * Enable/disable DLSS/DLAA + * To select a DLSS quality mode, set an appropriate upscale screen percentage with r.ScreenPercentage. Use GetDlssModeInformation to find optimal screen percentage + * To select DLAA, set the upscale screen percentage to 100 (r.ScreenPercentage=100) + */ + UFUNCTION(BlueprintCallable, Category = "DLSS", meta = (DisplayName = "Enable DLSS")) + static DLSSBLUEPRINT_API void EnableDLSS(bool bEnabled); + + /** Checks whether DLSS/DLAA is enabled */ + UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Is DLSS Enabled")) + static DLSSBLUEPRINT_API bool IsDLSSEnabled(); + /** Enable/disable DLAA. Note that while DLAA is enabled, DLSS will be automatically disabled */ - UFUNCTION(BlueprintCallable, Category = "DLSS", meta = (DisplayName = "Enable DLAA")) + UFUNCTION(BlueprintCallable, Category = "DLSS", meta = (DisplayName = "Enable DLAA", DeprecatedFunction, DeprecationMessage = "Use EnableDLSS instead")) static DLSSBLUEPRINT_API void EnableDLAA(bool bEnabled); /** Checks whether DLAA is enabled */ - UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Is DLAA Enabled")) + UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Is DLAA Enabled", DeprecatedFunction, DeprecationMessage = "Use IsDLSSEnabled instead")) static DLSSBLUEPRINT_API bool IsDLAAEnabled(); /** Checks whether a DLSS mode is supported */ @@ -105,19 +108,19 @@ public: static DLSSBLUEPRINT_API void GetDLSSScreenPercentageRange(float& MinScreenPercentage, float& MaxScreenPercentage); /** Sets the console variables to enable/disable DLSS (r.NGX.DLSS.Enable, r.NGX.DLSS.Quality)*/ - UFUNCTION(BlueprintCallable, Category = "DLSS", meta = (DisplayName = "Set DLSS Mode")) - static DLSSBLUEPRINT_API void SetDLSSMode(UDLSSMode DLSSMode); + UFUNCTION(BlueprintCallable, Category = "DLSS", meta=(WorldContext="WorldContextObject", DisplayName = "Set DLSS Mode", DeprecatedFunction, DeprecationMessage = "Use EnableDLSS instead")) + static DLSSBLUEPRINT_API void SetDLSSMode(UObject* WorldContextObject, UDLSSMode DLSSMode); /* Reads the console variables to infer the current DLSS mode (r.NGX.DLSS.Enable, r.NGX.DLSS.Quality, r.TemporalAA.Upscaler)*/ - UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Get DLSS Mode")) + UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Get DLSS Mode", DeprecatedFunction, DeprecationMessage = "Use IsDLSSEnabled instead")) static DLSSBLUEPRINT_API UDLSSMode GetDLSSMode(); /* Sets the console variables to enable additional DLSS sharpening. Set to 0 to disable (r.NGX.DLSS.Sharpness) */ - UFUNCTION(BlueprintCallable, Category = "DLSS", meta = (DisplayName = "Set DLSS Sharpness")) + UFUNCTION(BlueprintCallable, Category = "DLSS", meta = (DisplayName = "Set DLSS Sharpness", DeprecatedFunction, DeprecationMessage = "Use NIS sharpening instead")) static DLSSBLUEPRINT_API void SetDLSSSharpness(float Sharpness); /*Reads the console variables to infer the current DLSS sharpness (r.NGX.DLSS.Sharpness) */ - UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Get DLSS Sharpness")) + UFUNCTION(BlueprintPure, Category = "DLSS", meta = (DisplayName = "Get DLSS Sharpness", DeprecatedFunction, DeprecationMessage = "Use NIS sharpening instead")) static DLSSBLUEPRINT_API float GetDLSSSharpness(); /* Find a reasonable default DLSS mode based on current hardware */ diff --git a/plugins/DLSS/Source/DLSSEditor/DLSSEditor.Build.cs b/plugins/DLSS/Source/DLSSEditor/DLSSEditor.Build.cs index 205253c3..cca8078b 100644 --- a/plugins/DLSS/Source/DLSSEditor/DLSSEditor.Build.cs +++ b/plugins/DLSS/Source/DLSSEditor/DLSSEditor.Build.cs @@ -27,17 +27,14 @@ public class DLSSEditor : ModuleRules PrivateIncludePaths.AddRange( new string[] { - Path.Combine(EngineDirectory,"Source/Runtime/Renderer/Private"), - Path.Combine(EngineDirectory,"Source/Editor/LevelEditor/Private"), - - Path.Combine(ModuleDirectory, "../DLSS/Private") + Path.Combine(GetModuleDirectory("DLSS"), "Private"), + Path.Combine(GetModuleDirectory("Renderer"), "Private"), } ); PublicDependencyModuleNames.AddRange( new string[] { - "DLSS", } ); @@ -47,38 +44,12 @@ public class DLSSEditor : ModuleRules "Core", "CoreUObject", "Engine", - "RenderCore", - "Renderer", - "RHI", - "Settings", - "LevelEditor", - "ToolMenus", - "Slate", - "SlateCore", - "EditorWidgets", - "EditorStyle", - "InputCore", - "UnrealEd", - "Projects", "NGX", "DLSS", "NGXRHI", } ); - // We can't quite check whether we have CL 16509387 (in UE5-Release) so we do this in a round about way - bool bUseSlotsArgumentsAPI = (Target.Version.MajorVersion == 5) && (Target.Version.BranchName != "++UE5+Release-5.0-EarlyAccess"); - PrivateDefinitions.Add(string.Format("USE_SLOT_SLOT_ARGUMENTS_API={0}", bUseSlotsArgumentsAPI ? "1" : "0")); - - // We can't quite check whether we have CL 16848904 (in UE5-Main) so we do this in a round about way - bool bSupportsPostProcessingScreenPercentage = (Target.Version.MajorVersion == 4) || - ((Target.Version.MajorVersion == 5) && (Target.Version.BranchName == "++UE5+Release-5.0-EarlyAccess")) - ; - PrivateDefinitions.Add(string.Format("SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE={0}", bSupportsPostProcessingScreenPercentage ? "1" : "0")); - - // 4.x and early access 5.0 engines had GTemporalUpscaler interface - bool bEngineHasGTemporalUpscaler = (Target.Version.MajorVersion == 4) || (Target.Version.BranchName == "++UE5+Release-5.0-EarlyAccess"); - PrivateDefinitions.Add(string.Format("DLSS_ENGINE_HAS_GTEMPORALUPSCALER={0}", bEngineHasGTemporalUpscaler ? "1" : "0")); } } diff --git a/plugins/DLSS/Source/DLSSEditor/Private/DLSSEditor.cpp b/plugins/DLSS/Source/DLSSEditor/Private/DLSSEditor.cpp index 944c8711..e9308535 100644 --- a/plugins/DLSS/Source/DLSSEditor/Private/DLSSEditor.cpp +++ b/plugins/DLSS/Source/DLSSEditor/Private/DLSSEditor.cpp @@ -21,7 +21,6 @@ #include "DLSSEditor.h" #include "DLSSUpscaler.h" -#include "DLSSUpscalerEditor.h" #include "DLSS.h" #include "DLSSSettings.h" #include "NGXRHI.h" @@ -50,14 +49,6 @@ void FDLSSEditorModule::StartupModule() UE_LOG(LogDLSSEditor, Log, TEXT("DLSS module %p, QueryDLSSSupport = %u DLSSUpscaler = %p"), DLSSModule, DLSSModule->QueryDLSSSupport(), DLSSModule->GetDLSSUpscaler()); bIsDLSSAvailable = DLSSModule->QueryDLSSSupport() == EDLSSSupport::Supported; - if (bIsDLSSAvailable) - { - checkf(GCustomStaticScreenPercentage == DLSSModule->GetDLSSUpscaler(),TEXT("GCustomStaticScreenPercentage is not set to the DLSS upscaler. Please check that only one upscaling plugin is active.")); - - DLSSUpscalerEditor = MakeShared(DLSSModule->GetDLSSUpscaler()); - checkf(GCustomEditorStaticScreenPercentage == nullptr, TEXT("GCustomEditorStaticScreenPercentage is already in use. Please check that only one upscaling active is active.")); - GCustomEditorStaticScreenPercentage = DLSSUpscalerEditor.Get(); - } } // register settings @@ -104,20 +95,9 @@ void FDLSSEditorModule::ShutdownModule() { UE_LOG(LogDLSSEditor, Log, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); - if (bIsDLSSAvailable) - { - GCustomEditorStaticScreenPercentage = nullptr; - DLSSUpscalerEditor = nullptr; - } - UE_LOG(LogDLSSEditor, Log, TEXT("%s Leave"), ANSI_TO_TCHAR(__FUNCTION__)); } -FDLSSUpscalerEditor* FDLSSEditorModule::GetDLSSUpscalerEditor() const -{ - return DLSSUpscalerEditor.Get(); -} - #undef LOCTEXT_NAMESPACE IMPLEMENT_MODULE(FDLSSEditorModule, DLSSEditor) diff --git a/plugins/DLSS/Source/DLSSEditor/Private/DLSSUpscalerEditor.cpp b/plugins/DLSS/Source/DLSSEditor/Private/DLSSUpscalerEditor.cpp deleted file mode 100644 index 931ebcb9..00000000 --- a/plugins/DLSS/Source/DLSSEditor/Private/DLSSUpscalerEditor.cpp +++ /dev/null @@ -1,549 +0,0 @@ -/* -* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -* -* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual -* property and proprietary rights in and to this material, related -* documentation and any modifications thereto. Any use, reproduction, -* disclosure or distribution of this material and related documentation -* without an express license agreement from NVIDIA CORPORATION or -* its affiliates is strictly prohibited. -*/ - -#include "DLSSUpscalerEditor.h" -#include "DLSSUpscaler.h" - -#include "LegacyScreenPercentageDriver.h" - -#include "DLSSSettings.h" - -#include "Editor.h" -#include "SLevelViewportToolBar.h" -#include "ToolMenus.h" -#include "Widgets/Layout/SBox.h" -#include "Widgets/Input/SSpinBox.h" -#include "Framework/Commands/Commands.h" - -#include "ISettingsModule.h" -#include "ISettingsSection.h" -#include "UObject/Class.h" -#include "UObject/WeakObjectPtr.h" -#include "Widgets/SBoxPanel.h" -#include "Widgets/SNullWidget.h" -#include "Styling/SlateTypes.h" -#include "Widgets/Layout/SBorder.h" -#include "Widgets/Text/STextBlock.h" -#include "Widgets/Input/SButton.h" -#include "Widgets/Input/SCheckBox.h" -#include "Widgets/Input/SSlider.h" -#include "Widgets/Layout/SGridPanel.h" - -#include "EditorStyleSet.h" -#include "Editor.h" -#include "Settings/EditorSettings.h" -#include "Editor/EditorPerformanceSettings.h" - -#define LOCTEXT_NAMESPACE "FDLSSEditorModule" - - -// We can't quite check whether we have CL 16509387 in UE5-Release-5.0 so we do this in a round about way by branch name -// We also can't do a preprocessor string compare in C++ so we resolve this in DLSSEditor.Build.cs; -#ifndef USE_SLOT_SLOT_ARGUMENTS_API -#define USE_SLOT_SLOT_ARGUMENTS_API 1 -#endif - -// We can't quite check whether we have CL 16848904 (in UE5-Main) so we do this in a round about way -#ifndef SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE -#define SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE 1 -#endif - -// DLSS_TODO move the implementation of this to FDLSSUpscalerEditor? -class DLSSEDITOR_API SDLSSSettings : public SCompoundWidget -{ -public: - - SLATE_BEGIN_ARGS(SDLSSSettings) - {} - SLATE_ARGUMENT(FDLSSUpscalerEditor*, UpscalerEditor) - SLATE_ARGUMENT(ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments,ViewportMenuEntryArguments) - - SLATE_END_ARGS() - - // Widget construction - void Construct(const FArguments& InArgs); - - ~SDLSSSettings(); -private: - - // Makes a general quality level header button widget - TSharedRef MakeHeaderButtonWidget(const FText& InName, EDLSSQualityMode InQualityLevel, const FText& InToolTip); - - // Callback for when a quality level header button is pressed - FReply OnHeaderClicked(EDLSSQualityMode InQualityLevel); - - - // Create a gridslot for the group quality level with all the required formatting -#if USE_SLOT_SLOT_ARGUMENTS_API - SGridPanel::FSlot::FSlotArguments MakeGridSlot(int32 InCol, int32 InRow, int32 InColSpan = 1, int32 InRowSpan = 1); -#else - SGridPanel::FSlot& MakeGridSlot(int32 InCol, int32 InRow, int32 InColSpan = 1, int32 InRowSpan = 1); -#endif - -private: - - FDLSSUpscalerEditor* UpscalerEditor; - ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments ViewportMenuEntryArguments; -}; - -TSharedRef SDLSSSettings::MakeHeaderButtonWidget(const FText& InName, EDLSSQualityMode InQualityLevel, const FText& InToolTip) -{ - return SNew(SButton) - .OnClicked(this, &SDLSSSettings::OnHeaderClicked, InQualityLevel) - .ToolTipText(InToolTip) - .Content() - [ - SNew(STextBlock) - .Text(InName) - ]; -} - -FReply SDLSSSettings::OnHeaderClicked(EDLSSQualityMode InQualityLevel) -{ - UE_LOG(LogDLSSEditor, Log, TEXT("%s InQualityLevel = %d"), ANSI_TO_TCHAR(__FUNCTION__), InQualityLevel); - if (InQualityLevel != EDLSSQualityMode::NumValues) - { - const int32 ScreenPercentage = UpscalerEditor->DLSSUpscaler->GetOptimalResolutionFractionForQuality(InQualityLevel) * 100.0f; - - UpscalerEditor->OnQualityModeSelected(InQualityLevel, ViewportMenuEntryArguments); - - UpscalerEditor->OnScreenPercentageValueChanged(ScreenPercentage, ViewportMenuEntryArguments); - UpscalerEditor->OnSetPreviewCustomTemporalUpscaler(true, ViewportMenuEntryArguments); - - - } - else - { - UpscalerEditor->OnSetPreviewCustomTemporalUpscaler(false, ViewportMenuEntryArguments); - } - - return FReply::Handled(); -} -#if USE_SLOT_SLOT_ARGUMENTS_API -SGridPanel::FSlot::FSlotArguments SDLSSSettings::MakeGridSlot(int32 InCol, int32 InRow, int32 InColSpan /*= 1*/, int32 InRowSpan /*= 1*/) -{ - float PaddingH = 2.0f; - float PaddingV = InRow == 0 ? 8.0f : 2.0f; - return MoveTemp(SGridPanel::Slot(InCol, InRow) - .Padding(PaddingH, PaddingV) - .RowSpan(InRowSpan) - .ColumnSpan(InColSpan)); -} -#else -SGridPanel::FSlot& SDLSSSettings::MakeGridSlot(int32 InCol, int32 InRow, int32 InColSpan /*= 1*/, int32 InRowSpan /*= 1*/) -{ - float PaddingH = 2.0f; - float PaddingV = InRow == 0 ? 8.0f : 2.0f; - return SGridPanel::Slot(InCol, InRow) - .Padding(PaddingH, PaddingV) - .RowSpan(InRowSpan) - .ColumnSpan(InColSpan); -} -#endif -void SDLSSSettings::Construct(const FArguments& InArgs) -{ - this->UpscalerEditor = InArgs._UpscalerEditor; - this->ViewportMenuEntryArguments = InArgs._ViewportMenuEntryArguments; - - auto TitleFont = FEditorStyle::GetFontStyle(TEXT("MenuItem.Font")); - - static float QualityColumnCoeff = 1.0f; - - static_assert(int32(EDLSSQualityMode::NumValues) == 5, "dear DLSS plugin NVIDIA developer, please update this code to handle the new enum values"); - - auto MakeWidget = [this](EDLSSQualityMode QualityMode, const FText& InName, const FText& InToolTip) - { - const bool bSupported = UpscalerEditor->DLSSUpscaler->IsQualityModeSupported(QualityMode); - if (!bSupported) - { - return SNullWidget::NullWidget; - } - else - { - return MakeHeaderButtonWidget(InName, QualityMode, InToolTip); - } - }; - - TSharedRef ButtonMatrix = - SNew(SGridPanel) - .FillColumn(0, QualityColumnCoeff) - + MakeGridSlot(0, 0).VAlign(VAlign_Center)[SNew(STextBlock).Text(LOCTEXT("DLSSModeLabel" , "DLSS Mode")).Font(TitleFont)] - + MakeGridSlot(1, 0)[MakeHeaderButtonWidget(LOCTEXT("DLSSModeOffLabel", "Off"), EDLSSQualityMode::NumValues, LOCTEXT("DLSSModeOff" , "Turn DLSS off and use built-in TAA"))] - + MakeGridSlot(2, 0)[MakeWidget(EDLSSQualityMode::UltraQuality, LOCTEXT("DLSSModeUltraQualityLabel", "Ultra Quality"), LOCTEXT("DLSSModeUltraQuality", "Set DLSS mode to Ultra Quality"))] - + MakeGridSlot(3, 0)[MakeWidget(EDLSSQualityMode::Quality, LOCTEXT("DLSSModeQualityLabel", "Quality"), LOCTEXT("DLSSModeQuality", "Set DLSS mode to Quality"))] - + MakeGridSlot(4, 0)[MakeWidget(EDLSSQualityMode::Balanced, LOCTEXT("DLSSModeBalancedLabel", "Balanced"), LOCTEXT("DLSSModeBalanced", "Set DLSS mode to Balanced"))] - + MakeGridSlot(5, 0)[MakeWidget(EDLSSQualityMode::Performance, LOCTEXT("DLSSModePerformanceLabel", "Performance"), LOCTEXT("DLSSModePerformance", "Set DLSS mode to Performance"))] - + MakeGridSlot(6, 0)[MakeWidget(EDLSSQualityMode::UltraPerformance, LOCTEXT("DLSSModeUltraPerformanceLabel", "Ultra Performance"), LOCTEXT("DLSSModeUltraPerformance", "Set DLSS mode to Ultra Performance"))]; - - this->ChildSlot - .HAlign(EHorizontalAlignment::HAlign_Fill) - [ - SNew(SVerticalBox) - + SVerticalBox::Slot() - [ - ButtonMatrix - ] - ]; -} - -SDLSSSettings::~SDLSSSettings() -{ - -} -static void MakeDLSSQualitySettingsMenu(UToolMenu* InMenu, FDLSSUpscalerEditor* DLSSUpscalerEditor, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) -{ - { - FToolMenuSection& Section = InMenu->AddSection("Section"); - Section.AddEntry(FToolMenuEntry::InitWidget("DLSSQualitySettings", SNew(SDLSSSettings).UpscalerEditor(DLSSUpscalerEditor).ViewportMenuEntryArguments(Arguments), FText(), true)); - } -} - -class DLSSEDITOR_API FFDLSSEditorViewportClientData final : public FEditorViewportClient::ICustomTemporalUpscalerData -{ -public: - - bool bIsDLSSEnabled; - float ResolutionFraction; - - EDLSSQualityMode DLSSQualityMode = EDLSSQualityMode::NumValues; - float MinResolutionFraction = 0.0f; - float MaxResolutionFraction = 1.0f; - bool bIsFixedResolutionFraction = false; -}; - -TSharedPtr FDLSSUpscalerEditor::GetOrCreateDLSSViewportData(FEditorViewportClient* ViewportClient) -{ - check(ViewportClient); - TSharedPtr CustomData = ViewportClient->GetCustomTemporalUpscalerData(); - TSharedPtr DLSSViewportData; - - if (CustomData) - { - DLSSViewportData = StaticCastSharedPtr(CustomData); - check(DLSSViewportData); - } - else - { - DLSSViewportData = MakeShared< FFDLSSEditorViewportClientData>(); - ViewportClient->SetCustomTemporalUpscalerData(DLSSViewportData); - } - return DLSSViewportData; -} - -FDLSSUpscalerEditor::FDLSSUpscalerEditor(FDLSSUpscaler* InDLSSUpscaler) - : DLSSUpscaler(InDLSSUpscaler) -{ - -} - -FDLSSUpscalerEditor::~FDLSSUpscalerEditor() -{ - UE_LOG(LogDLSSEditor, Log, TEXT("%s Enter"), ANSI_TO_TCHAR(__FUNCTION__)); - UE_LOG(LogDLSSEditor, Log, TEXT("%s Leave"), ANSI_TO_TCHAR(__FUNCTION__)); -} - - -void FDLSSUpscalerEditor::SetupEditorViewFamily(FSceneViewFamily& ViewFamily, FEditorViewportClient* ViewportClient) -{ - - // this purpusefully does not check "r.TemporalAA.Upscaler", which is used at runtime since the enable/disable comes from DLSSViewportData->bIsDLSSEnabled - // however make sure that the upscaler is "ours" - static const auto CVarDLSSEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Enable")); - const bool bDLSSActive = CVarDLSSEnable && (CVarDLSSEnable->GetInt() != 0); - - static const auto CVarDLSSAutomationTesting = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.AutomationTesting")); - const bool bDLSSActiveWithAutomation = !GIsAutomationTesting || (GIsAutomationTesting && CVarDLSSAutomationTesting && (CVarDLSSAutomationTesting->GetInt() != 0)); - -#if DLSS_ENGINE_HAS_GTEMPORALUPSCALER - if ((GTemporalUpscaler == DLSSUpscaler) && bDLSSActive && bDLSSActiveWithAutomation) -#else - if (bDLSSActive && bDLSSActiveWithAutomation) -#endif - { - check(GIsEditor); - checkf(GCustomStaticScreenPercentage == DLSSUpscaler, TEXT("GCustomStaticScreenPercentage is not set to the DLSS upscaler. Please check that only one upscaling plugin is active.")); - checkf(GCustomEditorStaticScreenPercentage == this, TEXT("GCustomEditorStaticScreenPercentage is not set to the DLSS upscaler. Please check that only one upscaling plugin is active.")); - check(ViewportClient); - - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(ViewportClient); - - if(DLSSViewportData->bIsDLSSEnabled && EnableDLSSInEditorViewports()) - { - ViewFamily.SetTemporalUpscalerInterface(DLSSUpscaler->GetUpscalerInstanceForViewFamily(DLSSUpscaler, DLSSViewportData->DLSSQualityMode)); - // DLSS_TODO figure out what to do, should this ever be the case - checkf(ViewFamily.GetScreenPercentageInterface() == nullptr, TEXT("ViewFamily.GetScreenPercentageInterface() is already in use. Please check that only one upscaling plugin active is active.")); - - ViewFamily.EngineShowFlags.ScreenPercentage = true; - - const float ResolutionFraction = DLSSViewportData->ResolutionFraction; - ViewFamily.SetScreenPercentageInterface(new FLegacyScreenPercentageDriver( - ViewFamily, ResolutionFraction -#if SUPPORTS_POSTPROCESSING_SCREEN_PERCENTAGE - /* AllowPostProcessSettingsScreenPercentage = */, false -#endif - )); - } - } -} - -bool FDLSSUpscalerEditor::GenerateEditorViewportOptionsMenuEntry(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments& Arguments) -{ - // this purpusefully does not check "r.TemporalAA.Upscaler", which is used at runtime since the enable/disable comes from DLSSViewportData->bIsDLSSEnabled - // however make sure that the upscaler is "ours" - - static const auto CVarDLSSEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.DLSS.Enable")); - -#if DLSS_ENGINE_HAS_GTEMPORALUPSCALER - if ((GTemporalUpscaler == DLSSUpscaler) && CVarDLSSEnable && (CVarDLSSEnable->GetInt() != 0)) -#else - if (CVarDLSSEnable && (CVarDLSSEnable->GetInt() != 0)) -#endif - { - check(GIsEditor); - checkf(GCustomStaticScreenPercentage == DLSSUpscaler, TEXT("GCustomStaticScreenPercentage is not set to the DLSS upscaler. Please check that only one upscaling plugin is active.")); - checkf(GCustomEditorStaticScreenPercentage == this, TEXT("GCustomEditorStaticScreenPercentage is not set to the DLSS upscaler. Please check that only one upscaling plugin is active.")); - - FLevelEditorViewportClient& Levelviewport = Arguments.Viewport->GetLevelViewportClient(); - - FEngineShowFlags ShowFlags = Levelviewport.EngineShowFlags; - - // DLSS_TODO is there a better way to detect whether TAA (and thus DLSS) is turned off? - // maybe pass this in as a flag or have the callsite do this - // FEditorViewportClient::Draw calls EngineShowFlagOrthographicOverride(IsPerspective(), ViewFamily.EngineShowFlags); which turns TAA off. And DLSS is a TAA flavor - // EngineShowFlags.TemporalAA = 0; - // EngineShowFlags.MotionBlur = 0; - // but that well only be called later so emulate this here. - - if (!ShowFlags.Lighting) - { - return false; - } - - if (!Levelviewport.IsPerspective()) - { - return false; - } - - if (!EnableDLSSInEditorViewports()) - { - return false; - } - - const bool bUseSubmenuForDLSSSettings = true; - - if(bUseSubmenuForDLSSSettings) - { - Arguments.Section->AddSubMenu( - "DLSSSettings", - LOCTEXT("DLSSSettingsSubMenu", "DLSS Settings"), - LOCTEXT("DLSSSettingsSubMenu_ToolTip", "Open the DLSS settings"), - FNewToolMenuDelegate::CreateStatic(&MakeDLSSQualitySettingsMenu, this, Arguments)); - } - else - { - Arguments.Section->AddEntry(FToolMenuEntry::InitWidget("DLSSSettings", SNew(SDLSSSettings).UpscalerEditor(this).ViewportMenuEntryArguments(Arguments), FText(), true)); - } - - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&Arguments.Viewport->GetLevelViewportClient()); - - if (DLSSViewportData->bIsDLSSEnabled) - { - Arguments.Section->AddEntry(FToolMenuEntry::InitWidget("DLSSScreenPercentage", GenerateScreenPercentageMenu(Arguments), LOCTEXT("DLSSScreenPercentage", "Screen Percentage (DLSS)"))); - - const int32 PreviewScreenPercentageMin = DLSSViewportData->MinResolutionFraction * 100.0f; - const int32 PreviewScreenPercentageMax = DLSSViewportData->MaxResolutionFraction * 100.0f; - - // clamp the current preview screen percentage (which might be 100%) to the supported DLSS range - this->OnScreenPercentageValueChanged(FMath::Clamp(this->OnGetScreenPercentageValue(Arguments), PreviewScreenPercentageMin, PreviewScreenPercentageMax), Arguments); - return true; - } - else - { - return false; - } - - - } - else - { - return false; - } - -} - -TSharedRef FDLSSUpscalerEditor::GenerateScreenPercentageMenu(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments& Arguments) const -{ - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&Arguments.Viewport->GetLevelViewportClient()); - - const int32 PreviewScreenPercentageMin = DLSSViewportData->MinResolutionFraction * 100.0f; - const int32 PreviewScreenPercentageMax = DLSSViewportData->MaxResolutionFraction * 100.0f; -#if ENGINE_MAJOR_VERSION==4 - return - SNew(SBox) - .HAlign(HAlign_Right) - .IsEnabled(this, &FDLSSUpscalerEditor::OnScreenPercentageIsEnabled, Arguments) - [ - SNew(SBox) - .Padding(FMargin(4.0f, 0.0f, 0.0f, 0.0f)) - .WidthOverride(100.0f) - [ - SNew(SSpinBox) - .Font(FEditorStyle::GetFontStyle(TEXT("MenuItem.Font"))) - .MinValue(PreviewScreenPercentageMin) - .MaxValue(PreviewScreenPercentageMax) - .Value(this, &FDLSSUpscalerEditor::OnGetScreenPercentageValue, Arguments) - .OnValueChanged(this, &FDLSSUpscalerEditor::OnScreenPercentageValueChanged, Arguments) - .ToolTipText( - DLSSViewportData->bIsFixedResolutionFraction ? - FText(LOCTEXT("DLSSScreenPercentageTooltipFixedResolution", "This DLSS quality mode has a fixed screen percentage and cannot be adjusted at runtime.")) : - FText( LOCTEXT("DLSSScreenPercentageTooltip", - "At runtime, the screen percentage is controlled by the r.NGX.DLSS.Quality cvar. To enable adjusting the screenpercentage directly in the editor, set the \"Enable Screenpercentage Manipulation In DLSS Editor Viewports\" setting under Editor Preferences -> Plugins -> NVIDIA DLSS")) - ) - ] - ]; -#elif ENGINE_MAJOR_VERSION==5 - return - SNew(SBox) - .HAlign(HAlign_Right) - .IsEnabled(this, &FDLSSUpscalerEditor::OnScreenPercentageIsEnabled, Arguments) - [ - SNew(SBox) - .Padding(FMargin(4.0f, 0.0f, 0.0f, 0.0f)) - .WidthOverride(100.0f) - [ - SNew(SBorder) - .BorderImage(FAppStyle::Get().GetBrush("Menu.WidgetBorder")) - .Padding(FMargin(1.0f)) - [ - SNew(SSpinBox) - .Style(&FAppStyle::Get(), "Menu.SpinBox") - .Font(FEditorStyle::GetFontStyle(TEXT("MenuItem.Font"))) - .MinValue(PreviewScreenPercentageMin) - .MaxValue(PreviewScreenPercentageMax) - .Value(this, &FDLSSUpscalerEditor::OnGetScreenPercentageValue, Arguments) - .OnValueChanged(this, &FDLSSUpscalerEditor::OnScreenPercentageValueChanged, Arguments) - .ToolTipText( - DLSSViewportData->bIsFixedResolutionFraction ? - FText(LOCTEXT("DLSSScreenPercentageTooltipFixedResolution", "This DLSS quality mode has a fixed screen percentage and cannot be adjusted at runtime.")) : - FText(LOCTEXT("DLSSScreenPercentageTooltip", - "At runtime, the screen percentage is controlled by the r.NGX.DLSS.Quality cvar. To enable adjusting the screenpercentage directly in the editor, set the \"Enable Screenpercentage Manipulation In DLSS Editor Viewports\" setting under Editor Preferences -> Plugins -> NVIDIA DLSS")) - ) - ] - ] - ]; -#else -#error "ENGINE_MAJOR_VERSION must be either 4 or 5" -#endif -} - -bool FDLSSUpscalerEditor::EnableScreenpercentageInEditorViewports() const -{ - if (GetDefault()->EnableScreenpercentageManipulationInDLSSEditorViewportsOverride == EDLSSSettingOverride::UseProjectSettings) - { - return GetDefault()->bEnableScreenpercentageManipulationInDLSSEditorViewports; - } - else - { - return GetDefault()->EnableScreenpercentageManipulationInDLSSEditorViewportsOverride == EDLSSSettingOverride::Enabled; - } -} - -bool FDLSSUpscalerEditor::EnableDLSSInEditorViewports() const -{ - if (GetDefault()->EnableDLSSInEditorViewportsOverride == EDLSSSettingOverride::UseProjectSettings) - { - return GetDefault()->bEnableDLSSInEditorViewports; - } - else - { - return GetDefault()->EnableDLSSInEditorViewportsOverride == EDLSSSettingOverride::Enabled; - } -} - - -bool FDLSSUpscalerEditor::OnScreenPercentageIsEnabled(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const -{ - check(DLSSUpscaler); - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&Arguments.Viewport->GetLevelViewportClient()); - // adapted from SLevelViewportToolBar::OnScreenPercentageIsEnabled() - - return EnableScreenpercentageInEditorViewports() && !DLSSViewportData->bIsFixedResolutionFraction && Arguments.Viewport->GetLevelViewportClient().SupportsPreviewResolutionFraction(); -} - -int32 FDLSSUpscalerEditor::OnGetScreenPercentageValue(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const -{ - // adapted from SLevelViewportToolBar::OnGetScreenPercentageValue(), using DLSSViewportData->ResolutionFraction - - // We expose the resolution fraction derived from DPI, to not lie to the artist when screen percentage = 100%. - - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&Arguments.Viewport->GetLevelViewportClient()); - - return FMath::RoundToInt(FMath::Clamp( - DLSSViewportData->ResolutionFraction, - DLSSViewportData->MinResolutionFraction, - DLSSViewportData->MaxResolutionFraction) * 100.0f); -} - -void FDLSSUpscalerEditor::OnScreenPercentageValueChanged(int32 NewValue, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const -{ - // adapted from SLevelViewportToolBar::OnScreenPercentageValueChanged() and SetPreviewScreenPercentage() - FLevelEditorViewportClient& ViewportClient = Arguments.Viewport->GetLevelViewportClient(); - - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&ViewportClient); - DLSSViewportData->ResolutionFraction = (NewValue / 100.0f); - - ViewportClient.Invalidate(); -} - -bool FDLSSUpscalerEditor::OnGetPreviewCustomTemporalUpscaler(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const -{ - return GetOrCreateDLSSViewportData(&Arguments.Viewport->GetLevelViewportClient())->bIsDLSSEnabled; -} - -void FDLSSUpscalerEditor::OnSetPreviewCustomTemporalUpscaler(bool NewValue, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const -{ - FLevelEditorViewportClient& ViewportClient = Arguments.Viewport->GetLevelViewportClient(); - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&ViewportClient); - DLSSViewportData->bIsDLSSEnabled = NewValue; - ViewportClient.Invalidate(); -} - -void FDLSSUpscalerEditor::OnPreviewCustomTemporalUpscalerChanged(bool NewValue, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const -{ - FLevelEditorViewportClient& ViewportClient = Arguments.Viewport->GetLevelViewportClient(); - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&ViewportClient); - DLSSViewportData->bIsDLSSEnabled = NewValue; - ViewportClient.Invalidate(); -} - -void FDLSSUpscalerEditor::OnQualityModeSelected(EDLSSQualityMode InQualityLevel, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) -{ - TSharedPtr DLSSViewportData = GetOrCreateDLSSViewportData(&Arguments.Viewport->GetLevelViewportClient()); - - DLSSViewportData->bIsFixedResolutionFraction = DLSSUpscaler->IsFixedResolutionFraction(InQualityLevel); - DLSSViewportData->DLSSQualityMode = InQualityLevel; - - if (DLSSViewportData->bIsFixedResolutionFraction) - { - DLSSViewportData->MinResolutionFraction = DLSSUpscaler->GetOptimalResolutionFractionForQuality(InQualityLevel); - DLSSViewportData->MaxResolutionFraction = DLSSUpscaler->GetOptimalResolutionFractionForQuality(InQualityLevel); - } - else - { - DLSSViewportData->MinResolutionFraction = DLSSUpscaler->GetMinUpsampleResolutionFraction(); - DLSSViewportData->MaxResolutionFraction = DLSSUpscaler->GetMaxUpsampleResolutionFraction(); - } -} - -#undef LOCTEXT_NAMESPACE - - - diff --git a/plugins/DLSS/Source/DLSSEditor/Public/DLSSEditor.h b/plugins/DLSS/Source/DLSSEditor/Public/DLSSEditor.h index ea9e8442..90b5365e 100644 --- a/plugins/DLSS/Source/DLSSEditor/Public/DLSSEditor.h +++ b/plugins/DLSS/Source/DLSSEditor/Public/DLSSEditor.h @@ -1,37 +1,21 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #pragma once #include "Modules/ModuleManager.h" +DECLARE_LOG_CATEGORY_EXTERN(LogDLSSEditor, Log, All); -class FDLSSUpscalerEditor; - -class IDLSSEditorModuleInterface : public IModuleInterface -{ -public: - virtual FDLSSUpscalerEditor* GetDLSSUpscalerEditor() const = 0; -}; - -class FDLSSEditorModule final : public IDLSSEditorModuleInterface +class FDLSSEditorModule final : public IModuleInterface { public: @@ -39,11 +23,7 @@ public: virtual void StartupModule() final; virtual void ShutdownModule() final; - - // Inherited via IDLSSEditorModuleInterface - virtual FDLSSUpscalerEditor* GetDLSSUpscalerEditor() const ; private: - TSharedPtr DLSSUpscalerEditor; bool bIsDLSSAvailable = false; }; diff --git a/plugins/DLSS/Source/DLSSEditor/Public/DLSSUpscalerEditor.h b/plugins/DLSS/Source/DLSSEditor/Public/DLSSUpscalerEditor.h deleted file mode 100644 index 3a95c58a..00000000 --- a/plugins/DLSS/Source/DLSSEditor/Public/DLSSUpscalerEditor.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. -* -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. -*/ - -#pragma once - - -#include "CustomEditorStaticScreenPercentage.h" - -DECLARE_LOG_CATEGORY_EXTERN(LogDLSSEditor, Log, All); - -class FDLSSUpscaler; -enum class EDLSSQualityMode; -class SWidget; -class SLevelViewportToolBar; -class SDLSSSettings; -class FFDLSSEditorViewportClientData; -class FEditorViewportClient; - -class DLSSEDITOR_API FDLSSUpscalerEditor : public TSharedFromThis, public ICustomEditorStaticScreenPercentage -{ - friend class SDLSSSettings; -public: - FDLSSUpscalerEditor(FDLSSUpscaler* InDLSSUpscaler); - virtual ~FDLSSUpscalerEditor(); - - // Inherited via ICustomEditorStaticScreenPercentage - virtual bool GenerateEditorViewportOptionsMenuEntry(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments& Arguments) final; - virtual void SetupEditorViewFamily(FSceneViewFamily& ViewFamily, FEditorViewportClient* ViewportClient) final; - - -private: - - bool OnScreenPercentageIsEnabled(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const; - int32 OnGetScreenPercentageValue(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const; - void OnScreenPercentageValueChanged(int32 NewValue, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const; - - - bool OnGetPreviewCustomTemporalUpscaler(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const; - void OnSetPreviewCustomTemporalUpscaler(bool NewValue, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const; - void OnPreviewCustomTemporalUpscalerChanged(bool NewValue, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments) const; - - - bool EnableScreenpercentageInEditorViewports() const; - bool EnableDLSSInEditorViewports() const; - TSharedRef GenerateScreenPercentageMenu(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments& Arguments) const; - - FDLSSUpscaler* DLSSUpscaler; - - void OnQualityModeSelected(EDLSSQualityMode InQualityLevel, const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments); - - static TSharedPtr GetOrCreateDLSSViewportData(FEditorViewportClient* ViewportClient); -}; - diff --git a/plugins/DLSS/Source/DLSSUtility/DLSSUtility.Build.cs b/plugins/DLSS/Source/DLSSUtility/DLSSUtility.Build.cs index e59c1b6a..beddeed2 100644 --- a/plugins/DLSS/Source/DLSSUtility/DLSSUtility.Build.cs +++ b/plugins/DLSS/Source/DLSSUtility/DLSSUtility.Build.cs @@ -25,7 +25,7 @@ public class DLSSUtility : ModuleRules PrivateIncludePaths.AddRange( new string[] { - Path.Combine(EngineDirectory,"Source/Runtime/Renderer/Private"), + Path.Combine(GetModuleDirectory("Renderer"), "Private"), } ); @@ -36,7 +36,6 @@ public class DLSSUtility : ModuleRules "Core", "RenderCore", "Renderer", - } ); @@ -49,9 +48,5 @@ public class DLSSUtility : ModuleRules "Projects" } ); - - // 4.x and early access 5.0 engines used FVector2D type instead of FVector2f type for shader parameters - bool bEngineUsesFVector2D = (Target.Version.MajorVersion == 4) || (Target.Version.BranchName == "++UE5+Release-5.0-EarlyAccess"); - PrivateDefinitions.Add(string.Format("DLSS_ENGINE_USES_FVECTOR2D={0}", bEngineUsesFVector2D ? "1" : "0")); } } diff --git a/plugins/DLSS/Source/DLSSUtility/Private/VelocityCombinePass.cpp b/plugins/DLSS/Source/DLSSUtility/Private/VelocityCombinePass.cpp index 3644649a..a158d9ac 100644 --- a/plugins/DLSS/Source/DLSSUtility/Private/VelocityCombinePass.cpp +++ b/plugins/DLSS/Source/DLSSUtility/Private/VelocityCombinePass.cpp @@ -10,6 +10,7 @@ */ #include "VelocityCombinePass.h" +#include "Runtime/Launch/Resources/Version.h" const int32 kVelocityCombineComputeTileSizeX = FComputeShaderUtils::kGolden2DGroupSize; @@ -27,12 +28,7 @@ public: return IsFeatureLevelSupported(Parameters.Platform, ERHIFeatureLevel::SM5) && IsPCPlatform(Parameters.Platform) && ( IsVulkanSM5Platform(Parameters.Platform) || -#if (ENGINE_MAJOR_VERSION == 4) && (ENGINE_MINOR_VERSION == 26) - IsD3DPlatform(Parameters.Platform, false)); -#else IsD3DPlatform(Parameters.Platform)); -#endif - } static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment) @@ -55,11 +51,7 @@ public: SHADER_PARAMETER_RDG_TEXTURE(Texture2D, DepthTexture) SHADER_PARAMETER_SAMPLER(SamplerState, DepthTextureSampler) -#if DLSS_ENGINE_USES_FVECTOR2D - SHADER_PARAMETER(FVector2D, TemporalJitterPixels) -#else SHADER_PARAMETER(FVector2f, TemporalJitterPixels) -#endif SHADER_PARAMETER_STRUCT_REF(FViewUniformShaderParameters, View) @@ -124,12 +116,7 @@ FRDGTextureRef AddVelocityCombinePass( // various state { - -#if ENGINE_MAJOR_VERSION < 5 - PassParameters->TemporalJitterPixels = View.TemporalJitterPixels; -#else PassParameters->TemporalJitterPixels = FVector2f(View.TemporalJitterPixels); // LWC_TODO: Precision loss -#endif PassParameters->View = View.ViewUniformBuffer; } diff --git a/plugins/DLSS/Source/NGXD3D11RHI/NGXD3D11RHI.Build.cs b/plugins/DLSS/Source/NGXD3D11RHI/NGXD3D11RHI.Build.cs index 12b4a3c2..0439dd12 100644 --- a/plugins/DLSS/Source/NGXD3D11RHI/NGXD3D11RHI.Build.cs +++ b/plugins/DLSS/Source/NGXD3D11RHI/NGXD3D11RHI.Build.cs @@ -1,28 +1,16 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ - using UnrealBuildTool; -using System.IO; - public class NGXD3D11RHI : ModuleRules { public NGXD3D11RHI(ReadOnlyTargetRules Target) : base(Target) @@ -37,8 +25,6 @@ public class NGXD3D11RHI : ModuleRules PrivateIncludePaths.AddRange( new string[] { - Path.Combine(EngineDirectory,"Source/Runtime/Windows/D3D11RHI/Private"), - Path.Combine(EngineDirectory,"Source/Runtime/Windows/D3D11RHI/Private/Windows"), } ); @@ -64,16 +50,7 @@ public class NGXD3D11RHI : ModuleRules } ); - if (ReadOnlyBuildVersion.Current.MajorVersion == 5) - { - PrivateDependencyModuleNames.Add("RHICore"); - } - // those come from the D3D11RHI AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAPI"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAftermath"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelMetricsDiscovery"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelExtensionsFramework"); } } diff --git a/plugins/DLSS/Source/NGXD3D11RHI/Private/NGXD3D11RHI.cpp b/plugins/DLSS/Source/NGXD3D11RHI/Private/NGXD3D11RHI.cpp index 84b6e106..5d0a1d07 100644 --- a/plugins/DLSS/Source/NGXD3D11RHI/Private/NGXD3D11RHI.cpp +++ b/plugins/DLSS/Source/NGXD3D11RHI/Private/NGXD3D11RHI.cpp @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 - 2021 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #include "NGXD3D11RHI.h" @@ -23,16 +14,9 @@ #include "nvsdk_ngx.h" #include "nvsdk_ngx_helpers.h" -#include "D3D11RHIPrivate.h" -#include "D3D11Util.h" -#include "D3D11State.h" -#include "D3D11Resources.h" -#include "D3D11Viewport.h" -#include "D3D11ConstantBuffer.h" -#include "D3D11StateCache.h" -#include "RHIValidationCommon.h" - +#include "ID3D11DynamicRHI.h" #include "GenericPlatform/GenericPlatformFile.h" + DEFINE_LOG_CATEGORY_STATIC(LogDLSSNGXD3D11RHI, Log, All); #define LOCTEXT_NAMESPACE "FNGXD3D11RHIModule" @@ -51,7 +35,7 @@ public: NVSDK_NGX_Result ResultReleaseFeature = NVSDK_NGX_D3D11_ReleaseFeature(Feature); checkf(NVSDK_NGX_SUCCEED(ResultReleaseFeature), TEXT("NVSDK_NGX_D3D11_ReleaseFeature failed! (%u %s), %s"), ResultReleaseFeature, GetNGXResultAsString(ResultReleaseFeature), *Desc.GetDebugDescription()); - if (NGXRHI::SupportsAllocateParameters()) + if (Parameter != nullptr) { NVSDK_NGX_Result ResultDestroyParameter = NVSDK_NGX_D3D11_DestroyParameters(Parameter); checkf(NVSDK_NGX_SUCCEED(ResultDestroyParameter), TEXT("NVSDK_NGX_D3D11_DestroyParameters failed! (%u %s), %s"), ResultDestroyParameter, GetNGXResultAsString(ResultDestroyParameter), *Desc.GetDebugDescription()); @@ -68,7 +52,7 @@ public: virtual ~FNGXD3D11RHI(); private: - FD3D11DynamicRHI* D3D11RHI = nullptr; + ID3D11DynamicRHI* D3D11RHI = nullptr; ID3D11Device* Direct3DDevice = nullptr; ID3D11DeviceContext* Direct3DDeviceIMContext = nullptr; @@ -129,9 +113,9 @@ NVSDK_NGX_Result FNGXD3D11RHI::Init_NGX_D3D11(const FNGXRHICreateArguments& InAr FNGXD3D11RHI::FNGXD3D11RHI(const FNGXRHICreateArguments& Arguments) : NGXRHI(Arguments) - , D3D11RHI(static_cast(Arguments.DynamicRHI)) - , Direct3DDevice(D3D11RHI->GetDevice()) - , Direct3DDeviceIMContext(D3D11RHI->GetDeviceContext()) + , D3D11RHI(CastDynamicRHI(Arguments.DynamicRHI)) + , Direct3DDevice(D3D11RHI->RHIGetDevice()) + , Direct3DDeviceIMContext(D3D11RHI->RHIGetDeviceContext()) { ensure(D3D11RHI); ensure(Direct3DDevice); @@ -164,14 +148,6 @@ FNGXD3D11RHI::FNGXD3D11RHI(const FNGXRHICreateArguments& Arguments) DLSSQueryFeature.DriverRequirements.DriverUpdateRequired = true; } - if (NVSDK_NGX_FAILED(ResultGetParameters)) - { - ResultGetParameters = NVSDK_NGX_D3D11_GetParameters(&DLSSQueryFeature.CapabilityParameters); - UE_LOG(LogDLSSNGXD3D11RHI, Log, TEXT("NVSDK_NGX_D3D11_GetParameters -> (%u %s)"), ResultGetParameters, GetNGXResultAsString(ResultGetParameters)); - - bSupportsAllocateParameters = false; - } - if (NVSDK_NGX_SUCCEED(ResultGetParameters)) { DLSSQueryFeature.QueryDLSSSupport(); @@ -188,7 +164,7 @@ FNGXD3D11RHI::~FNGXD3D11RHI() ReleaseAllocatedFeatures(); NVSDK_NGX_Result Result; - if (bSupportsAllocateParameters && DLSSQueryFeature.CapabilityParameters) + if (DLSSQueryFeature.CapabilityParameters != nullptr) { Result = NVSDK_NGX_D3D11_DestroyParameters(DLSSQueryFeature.CapabilityParameters); UE_LOG(LogDLSSNGXD3D11RHI, Log, TEXT("NVSDK_NGX_D3D11_DestroyParameters -> (%u %s)"), Result, GetNGXResultAsString(Result)); @@ -225,16 +201,8 @@ void FNGXD3D11RHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArguments { NVSDK_NGX_Parameter* NewNGXParameterHandle = nullptr; - if (NGXRHI::SupportsAllocateParameters()) - { - NVSDK_NGX_Result Result = NVSDK_NGX_D3D11_AllocateParameters(&NewNGXParameterHandle); - checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_D3D11_AllocateParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); - } - else - { - NVSDK_NGX_Result Result = NVSDK_NGX_D3D11_GetParameters(&NewNGXParameterHandle); - checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_D3D11_GetParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); - } + NVSDK_NGX_Result Result = NVSDK_NGX_D3D11_AllocateParameters(&NewNGXParameterHandle); + checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_D3D11_AllocateParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); ApplyCommonNGXParameterSettings(NewNGXParameterHandle, InArguments); @@ -255,32 +223,32 @@ void FNGXD3D11RHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArguments // execute - D3D11RHI->RegisterGPUWork(1); + D3D11RHI->RHIRegisterWork(1); NVSDK_NGX_D3D11_DLSS_Eval_Params DlssEvalParams; FMemory::Memzero(DlssEvalParams); - DlssEvalParams.Feature.pInOutput = GetD3D11TextureFromRHITexture(InArguments.OutputColor)->GetResource(); + DlssEvalParams.Feature.pInOutput = D3D11RHI->RHIGetResource(InArguments.OutputColor); DlssEvalParams.InOutputSubrectBase.X = InArguments.DestRect.Min.X; DlssEvalParams.InOutputSubrectBase.Y = InArguments.DestRect.Min.Y; DlssEvalParams.InRenderSubrectDimensions.Width = InArguments.SrcRect.Width(); DlssEvalParams.InRenderSubrectDimensions.Height = InArguments.SrcRect.Height(); - DlssEvalParams.Feature.pInColor = GetD3D11TextureFromRHITexture(InArguments.InputColor)->GetResource(); + DlssEvalParams.Feature.pInColor = D3D11RHI->RHIGetResource(InArguments.InputColor); DlssEvalParams.InColorSubrectBase.X = InArguments.SrcRect.Min.X; DlssEvalParams.InColorSubrectBase.Y = InArguments.SrcRect.Min.Y; - DlssEvalParams.pInDepth = GetD3D11TextureFromRHITexture(InArguments.InputDepth)->GetResource(); + DlssEvalParams.pInDepth = D3D11RHI->RHIGetResource(InArguments.InputDepth); DlssEvalParams.InDepthSubrectBase.X = InArguments.SrcRect.Min.X; DlssEvalParams.InDepthSubrectBase.Y = InArguments.SrcRect.Min.Y; // The VelocityCombine pass puts the motion vectors into the top left corner - DlssEvalParams.pInMotionVectors = GetD3D11TextureFromRHITexture(InArguments.InputMotionVectors)->GetResource(); + DlssEvalParams.pInMotionVectors = D3D11RHI->RHIGetResource(InArguments.InputMotionVectors); DlssEvalParams.InMVSubrectBase.X = 0; DlssEvalParams.InMVSubrectBase.Y = 0; - DlssEvalParams.pInExposureTexture = InArguments.bUseAutoExposure ? nullptr : GetD3D11TextureFromRHITexture(InArguments.InputExposure)->GetResource(); + DlssEvalParams.pInExposureTexture = InArguments.bUseAutoExposure ? nullptr : D3D11RHI->RHIGetResource(InArguments.InputExposure); DlssEvalParams.InPreExposure = InArguments.PreExposure; DlssEvalParams.Feature.InSharpness = InArguments.Sharpness; diff --git a/plugins/DLSS/Source/NGXD3D12RHI/NGXD3D12RHI.Build.cs b/plugins/DLSS/Source/NGXD3D12RHI/NGXD3D12RHI.Build.cs index fac57f31..99202dd5 100644 --- a/plugins/DLSS/Source/NGXD3D12RHI/NGXD3D12RHI.Build.cs +++ b/plugins/DLSS/Source/NGXD3D12RHI/NGXD3D12RHI.Build.cs @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ using UnrealBuildTool; @@ -33,8 +24,6 @@ public class NGXD3D12RHI : ModuleRules PrivateIncludePaths.AddRange( new string[] { - Path.Combine(EngineDirectory,"Source/Runtime/D3D12RHI/Private"), - Path.Combine(EngineDirectory,"Source/Runtime/D3D12RHI/Private/Windows"), } ); @@ -59,15 +48,7 @@ public class NGXD3D12RHI : ModuleRules } ); - if (ReadOnlyBuildVersion.Current.MajorVersion == 5) - { - PrivateDependencyModuleNames.Add("RHICore"); - } // those come from the D3D12RHI AddEngineThirdPartyPrivateStaticDependencies(Target, "DX12"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAPI"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAftermath"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelMetricsDiscovery"); - AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelExtensionsFramework"); } } diff --git a/plugins/DLSS/Source/NGXD3D12RHI/Private/NGXD3D12RHI.cpp b/plugins/DLSS/Source/NGXD3D12RHI/Private/NGXD3D12RHI.cpp index cab8003f..eb8e3f6b 100644 --- a/plugins/DLSS/Source/NGXD3D12RHI/Private/NGXD3D12RHI.cpp +++ b/plugins/DLSS/Source/NGXD3D12RHI/Private/NGXD3D12RHI.cpp @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 - 2021 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #include "NGXD3D12RHI.h" @@ -23,14 +14,7 @@ #include "nvsdk_ngx.h" #include "nvsdk_ngx_helpers.h" -#include "D3D12RHIPrivate.h" -#include "D3D12Util.h" -#include "D3D12State.h" -#include "D3D12Resources.h" -#include "D3D12Viewport.h" -#include "D3D12ConstantBuffer.h" - -#include "RHIValidationCommon.h" +#include "ID3D12DynamicRHI.h" #include "GenericPlatform/GenericPlatformFile.h" @@ -52,7 +36,7 @@ public: NVSDK_NGX_Result ResultReleaseFeature = NVSDK_NGX_D3D12_ReleaseFeature(Feature); checkf(NVSDK_NGX_SUCCEED(ResultReleaseFeature), TEXT("NVSDK_NGX_D3D12_ReleaseFeature failed! (%u %s), %s"), ResultReleaseFeature, GetNGXResultAsString(ResultReleaseFeature), *Desc.GetDebugDescription()); - if (NGXRHI::SupportsAllocateParameters()) + if (Parameter != nullptr) { NVSDK_NGX_Result ResultDestroyParameter = NVSDK_NGX_D3D12_DestroyParameters(Parameter); checkf(NVSDK_NGX_SUCCEED(ResultDestroyParameter), TEXT("NVSDK_NGX_D3D12_DestroyParameters failed! (%u %s), %s"), ResultDestroyParameter, GetNGXResultAsString(ResultDestroyParameter), *Desc.GetDebugDescription()); @@ -71,8 +55,7 @@ private: NVSDK_NGX_Result Init_NGX_D3D12(const FNGXRHICreateArguments& InArguments, const wchar_t* InApplicationDataPath, ID3D12Device* InHandle, const NVSDK_NGX_FeatureCommonInfo* InFeatureInfo); static bool IsIncompatibleAPICaptureToolActive(ID3D12Device* InDirect3DDevice); - FD3D12DynamicRHI* D3D12RHI = nullptr; - + ID3D12DynamicRHI* D3D12RHI = nullptr; }; @@ -130,10 +113,11 @@ NVSDK_NGX_Result FNGXD3D12RHI::Init_NGX_D3D12(const FNGXRHICreateArguments& InAr FNGXD3D12RHI::FNGXD3D12RHI(const FNGXRHICreateArguments& Arguments) : NGXRHI(Arguments) - , D3D12RHI(static_cast(Arguments.DynamicRHI)) + , D3D12RHI(CastDynamicRHI(Arguments.DynamicRHI)) { - ID3D12Device* Direct3DDevice = D3D12RHI->GetAdapter().GetD3DDevice(); + // TODO: adapter index + ID3D12Device* Direct3DDevice = D3D12RHI->RHIGetDevice(0); ensure(D3D12RHI); ensure(Direct3DDevice); @@ -165,14 +149,6 @@ FNGXD3D12RHI::FNGXD3D12RHI(const FNGXRHICreateArguments& Arguments) DLSSQueryFeature.DriverRequirements.DriverUpdateRequired = true; } - if (NVSDK_NGX_FAILED(ResultGetParameters)) - { - ResultGetParameters = NVSDK_NGX_D3D12_GetParameters(&DLSSQueryFeature.CapabilityParameters); - UE_LOG(LogDLSSNGXD3D12RHI, Log, TEXT("NVSDK_NGX_D3D12_GetParameters -> (%u %s)"), ResultGetParameters, GetNGXResultAsString(ResultGetParameters)); - - bSupportsAllocateParameters = false; - } - if (NVSDK_NGX_SUCCEED(ResultGetParameters)) { DLSSQueryFeature.QueryDLSSSupport(); @@ -189,7 +165,7 @@ FNGXD3D12RHI::~FNGXD3D12RHI() ReleaseAllocatedFeatures(); NVSDK_NGX_Result Result; - if (bSupportsAllocateParameters && DLSSQueryFeature.CapabilityParameters) + if (DLSSQueryFeature.CapabilityParameters != nullptr) { Result = NVSDK_NGX_D3D12_DestroyParameters(DLSSQueryFeature.CapabilityParameters); UE_LOG(LogDLSSNGXD3D12RHI, Log, TEXT("NVSDK_NGX_D3D12_DestroyParameters -> (%u %s)"), Result, GetNGXResultAsString(Result)); @@ -209,8 +185,9 @@ void FNGXD3D12RHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArguments InArguments.Validate(); - FD3D12Device* Device = D3D12RHI->GetAdapter().GetDevice(CmdList.GetGPUMask().ToIndex()); - ID3D12GraphicsCommandList* D3DGraphicsCommandList = Device->GetCommandContext().CommandListHandle.GraphicsCommandList(); + const uint32 DeviceIndex = D3D12RHI->RHIGetResourceDeviceIndex(InArguments.InputColor); + ID3D12GraphicsCommandList* D3DGraphicsCommandList = D3D12RHI->RHIGetGraphicsCommandList(DeviceIndex); + if (InDLSSState->RequiresFeatureRecreation(InArguments)) { check(!InDLSSState->DLSSFeature || InDLSSState->HasValidFeature()); @@ -226,16 +203,8 @@ void FNGXD3D12RHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArguments if (!InDLSSState->DLSSFeature) { NVSDK_NGX_Parameter* NewNGXParameterHandle = nullptr; - if (NGXRHI::SupportsAllocateParameters()) - { - NVSDK_NGX_Result Result = NVSDK_NGX_D3D12_AllocateParameters(&NewNGXParameterHandle); - checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_D3D12_AllocateParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); - } - else - { - NVSDK_NGX_Result Result = NVSDK_NGX_D3D12_GetParameters(&NewNGXParameterHandle); - checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_D3D12_GetParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); - } + NVSDK_NGX_Result Result = NVSDK_NGX_D3D12_AllocateParameters(&NewNGXParameterHandle); + checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_D3D12_AllocateParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); ApplyCommonNGXParameterSettings(NewNGXParameterHandle, InArguments); @@ -261,35 +230,39 @@ void FNGXD3D12RHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArguments check(InDLSSState->HasValidFeature()); // execute + //TODO: replaced with what in 5.1? will something be missing from gpu profiling? see commit 305e264e +#if 0 if (Device->GetCommandContext().IsDefaultContext()) { Device->RegisterGPUWork(1); } +#endif NVSDK_NGX_D3D12_DLSS_Eval_Params DlssEvalParams; FMemory::Memzero(DlssEvalParams); - DlssEvalParams.Feature.pInOutput = GetD3D12TextureFromRHITexture(InArguments.OutputColor, InArguments.GPUNode)->GetResource()->GetResource(); + //TODO: does RHIGetResource do the right thing with multiple GPUs? + DlssEvalParams.Feature.pInOutput = D3D12RHI->RHIGetResource(InArguments.OutputColor); DlssEvalParams.InOutputSubrectBase.X = InArguments.DestRect.Min.X; DlssEvalParams.InOutputSubrectBase.Y = InArguments.DestRect.Min.Y; DlssEvalParams.InRenderSubrectDimensions.Width = InArguments.SrcRect.Width(); DlssEvalParams.InRenderSubrectDimensions.Height = InArguments.SrcRect.Height(); - DlssEvalParams.Feature.pInColor = GetD3D12TextureFromRHITexture(InArguments.InputColor, InArguments.GPUNode)->GetResource()->GetResource(); + DlssEvalParams.Feature.pInColor = D3D12RHI->RHIGetResource(InArguments.InputColor); DlssEvalParams.InColorSubrectBase.X = InArguments.SrcRect.Min.X; DlssEvalParams.InColorSubrectBase.Y = InArguments.SrcRect.Min.Y; - DlssEvalParams.pInDepth = GetD3D12TextureFromRHITexture(InArguments.InputDepth, InArguments.GPUNode)->GetResource()->GetResource(); + DlssEvalParams.pInDepth = D3D12RHI->RHIGetResource(InArguments.InputDepth); DlssEvalParams.InDepthSubrectBase.X = InArguments.SrcRect.Min.X; DlssEvalParams.InDepthSubrectBase.Y = InArguments.SrcRect.Min.Y; - DlssEvalParams.pInMotionVectors = GetD3D12TextureFromRHITexture(InArguments.InputMotionVectors, InArguments.GPUNode)->GetResource()->GetResource(); + DlssEvalParams.pInMotionVectors = D3D12RHI->RHIGetResource(InArguments.InputMotionVectors); // The VelocityCombine pass puts the motion vectors into the top left corner DlssEvalParams.InMVSubrectBase.X = 0; DlssEvalParams.InMVSubrectBase.Y = 0; - DlssEvalParams.pInExposureTexture = InArguments.bUseAutoExposure ? nullptr : GetD3D12TextureFromRHITexture(InArguments.InputExposure, InArguments.GPUNode)->GetResource()->GetResource(); + DlssEvalParams.pInExposureTexture = InArguments.bUseAutoExposure ? nullptr : D3D12RHI->RHIGetResource(InArguments.InputExposure); DlssEvalParams.InPreExposure = InArguments.PreExposure; DlssEvalParams.Feature.InSharpness = InArguments.Sharpness; @@ -311,9 +284,7 @@ void FNGXD3D12RHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArguments checkf(NVSDK_NGX_SUCCEED(ResultEvaluate), TEXT("NGX_D3D12_EVALUATE_DLSS_EXT failed! (%u %s), %s"), ResultEvaluate, GetNGXResultAsString(ResultEvaluate), *InDLSSState->DLSSFeature->Desc.GetDebugDescription()); InDLSSState->DLSSFeature->Tick(FrameCounter); - Device->GetCommandContext().StateCache.ForceSetComputeRootSignature(); - Device->GetCommandContext().StateCache.GetDescriptorCache()->SetCurrentCommandList(Device->GetCommandContext().CommandListHandle); - + D3D12RHI->RHIFinishExternalComputeWork(DeviceIndex, D3DGraphicsCommandList); } /** IModuleInterface implementation */ diff --git a/plugins/DLSS/Source/NGXRHI/Private/NGXRHI.cpp b/plugins/DLSS/Source/NGXRHI/Private/NGXRHI.cpp index 6e5fa07c..53461ee8 100644 --- a/plugins/DLSS/Source/NGXRHI/Private/NGXRHI.cpp +++ b/plugins/DLSS/Source/NGXRHI/Private/NGXRHI.cpp @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 - 2021 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #include "NGXRHI.h" @@ -117,9 +108,6 @@ void NVSDK_CONV NGXLogSink(const char* InNGXMessage, NVSDK_NGX_Logging_Level InL } -// the derived RHIs will set this to false based on runtime support -bool NGXRHI::bSupportsAllocateParameters = true; - bool NGXRHI::bNGXInitialized = false; // the derived RHIs will set this to true during their initialization @@ -252,23 +240,17 @@ void NGXRHI::FDLSSQueryFeature::QueryDLSSSupport() UE_LOG(LogDLSSNGXRHI, Log, TEXT("Get NVSDK_NGX_Parameter_SuperSampling_MinDriverVersionMajor -> (%u %s), MinDriverVersionMajor = %d"), ResultMinDriverVersionMajor, GetNGXResultAsString(ResultMinDriverVersionMajor), MinDriverVersionMajor); UE_LOG(LogDLSSNGXRHI, Log, TEXT("Get NVSDK_NGX_Parameter_SuperSampling_MinDriverVersionMinor -> (%u %s), MinDriverVersionMinor = %d"), ResultMinDriverVersionMinor, GetNGXResultAsString(ResultMinDriverVersionMinor), MinDriverVersionMinor); - if (NVSDK_NGX_SUCCEED(ResultUpdatedDriver) && NVSDK_NGX_SUCCEED(ResultMinDriverVersionMajor) && NVSDK_NGX_SUCCEED(ResultMinDriverVersionMinor)) + if (NVSDK_NGX_SUCCEED(ResultUpdatedDriver)) { DriverRequirements.DriverUpdateRequired = DriverRequirements.DriverUpdateRequired || bNeedsUpdatedDriver != 0; // ignore 0.0 and fall back to the what's baked into FNGXDriverRequirements; - if (MinDriverVersionMajor) + if (NVSDK_NGX_SUCCEED(ResultMinDriverVersionMajor) && NVSDK_NGX_SUCCEED(ResultMinDriverVersionMinor) && MinDriverVersionMajor != 0) { - DriverRequirements.MinDriverVersionMajor = MinDriverVersionMajor; - } - - if (MinDriverVersionMinor) - { DriverRequirements.MinDriverVersionMinor = MinDriverVersionMinor; } - if (bNeedsUpdatedDriver) { UE_LOG(LogDLSSNGXRHI, Log, TEXT("NVIDIA NGX DLSS cannot be loaded due to an outdated driver. Minimum Driver Version required : %u.%u"), MinDriverVersionMajor, MinDriverVersionMinor); @@ -473,13 +455,8 @@ void NGXRHI::TickPoolElements() SET_DWORD_STAT(STAT_DLSSNumFeatures, AllocatedDLSSFeatures.Num()); - - // if r.NGX.Enable is 0 then this should be nullptr if(DLSSQueryFeature.CapabilityParameters) { - static const auto CVarNGXDLSSEnable = IConsoleManager::Get().FindConsoleVariable(TEXT("r.NGX.Enable")); - check(CVarNGXDLSSEnable && CVarNGXDLSSEnable->GetInt() != 0); - unsigned long long VRAM = 0; NVSDK_NGX_Result ResultGetStats = NGX_DLSS_GET_STATS(DLSSQueryFeature.CapabilityParameters, &VRAM); diff --git a/plugins/DLSS/Source/NGXRHI/Public/NGXRHI.h b/plugins/DLSS/Source/NGXRHI/Public/NGXRHI.h index e31aeb74..a0b09a8b 100644 --- a/plugins/DLSS/Source/NGXRHI/Public/NGXRHI.h +++ b/plugins/DLSS/Source/NGXRHI/Public/NGXRHI.h @@ -1,21 +1,12 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #pragma once @@ -24,7 +15,6 @@ #include "CoreMinimal.h" #include "RendererInterface.h" -#include "Runtime/Launch/Resources/Version.h" #include "nvsdk_ngx_params.h" @@ -103,13 +93,8 @@ struct NGXRHI_API FRHIDLSSArguments FIntRect SrcRect = FIntRect(FIntPoint::ZeroValue, FIntPoint::ZeroValue); FIntRect DestRect = FIntRect(FIntPoint::ZeroValue, FIntPoint::ZeroValue); -#if ENGINE_MAJOR_VERSION < 5 - FVector2D JitterOffset= FVector2D::ZeroVector; - FVector2D MotionVectorScale{ 1.0f,1.0f }; -#else FVector2f JitterOffset = FVector2f::ZeroVector; FVector2f MotionVectorScale = FVector2f::UnitVector; -#endif bool bHighResolutionMotionVectors = false; float Sharpness = 0.0f; @@ -335,11 +320,6 @@ public: void TickPoolElements(); - static bool SupportsAllocateParameters() - { - return bSupportsAllocateParameters; - } - static bool NGXInitialized() { return bNGXInitialized; @@ -377,7 +357,6 @@ protected: uint32 FrameCounter = 1; static bool bNGXInitialized; - static bool bSupportsAllocateParameters; static bool bIsIncompatibleAPICaptureToolActive; private: TArray< TSharedPtr> AllocatedDLSSFeatures; diff --git a/plugins/DLSS/Source/NGXVulkanRHI/NGXVulkanRHI.Build.cs b/plugins/DLSS/Source/NGXVulkanRHI/NGXVulkanRHI.Build.cs index d59837c2..84f2c93b 100644 --- a/plugins/DLSS/Source/NGXVulkanRHI/NGXVulkanRHI.Build.cs +++ b/plugins/DLSS/Source/NGXVulkanRHI/NGXVulkanRHI.Build.cs @@ -1,26 +1,15 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ - using UnrealBuildTool; -using System.IO; public class NGXVulkanRHI : ModuleRules { @@ -36,8 +25,6 @@ public class NGXVulkanRHI : ModuleRules PrivateIncludePaths.AddRange( new string[] { - Path.Combine(EngineDirectory,"Source/Runtime/VulkanRHI/Private"), - Path.Combine(EngineDirectory,"Source/Runtime/VulkanRHI/Private/Windows"), } ); @@ -63,11 +50,6 @@ public class NGXVulkanRHI : ModuleRules } ); - if (ReadOnlyBuildVersion.Current.MajorVersion == 5) - { - PrivateDependencyModuleNames.Add("RHICore"); - } - // those come from the VulkanRHI AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan"); diff --git a/plugins/DLSS/Source/NGXVulkanRHI/Private/NGXVulkanRHI.cpp b/plugins/DLSS/Source/NGXVulkanRHI/Private/NGXVulkanRHI.cpp index 40ca0941..78bc493f 100644 --- a/plugins/DLSS/Source/NGXVulkanRHI/Private/NGXVulkanRHI.cpp +++ b/plugins/DLSS/Source/NGXVulkanRHI/Private/NGXVulkanRHI.cpp @@ -11,10 +11,7 @@ #include "NGXVulkanRHI.h" -#include "VulkanRHIPrivate.h" -#include "VulkanPendingState.h" -#include "VulkanRHIBridge.h" -#include "VulkanContext.h" +#include "IVulkanDynamicRHI.h" #include "nvsdk_ngx_vk.h" #include "nvsdk_ngx_helpers_vk.h" @@ -38,7 +35,7 @@ public: NVSDK_NGX_Result ResultReleaseFeature = NVSDK_NGX_VULKAN_ReleaseFeature(Feature); checkf(NVSDK_NGX_SUCCEED(ResultReleaseFeature), TEXT("NVSDK_NGX_VULKAN_ReleaseFeature failed! (%u %s), %s"), ResultReleaseFeature, GetNGXResultAsString(ResultReleaseFeature), *Desc.GetDebugDescription()); - if (NGXRHI::SupportsAllocateParameters()) + if (Parameter != nullptr) { NVSDK_NGX_Result ResultDestroyParameter = NVSDK_NGX_VULKAN_DestroyParameters(Parameter); checkf(NVSDK_NGX_SUCCEED(ResultDestroyParameter), TEXT("NVSDK_NGX_VULKAN_DestroyParameters failed! (%u %s), %s"), ResultDestroyParameter, GetNGXResultAsString(ResultDestroyParameter), *Desc.GetDebugDescription()); @@ -56,8 +53,7 @@ public: virtual ~FNGXVulkanRHI(); private: - FVulkanDynamicRHI* VulkanRHI = nullptr; - FVulkanDevice* VulkanDevice = nullptr; + IVulkanDynamicRHI* VulkanRHI = nullptr; NVSDK_NGX_Result Init_NGX_VK(const FNGXRHICreateArguments& InArguments, const wchar_t* InApplicationDataPath, VkInstance InInstance, VkPhysicalDevice InPD, VkDevice InDevice, const NVSDK_NGX_FeatureCommonInfo* InFeatureInfo); static bool IsIncompatibleAPICaptureToolActive(); @@ -106,20 +102,18 @@ NVSDK_NGX_Result FNGXVulkanRHI::Init_NGX_VK(const FNGXRHICreateArguments& InArgu FNGXVulkanRHI::FNGXVulkanRHI(const FNGXRHICreateArguments& Arguments) : NGXRHI(Arguments) - , VulkanRHI(static_cast(Arguments.DynamicRHI)) - , VulkanDevice(VulkanRHIBridge::GetDevice(VulkanRHI) -) + , VulkanRHI(CastDynamicRHI(Arguments.DynamicRHI)) { - ensure(VulkanRHI); + check(VulkanRHI); const FString NGXLogDir = GetNGXLogDirectory(); IPlatformFile::GetPlatformPhysical().CreateDirectoryTree(*NGXLogDir); bIsIncompatibleAPICaptureToolActive = IsIncompatibleAPICaptureToolActive(); - VkInstance VulkanInstance = reinterpret_cast(VulkanRHIBridge::GetInstance(VulkanRHI)); - VkPhysicalDevice VulkanPhysicalDevice = reinterpret_cast(VulkanRHIBridge::GetPhysicalDevice(VulkanDevice)); - VkDevice VulkanLogicalDevice = reinterpret_cast(VulkanRHIBridge::GetLogicalDevice(VulkanDevice)); + VkInstance VulkanInstance = VulkanRHI->RHIGetVkInstance(); + VkPhysicalDevice VulkanPhysicalDevice = VulkanRHI->RHIGetVkPhysicalDevice(); + VkDevice VulkanLogicalDevice = VulkanRHI->RHIGetVkDevice(); NVSDK_NGX_Result ResultInit = Init_NGX_VK(Arguments, *NGXLogDir, VulkanInstance, VulkanPhysicalDevice, VulkanLogicalDevice, CommonFeatureInfo()); UE_LOG(LogDLSSNGXVulkanRHI, Log, TEXT("NVSDK_NGX_VULKAN_Init (Log %s) -> (%u %s)"), *NGXLogDir, ResultInit, GetNGXResultAsString(ResultInit)); @@ -143,14 +137,6 @@ FNGXVulkanRHI::FNGXVulkanRHI(const FNGXRHICreateArguments& Arguments) DLSSQueryFeature.DriverRequirements.DriverUpdateRequired = true; } - if (NVSDK_NGX_FAILED(ResultGetParameters)) - { - ResultGetParameters = NVSDK_NGX_VULKAN_GetParameters(&DLSSQueryFeature.CapabilityParameters); - UE_LOG(LogDLSSNGXVulkanRHI, Log, TEXT("NVSDK_NGX_VULKAN_GetParameters -> (%u %s)"), ResultGetParameters, GetNGXResultAsString(ResultGetParameters)); - - bSupportsAllocateParameters = false; - } - if (NVSDK_NGX_SUCCEED(ResultGetParameters)) { DLSSQueryFeature.QueryDLSSSupport(); @@ -167,7 +153,7 @@ FNGXVulkanRHI::~FNGXVulkanRHI() ReleaseAllocatedFeatures(); NVSDK_NGX_Result Result; - if (bSupportsAllocateParameters && DLSSQueryFeature.CapabilityParameters) + if (DLSSQueryFeature.CapabilityParameters != nullptr) { Result = NVSDK_NGX_VULKAN_DestroyParameters(DLSSQueryFeature.CapabilityParameters); UE_LOG(LogDLSSNGXVulkanRHI, Log, TEXT("NVSDK_NGX_VULKAN_DestroyParameters -> (%u %s)"), Result, GetNGXResultAsString(Result)); @@ -187,8 +173,7 @@ void FNGXVulkanRHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArgument InArguments.Validate(); - FVulkanCommandListContextImmediate& ImmediateContext = VulkanDevice->GetImmediateContext(); - VkCommandBuffer VulkanCommandBuffer = ImmediateContext.GetCommandBufferManager()->GetActiveCmdBuffer()->GetHandle(); + VkCommandBuffer VulkanCommandBuffer = VulkanRHI->RHIGetActiveVkCommandBuffer(); if (InDLSSState->RequiresFeatureRecreation(InArguments)) { @@ -205,16 +190,8 @@ void FNGXVulkanRHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArgument if (!InDLSSState->DLSSFeature) { NVSDK_NGX_Parameter* NewNGXParameterHandle = nullptr; - if (NGXRHI::SupportsAllocateParameters()) - { - NVSDK_NGX_Result Result = NVSDK_NGX_VULKAN_AllocateParameters(&NewNGXParameterHandle); - checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_VULKAN_AllocateParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); - } - else - { - NVSDK_NGX_Result Result = NVSDK_NGX_VULKAN_GetParameters(&NewNGXParameterHandle); - checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_VULKAN_GetParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); - } + NVSDK_NGX_Result Result = NVSDK_NGX_VULKAN_AllocateParameters(&NewNGXParameterHandle); + checkf(NVSDK_NGX_SUCCEED(Result), TEXT("NVSDK_NGX_VULKAN_AllocateParameters failed! (%u %s)"), Result, GetNGXResultAsString(Result)); ApplyCommonNGXParameterSettings(NewNGXParameterHandle, InArguments); @@ -242,7 +219,7 @@ void FNGXVulkanRHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArgument // execute NVSDK_NGX_VK_DLSS_Eval_Params DlssEvalParams; FMemory::Memzero(DlssEvalParams); - auto NGXVulkanResourceFromRHITexture = [](FRHITexture* InRHITexture) + auto NGXVulkanResourceFromRHITexture = [VulkanRHI=VulkanRHI](FRHITexture* InRHITexture) { check(InRHITexture); if (FRHITextureReference* TexRef = InRHITexture->GetTextureReference()) @@ -251,7 +228,7 @@ void FNGXVulkanRHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArgument check(InRHITexture); } - FVulkanTextureBase* VulkanTexture = static_cast(InRHITexture->GetTextureBaseRHI()); + const FVulkanRHIImageViewInfo ImageViewInfo = VulkanRHI->RHIGetImageViewInfo(InRHITexture); NVSDK_NGX_Resource_VK NGXTexture; FMemory::Memzero(NGXTexture); @@ -259,26 +236,21 @@ void FNGXVulkanRHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArgument NGXTexture.Type = NVSDK_NGX_RESOURCE_VK_TYPE_VK_IMAGEVIEW; // Check for VK_IMAGE_USAGE_STORAGE_BIT. Those are not directly stored but FVulkanSurface::GenerateImageCreateInfo sets the VK flag based on those UEFlags - NGXTexture.ReadWrite = EnumHasAnyFlags(VulkanTexture->Surface.UEFlags, TexCreate_Presentable | TexCreate_UAV); + NGXTexture.ReadWrite = EnumHasAnyFlags(ImageViewInfo.UEFlags, TexCreate_Presentable | TexCreate_UAV); - NGXTexture.Resource.ImageViewInfo.ImageView = VulkanTexture->DefaultView.View; - NGXTexture.Resource.ImageViewInfo.Image = VulkanTexture->DefaultView.Image; - NGXTexture.Resource.ImageViewInfo.Format = VulkanTexture->Surface.ViewFormat; + NGXTexture.Resource.ImageViewInfo.ImageView = ImageViewInfo.ImageView; + NGXTexture.Resource.ImageViewInfo.Image = ImageViewInfo.Image; + NGXTexture.Resource.ImageViewInfo.Format = ImageViewInfo.Format; - NGXTexture.Resource.ImageViewInfo.Width = VulkanTexture->Surface.Width; - NGXTexture.Resource.ImageViewInfo.Height = VulkanTexture->Surface.Height; - check(VulkanTexture->Surface.Depth == 1); + NGXTexture.Resource.ImageViewInfo.Width = ImageViewInfo.Width; + NGXTexture.Resource.ImageViewInfo.Height = ImageViewInfo.Height; + check(ImageViewInfo.Depth == 1); - NGXTexture.Resource.ImageViewInfo.SubresourceRange.aspectMask = VulkanTexture->Surface.GetFullAspectMask(); - - NGXTexture.Resource.ImageViewInfo.SubresourceRange.layerCount = VulkanTexture->Surface.GetNumberOfArrayLevels(); - NGXTexture.Resource.ImageViewInfo.SubresourceRange.levelCount = VulkanTexture->Surface.GetNumMips(); + NGXTexture.Resource.ImageViewInfo.SubresourceRange = ImageViewInfo.SubresourceRange; // DLSS_TODO Figure out where to get those from if the textures are arrayed or mipped. - check(VulkanTexture->Surface.GetNumberOfArrayLevels() == 1); - check(VulkanTexture->Surface.GetNumMips() == 1); - NGXTexture.Resource.ImageViewInfo.SubresourceRange.baseMipLevel = 0; - NGXTexture.Resource.ImageViewInfo.SubresourceRange.baseArrayLayer = 0; + check(NGXTexture.Resource.ImageViewInfo.SubresourceRange.layerCount == 1); + check(NGXTexture.Resource.ImageViewInfo.SubresourceRange.levelCount == 1); return NGXTexture; }; @@ -334,15 +306,8 @@ void FNGXVulkanRHI::ExecuteDLSS(FRHICommandList& CmdList, const FRHIDLSSArgument checkf(NVSDK_NGX_SUCCEED(ResultEvaluate), TEXT("NGX_Vulkan_EVALUATE_DLSS_EXT failed! (%u %s), %s"), ResultEvaluate, GetNGXResultAsString(ResultEvaluate), *InDLSSState->DLSSFeature->Desc.GetDebugDescription()); InDLSSState->DLSSFeature->Tick(FrameCounter); - if (FVulkanPlatform::RegisterGPUWork() && ImmediateContext.IsImmediate()) - { - ImmediateContext.GetGPUProfiler().RegisterGPUWork(1); - } - - - - ImmediateContext.GetPendingComputeState()->Reset(); - ImmediateContext.GetPendingGfxState()->Reset(); + VulkanRHI->RHIRegisterWork(1); + VulkanRHI->RHIFinishExternalComputeWork(VulkanCommandBuffer); } diff --git a/plugins/DLSS/Source/NGXVulkanRHIPreInit/NGXVulkanRHIPreInit.Build.cs b/plugins/DLSS/Source/NGXVulkanRHIPreInit/NGXVulkanRHIPreInit.Build.cs index 94e5e321..2b645a62 100644 --- a/plugins/DLSS/Source/NGXVulkanRHIPreInit/NGXVulkanRHIPreInit.Build.cs +++ b/plugins/DLSS/Source/NGXVulkanRHIPreInit/NGXVulkanRHIPreInit.Build.cs @@ -1,25 +1,15 @@ /* -* Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ using UnrealBuildTool; -using System.IO; public class NGXVulkanRHIPreInit : ModuleRules { @@ -36,8 +26,6 @@ public class NGXVulkanRHIPreInit : ModuleRules PrivateIncludePaths.AddRange( new string[] { - Path.Combine(EngineDirectory,"Source/Runtime/VulkanRHI/Private"), - Path.Combine(EngineDirectory,"Source/Runtime/VulkanRHI/Private/Windows"), } ); @@ -61,10 +49,7 @@ public class NGXVulkanRHIPreInit : ModuleRules "NGX", } ); - if (ReadOnlyBuildVersion.Current.MajorVersion == 5) - { - PrivateDependencyModuleNames.Add("RHICore"); - } + // those come from the VulkanRHI AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan"); } diff --git a/plugins/DLSS/Source/NGXVulkanRHIPreInit/Private/NGXVulkanRHIPreInit.cpp b/plugins/DLSS/Source/NGXVulkanRHIPreInit/Private/NGXVulkanRHIPreInit.cpp index 0fc52d40..de40a4cd 100644 --- a/plugins/DLSS/Source/NGXVulkanRHIPreInit/Private/NGXVulkanRHIPreInit.cpp +++ b/plugins/DLSS/Source/NGXVulkanRHIPreInit/Private/NGXVulkanRHIPreInit.cpp @@ -1,27 +1,17 @@ /* -* Copyright (c) 2020 - 2021 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ #include "NGXVulkanRHIPreInit.h" -#include "VulkanRHIPrivate.h" -#include "VulkanRHIBridge.h" +#include "IVulkanDynamicRHI.h" #include "DynamicRHI.h" @@ -57,11 +47,11 @@ void FNGXVulkanRHIPreInitModule::StartupModule() const NVSDK_NGX_Result ResultRequiredExtensions = NVSDK_NGX_VULKAN_RequiredExtensions(&NumInstanceExtensions, &InstanceExtensions, &NumDeviceExtensions, &DeviceExtensions); UE_LOG(LogDLSSNGXVulkanRHIPreInit, Log, TEXT("NVSDK_NGX_VULKAN_RequiredExtensions -> (%u %s)"), ResultRequiredExtensions, GetNGXResultAsString(ResultRequiredExtensions)); - const TArray RHIBridgeInstanceExtensions(InstanceExtensions, NumInstanceExtensions); - VulkanRHIBridge::AddEnabledInstanceExtensionsAndLayers(RHIBridgeInstanceExtensions, TArray()); + const TArrayView RHIBridgeInstanceExtensions(InstanceExtensions, NumInstanceExtensions); + IVulkanDynamicRHI::AddEnabledInstanceExtensionsAndLayers(RHIBridgeInstanceExtensions, TArrayView()); - const TArray RHIBridgeDeviceExtensions(DeviceExtensions, NumDeviceExtensions); - VulkanRHIBridge::AddEnabledDeviceExtensionsAndLayers(RHIBridgeDeviceExtensions, TArray()); + const TArrayView RHIBridgeDeviceExtensions(DeviceExtensions, NumDeviceExtensions); + IVulkanDynamicRHI::AddEnabledDeviceExtensionsAndLayers(RHIBridgeDeviceExtensions, TArrayView()); UE_LOG(LogDLSSNGXVulkanRHIPreInit, Log, TEXT("Preregistered the required NGX DLSS Vulkan device extensions (%u) and instance extensions (%u) via the VulkanRHIBridge"), NumDeviceExtensions, NumInstanceExtensions); } diff --git a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx.h b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx.h index 57ece96b..f65b2218 100644 --- a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx.h +++ b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx.h @@ -32,8 +32,8 @@ * need to update drivers. Please note that application Id is provided * by NVIDIA so if you do not have one please contact us. * -* 2) Call NVSDK_NGX_D3D11/D3D12/CUDA_GetParameters to obtain pointer to -* interface used to pass parameters to SDK. Interface instance is +* 2) Call NVSDK_NGX_D3D11/D3D12/CUDA_GetCapabilityParameters to obtain pointer +* to interface used to pass parameters to SDK. Interface instance is * allocated and released by SDK so there is no need to do any memory * management on client side. * @@ -200,6 +200,7 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_D3D12_Shutdown(void); NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_D3D12_Shutdown1(ID3D12Device *InDevice); NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_CUDA_Shutdown(void); +#ifdef NGX_ENABLE_DEPRECATED_GET_PARAMETERS //////////////////////////////////////////////////////////////////////////////////////////////////// // NVSDK_NGX_GetParameters // ---------------------------------------------------------- @@ -218,15 +219,16 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_CUDA_Shutdown(void); // Unlike with NVSDK_NGX_AllocateParameters, parameter maps output by NVSDK_NGX_GetParameters // have their lifetimes managed by NGX, and must not // be destroyed by the app using NVSDK_NGX_DestroyParameters. -// NVSDK_NGX_GetParameters is soon to be deprecated and apps should move to using +// NVSDK_NGX_GetParameters is deprecated and apps should move to using // NVSDK_NGX_AllocateParameters and NVSDK_NGX_GetCapabilityParameters when possible. // Nevertheless, due to the possibility that the user will be using an older driver version, -// NVSDK_NGX_GetParameters should still be used as a fallback if NVSDK_NGX_AllocateParameters +// NVSDK_NGX_GetParameters may still be used as a fallback if NVSDK_NGX_AllocateParameters // or NVSDK_NGX_GetCapabilityParameters return NVSDK_NGX_Result_FAIL_OutOfDate. // NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_D3D11_GetParameters(NVSDK_NGX_Parameter **OutParameters); NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_D3D12_GetParameters(NVSDK_NGX_Parameter **OutParameters); NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_CUDA_GetParameters(NVSDK_NGX_Parameter **OutParameters); +#endif // NGX_ENABLE_DEPRECATED_GET_PARAMETERS //////////////////////////////////////////////////////////////////////////////////////////////////// // NVSDK_NGX_AllocateParameters diff --git a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_defs.h b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_defs.h index e5c2a573..f88c0c84 100644 --- a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_defs.h +++ b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_defs.h @@ -218,7 +218,6 @@ typedef enum NSDK_NGX_GPU_Arch NVSDK_NGX_GPU_Arch_Unknown = 0x7FFFFFF } NVSDK_NGX_GPU_Arch; - typedef enum NVSDK_NGX_DLSS_Feature_Flags { NVSDK_NGX_DLSS_Feature_Flags_IsInvalid = 1 << 31, @@ -252,6 +251,10 @@ typedef enum NVSDK_NGX_GBufferType NVSDK_NGX_GBUFFER_NORMALS, NVSDK_NGX_GBUFFER_SHADINGMODELID, /* unique identifier for drawn object or how the object is drawn */ NVSDK_NGX_GBUFFER_MATERIALID, /* unique identifier for material */ + NVSDK_NGX_GBUFFER_SPECULAR_ALBEDO, + NVSDK_NGX_GBUFFER_INDIRECT_ALBEDO, + NVSDK_NGX_GBUFFER_SPECULAR_MVEC, + NVSDK_NGX_GBUFFER_DISOCCL_MASK, NVSDK_NGX_GBUFFERTYPE_NUM = 16 } NVSDK_NGX_GBufferType; @@ -269,7 +272,11 @@ typedef struct NVSDK_NGX_Dimensions typedef struct NVSDK_NGX_PathListInfo { +#ifdef NV_WINDOWS wchar_t **Path; +#else //NV_WINDOWS + char **Path; +#endif //NV_WINDOWS // Path-list length unsigned int Length; } NVSDK_NGX_PathListInfo; @@ -346,7 +353,7 @@ typedef enum NVSDK_NGX_EngineType NVSDK_NGX_ENGINE_TYPE_UNREAL, NVSDK_NGX_ENGINE_TYPE_UNITY, NVSDK_NGX_ENGINE_TYPE_OMNIVERSE, - NVSDK_NGX_ENGINE_COUNT + NVSDK_NGX_ENGINE_COUNT } NVSDK_NGX_EngineType; // Read-only parameters provided by NGX @@ -373,7 +380,7 @@ typedef enum NVSDK_NGX_EngineType #define NVSDK_NGX_EParameter_Sharpness "#\x14" #define NVSDK_NGX_EParameter_Scratch "#\x15" #define NVSDK_NGX_EParameter_Scratch_SizeInBytes "#\x16" -#define NVSDK_NGX_EParameter_Deprecated_17 "#\x17" +#define NVSDK_NGX_EParameter_EvaluationNode "#\x17" // valid since API 0x13 (replaced a deprecated param) #define NVSDK_NGX_EParameter_Input1 "#\x18" #define NVSDK_NGX_EParameter_Input1_Format "#\x19" #define NVSDK_NGX_EParameter_Input1_SizeInBytes "#\x1a" @@ -538,8 +545,14 @@ typedef enum NVSDK_NGX_EngineType #define NVSDK_NGX_Parameter_ExposureTexture "ExposureTexture" // a 1x1 texture containing the final exposure scale #define NVSDK_NGX_Parameter_DLSS_Feature_Create_Flags "DLSS.Feature.Create.Flags" #define NVSDK_NGX_Parameter_DLSS_Checkerboard_Jitter_Hack "DLSS.Checkerboard.Jitter.Hack" +#define NVSDK_NGX_Parameter_GBuffer_Normals "GBuffer.Normals" #define NVSDK_NGX_Parameter_GBuffer_Albedo "GBuffer.Albedo" #define NVSDK_NGX_Parameter_GBuffer_Roughness "GBuffer.Roughness" +#define NVSDK_NGX_Parameter_GBuffer_DiffuseAlbedo "GBuffer.DiffuseAlbedo" +#define NVSDK_NGX_Parameter_GBuffer_SpecularAlbedo "GBuffer.SpecularAlbedo" +#define NVSDK_NGX_Parameter_GBuffer_IndirectAlbedo "GBuffer.IndirectAlbedo" +#define NVSDK_NGX_Parameter_GBuffer_SpecularMvec "GBuffer.SpecularMvec" +#define NVSDK_NGX_Parameter_GBuffer_DisocclusionMask "GBuffer.DisocclusionMask" #define NVSDK_NGX_Parameter_GBuffer_Metallic "GBuffer.Metallic" #define NVSDK_NGX_Parameter_GBuffer_Specular "GBuffer.Specular" #define NVSDK_NGX_Parameter_GBuffer_Subsurface "GBuffer.Subsurface" diff --git a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers.h b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers.h index f70e6031..3956911e 100644 --- a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers.h +++ b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers.h @@ -169,6 +169,7 @@ typedef struct NVSDK_NGX_D3D11_DLSS_Eval_Params NVSDK_NGX_Coordinates InBiasCurrentColorSubrectBase; NVSDK_NGX_Coordinates InOutputSubrectBase; float InPreExposure; + float InExposureScale; int InIndicatorInvertXAxis; int InIndicatorInvertYAxis; /*** OPTIONAL - only for research purposes ***/ @@ -282,13 +283,13 @@ static inline NVSDK_NGX_Result NGX_D3D11_EVALUATE_DLSS_EXT( NVSDK_NGX_Parameter_SetUI(pInParams, NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Width , pInDlssEvalParams->InRenderSubrectDimensions.Width); NVSDK_NGX_Parameter_SetUI(pInParams, NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Height, pInDlssEvalParams->InRenderSubrectDimensions.Height); NVSDK_NGX_Parameter_SetF(pInParams, NVSDK_NGX_Parameter_DLSS_Pre_Exposure, pInDlssEvalParams->InPreExposure == 0.0f ? 1.0f : pInDlssEvalParams->InPreExposure); + NVSDK_NGX_Parameter_SetF(pInParams, NVSDK_NGX_Parameter_DLSS_Exposure_Scale, pInDlssEvalParams->InExposureScale == 0.0f ? 1.0f : pInDlssEvalParams->InExposureScale); NVSDK_NGX_Parameter_SetI(pInParams, NVSDK_NGX_Parameter_DLSS_Indicator_Invert_X_Axis, pInDlssEvalParams->InIndicatorInvertXAxis); NVSDK_NGX_Parameter_SetI(pInParams, NVSDK_NGX_Parameter_DLSS_Indicator_Invert_Y_Axis, pInDlssEvalParams->InIndicatorInvertYAxis); return NVSDK_NGX_D3D11_EvaluateFeature_C(pInCtx, pInHandle, pInParams, NULL); } - static inline NVSDK_NGX_Result NGX_D3D11_CREATE_DLISP_EXT( ID3D11DeviceContext *pInCtx, NVSDK_NGX_Handle **ppOutHandle, @@ -432,6 +433,7 @@ typedef struct NVSDK_NGX_D3D12_DLSS_Eval_Params NVSDK_NGX_Coordinates InBiasCurrentColorSubrectBase; NVSDK_NGX_Coordinates InOutputSubrectBase; float InPreExposure; + float InExposureScale; int InIndicatorInvertXAxis; int InIndicatorInvertYAxis; /*** OPTIONAL - only for research purposes ***/ @@ -538,13 +540,13 @@ static inline NVSDK_NGX_Result NGX_D3D12_EVALUATE_DLSS_EXT( NVSDK_NGX_Parameter_SetUI(pInParams, NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Width , pInDlssEvalParams->InRenderSubrectDimensions.Width); NVSDK_NGX_Parameter_SetUI(pInParams, NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Height, pInDlssEvalParams->InRenderSubrectDimensions.Height); NVSDK_NGX_Parameter_SetF(pInParams, NVSDK_NGX_Parameter_DLSS_Pre_Exposure, pInDlssEvalParams->InPreExposure == 0.0f ? 1.0f : pInDlssEvalParams->InPreExposure); + NVSDK_NGX_Parameter_SetF(pInParams, NVSDK_NGX_Parameter_DLSS_Exposure_Scale, pInDlssEvalParams->InExposureScale == 0.0f ? 1.0f : pInDlssEvalParams->InExposureScale); NVSDK_NGX_Parameter_SetI(pInParams, NVSDK_NGX_Parameter_DLSS_Indicator_Invert_X_Axis, pInDlssEvalParams->InIndicatorInvertXAxis); NVSDK_NGX_Parameter_SetI(pInParams, NVSDK_NGX_Parameter_DLSS_Indicator_Invert_Y_Axis, pInDlssEvalParams->InIndicatorInvertYAxis); return NVSDK_NGX_D3D12_EvaluateFeature_C(pInCmdList, pInHandle, pInParams, NULL); } - static inline NVSDK_NGX_Result NGX_D3D12_CREATE_DLISP_EXT( ID3D12GraphicsCommandList *InCmdList, unsigned int InCreationNodeMask, @@ -590,7 +592,6 @@ static inline NVSDK_NGX_Result NGX_D3D12_EVALUATE_DLISP_EXT( return NVSDK_NGX_D3D12_EvaluateFeature_C(pInCmdList, pInHandle, pInParams, NULL); } - static inline NVSDK_NGX_Result NGX_D3D12_CREATE_DLRESOLVE_EXT( ID3D12GraphicsCommandList *pInCmdList, unsigned int InCreationNodeMask, diff --git a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers_vk.h b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers_vk.h index 1fd46580..dbfbcdae 100644 --- a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers_vk.h +++ b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_helpers_vk.h @@ -91,6 +91,7 @@ typedef struct NVSDK_NGX_VK_DLSS_Eval_Params NVSDK_NGX_Coordinates InBiasCurrentColorSubrectBase; NVSDK_NGX_Coordinates InOutputSubrectBase; float InPreExposure; + float InExposureScale; int InIndicatorInvertXAxis; int InIndicatorInvertYAxis; /*** OPTIONAL - only for research purposes ***/ @@ -229,13 +230,13 @@ static inline NVSDK_NGX_Result NGX_VULKAN_EVALUATE_DLSS_EXT( NVSDK_NGX_Parameter_SetUI(pInParams, NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Width , pInDlssEvalParams->InRenderSubrectDimensions.Width); NVSDK_NGX_Parameter_SetUI(pInParams, NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Height, pInDlssEvalParams->InRenderSubrectDimensions.Height); NVSDK_NGX_Parameter_SetF(pInParams, NVSDK_NGX_Parameter_DLSS_Pre_Exposure, pInDlssEvalParams->InPreExposure == 0.0f ? 1.0f : pInDlssEvalParams->InPreExposure); + NVSDK_NGX_Parameter_SetF(pInParams, NVSDK_NGX_Parameter_DLSS_Exposure_Scale, pInDlssEvalParams->InExposureScale == 0.0f ? 1.0f : pInDlssEvalParams->InExposureScale); NVSDK_NGX_Parameter_SetI(pInParams, NVSDK_NGX_Parameter_DLSS_Indicator_Invert_X_Axis, pInDlssEvalParams->InIndicatorInvertXAxis); NVSDK_NGX_Parameter_SetI(pInParams, NVSDK_NGX_Parameter_DLSS_Indicator_Invert_Y_Axis, pInDlssEvalParams->InIndicatorInvertYAxis); return NVSDK_NGX_VULKAN_EvaluateFeature_C(InCmdList, pInHandle, pInParams, NULL); } - static inline NVSDK_NGX_Result NGX_VULKAN_CREATE_DLISP_EXT( VkCommandBuffer InCmdList, unsigned int InCreationNodeMask, diff --git a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_params.h b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_params.h index 8e0696e7..2e66097b 100644 --- a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_params.h +++ b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_params.h @@ -50,6 +50,13 @@ typedef struct NVSDK_NGX_DLSS_Create_Params bool InEnableOutputSubrects; } NVSDK_NGX_DLSS_Create_Params; +typedef struct NVSDK_NGX_DLDenoise_Create_Params +{ + NVSDK_NGX_Feature_Create_Params Feature; + /*** OPTIONAL ***/ + int InFeatureCreateFlags; +} NVSDK_NGX_DLDenoise_Create_Params; + #ifdef __cplusplus typedef struct NVSDK_NGX_Parameter { diff --git a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_vk.h b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_vk.h index 0c6b69b9..e57221e2 100644 --- a/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_vk.h +++ b/plugins/DLSS/Source/ThirdParty/NGX/Include/nvsdk_ngx_vk.h @@ -245,6 +245,7 @@ NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_VULKAN_Init_with_ProjectID(const char *In NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_VULKAN_Shutdown(void); NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_VULKAN_Shutdown1(VkDevice InDevice); +#ifdef NGX_ENABLE_DEPRECATED_GET_PARAMETERS //////////////////////////////////////////////////////////////////////////////////////////////////// // NVSDK_NGX_GetParameters // ---------------------------------------------------------- @@ -263,13 +264,14 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_VULKAN_Shutdown1(VkDevice In // Unlike with NVSDK_NGX_AllocateParameters, parameter maps output by NVSDK_NGX_GetParameters // have their lifetimes managed by NGX, and must not // be destroyed by the app using NVSDK_NGX_DestroyParameters. -// NVSDK_NGX_GetParameters is soon to be deprecated and apps should move to using +// NVSDK_NGX_GetParameters is deprecated and apps should move to using // NVSDK_NGX_AllocateParameters and NVSDK_NGX_GetCapabilityParameters when possible. // Nevertheless, due to the possibility that the user will be using an older driver version, -// NVSDK_NGX_GetParameters should still be used as a fallback if NVSDK_NGX_AllocateParameters +// NVSDK_NGX_GetParameters may still be used as a fallback if NVSDK_NGX_AllocateParameters // or NVSDK_NGX_GetCapabilityParameters return NVSDK_NGX_Result_FAIL_OutOfDate. // NVSDK_NGX_API NVSDK_NGX_Result NVSDK_CONV NVSDK_NGX_VULKAN_GetParameters(NVSDK_NGX_Parameter **OutParameters); +#endif // NGX_ENABLE_DEPRECATED_GET_PARAMETERS //////////////////////////////////////////////////////////////////////////////////////////////////// // NVSDK_NGX_AllocateParameters diff --git a/plugins/DLSS/Source/ThirdParty/NGX/NGX.Build.cs b/plugins/DLSS/Source/ThirdParty/NGX/NGX.Build.cs index 59690f81..87794b7a 100644 --- a/plugins/DLSS/Source/ThirdParty/NGX/NGX.Build.cs +++ b/plugins/DLSS/Source/ThirdParty/NGX/NGX.Build.cs @@ -1,29 +1,15 @@ /* -* Copyright (c) 2020-2021 NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2020 - 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. * -* NVIDIA Corporation and its licensors retain all intellectual property and proprietary -* rights in and to this software, related documentation and any modifications thereto. -* Any use, reproduction, disclosure or distribution of this software and related -* documentation without an express license agreement from NVIDIA Corporation is strictly -* prohibited. -* -* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* -* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, -* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY -* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT -* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF -* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR -* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF -* SUCH DAMAGES. +* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual +* property and proprietary rights in and to this material, related +* documentation and any modifications thereto. Any use, reproduction, +* disclosure or distribution of this material and related documentation +* without an express license agreement from NVIDIA CORPORATION or +* its affiliates is strictly prohibited. */ -#if UE_5_0_OR_LATER using EpicGames.Core; -#else -using Tools.DotNETCommon; -#endif - using UnrealBuildTool; using System.IO; @@ -76,6 +62,8 @@ public class NGX : ModuleRules }; PublicDefinitions.Add("NGX_DLSS_BINARY_NAME=TEXT(\"" + NGXSnippetDLLs[0] + "\")"); + // work around missing definition in NGX headers + PublicDefinitions.Add("NV_WINDOWS=1"); foreach (string NGXSnippetDLL in NGXSnippetDLLs) { diff --git a/plugins/EasyXMLParser/EasyXMLParser.uplugin b/plugins/EasyXMLParser/EasyXMLParser.uplugin new file mode 100644 index 00000000..4a24fcdb --- /dev/null +++ b/plugins/EasyXMLParser/EasyXMLParser.uplugin @@ -0,0 +1,30 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0.1", + "FriendlyName": "EasyXMLParser", + "Description": "Parse xml easily", + "Category": "Programming", + "CreatedBy": "ayumax", + "CreatedByURL": "https://github.com/ayumax", + "DocsURL": "https://github.com/ayumax/EasyXMLParserSample", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/af98110080a4411a8eaf3b8e931b8655", + "SupportURL": "", + "EngineVersion": "5.1.0", + "CanContainContent": false, + "Installed": true, + "Modules": [ + { + "Name": "EasyXMLParser", + "Type": "Runtime", + "LoadingPhase": "Default", + "WhitelistPlatforms": [ + "Android", + "Win64", + "Win32", + "Mac", + "IOS" + ] + } + ] +} \ No newline at end of file diff --git a/plugins/EasyXMLParser/Resources/Icon128.png b/plugins/EasyXMLParser/Resources/Icon128.png new file mode 100644 index 00000000..2335a569 Binary files /dev/null and b/plugins/EasyXMLParser/Resources/Icon128.png differ diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/EasyXMLParser.Build.cs b/plugins/EasyXMLParser/Source/EasyXMLParser/EasyXMLParser.Build.cs new file mode 100644 index 00000000..9578dc48 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/EasyXMLParser.Build.cs @@ -0,0 +1,53 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; + +public class EasyXMLParser : ModuleRules +{ + public EasyXMLParser(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore", + "XmlParser" + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAsyncLoadFromFile.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAsyncLoadFromFile.cpp new file mode 100644 index 00000000..4b214e0f --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAsyncLoadFromFile.cpp @@ -0,0 +1,52 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#include "EasyXMLAsyncLoadFromFile.h" +#include "Engine/World.h" +#include "TimerManager.h" +#include "Async/Async.h" +#include "Utils/CustomXMLParser.h" +#include "EasyXMLParseManager.h" + +UEasyXMLAsyncLoadFromFile::UEasyXMLAsyncLoadFromFile(const FObjectInitializer& ObjectInitializer) + :Super(ObjectInitializer) +{ + +} + +UEasyXMLAsyncLoadFromFile* UEasyXMLAsyncLoadFromFile::AsyncLoadFromFile(UObject* WorldContextObject, const FString& FilePath, bool IsAblolute) +{ + auto Action = NewObject(); + Action->RegisterWithGameInstance(WorldContextObject); + Action->_XMLFile = FilePath; + Action->_IsAblolute = IsAblolute; + + return Action; +} + +void UEasyXMLAsyncLoadFromFile::Activate() +{ + AsyncTask(ENamedThreads::AnyBackgroundThreadNormalTask, [this]() + { + auto manager = NewObject(); + FString _errorMessage; + EEasyXMLParserErrorCode _isSuccessed; + auto rootElement = manager->LoadFromFile(_XMLFile, _IsAblolute, _isSuccessed, _errorMessage); + + if (_isSuccessed == EEasyXMLParserErrorCode::Successed) + { + AsyncTask(ENamedThreads::GameThread, [this, rootElement]() + { + Successed.Broadcast(rootElement, TEXT("")); + SetReadyToDestroy(); + }); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, _errorMessage]() + { + Failed.Broadcast(nullptr, _errorMessage); + SetReadyToDestroy(); + }); + } + + }); +} diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAsyncLoadFromString.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAsyncLoadFromString.cpp new file mode 100644 index 00000000..3f7a3eaf --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAsyncLoadFromString.cpp @@ -0,0 +1,50 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#include "EasyXMLAsyncLoadFromString.h" +#include "Engine/World.h" +#include "TimerManager.h" +#include "Async/Async.h" +#include "Utils/CustomXMLParser.h" + +UEasyXMLAsyncLoadFromString::UEasyXMLAsyncLoadFromString(const FObjectInitializer& ObjectInitializer) + :Super(ObjectInitializer) +{ + +} + +UEasyXMLAsyncLoadFromString* UEasyXMLAsyncLoadFromString::AsyncLoadFromString(UObject* WorldContextObject, const FString& XMLString) +{ + auto Action = NewObject(); + Action->RegisterWithGameInstance(WorldContextObject); + Action->_XMLString = XMLString; + + return Action; +} + +void UEasyXMLAsyncLoadFromString::Activate() +{ + AsyncTask(ENamedThreads::AnyBackgroundThreadNormalTask, [this]() + { + CustomXMLParser parser; + FString _errorMessage; + + auto rootElement = parser.Parse(_XMLString, _errorMessage); + + if (rootElement != nullptr) + { + AsyncTask(ENamedThreads::GameThread, [this, rootElement]() + { + Successed.Broadcast(rootElement, TEXT("")); + SetReadyToDestroy(); + }); + } + else + { + AsyncTask(ENamedThreads::GameThread, [this, _errorMessage]() + { + Failed.Broadcast(nullptr, _errorMessage); + SetReadyToDestroy(); + }); + } + + }); +} diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAttribute.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAttribute.cpp new file mode 100644 index 00000000..19061b5f --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLAttribute.cpp @@ -0,0 +1,13 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#include "EasyXMLAttribute.h" +#include "EasyXMLElement.h" + +UEasyXMLAttribute* UEasyXMLAttribute::CreateAttribute(UEasyXMLElement* ParentObject, FString _Name, FString _Value) +{ + auto newAttribute = NewObject(ParentObject == nullptr ? (UObject*)GetTransientPackage() : ParentObject); + newAttribute->Parent = ParentObject; + newAttribute->Name = _Name; + newAttribute->Value = _Value.TrimStartAndEnd(); + + return newAttribute; +} \ No newline at end of file diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLElement.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLElement.cpp new file mode 100644 index 00000000..d8878cce --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLElement.cpp @@ -0,0 +1,223 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#include "EasyXMLElement.h" +#include "EasyXMLAttribute.h" +#include "Internationalization/Regex.h" + +UEasyXMLElement* UEasyXMLElement::CreateElement(UEasyXMLObject* ParentObject, FString Tag, FString Content, int32 _LineNumber) +{ + auto newElement = NewObject(ParentObject == nullptr ? (UObject*)GetTransientPackage() : ParentObject); + newElement->Parent = ParentObject; + newElement->Name = Tag; + newElement->Value = Content.TrimStartAndEnd(); + newElement->LineNumber = _LineNumber; + + return newElement; +} + + +int32 UEasyXMLElement::ReadInt(const FString& AccessString, int32 DefaultValue) +{ + auto foundElement = ReadEasyXMLObject(AccessString); + if (!foundElement) return DefaultValue; + + return foundElement->GetIntValue(DefaultValue); +} + + +float UEasyXMLElement::ReadFloat(const FString& AccessString, float DefaultValue) +{ + auto foundElement = ReadEasyXMLObject(AccessString); + if (!foundElement) return DefaultValue; + + return foundElement->GetFloatValue(DefaultValue); +} + +FString UEasyXMLElement::ReadString(const FString& AccessString, const FString& DefaultValue) +{ + auto foundElement = ReadEasyXMLObject(AccessString); + if (!foundElement) return DefaultValue; + + return foundElement->GetStringValue(DefaultValue); +} + +bool UEasyXMLElement::ReadBool(const FString& AccessString, bool DefaultValue) +{ + auto foundElement = ReadEasyXMLObject(AccessString); + if (!foundElement) return DefaultValue; + + return foundElement->GetBoolValue(DefaultValue); +} + +UEasyXMLElement* UEasyXMLElement::ReadElement(const FString& AccessString, EEasyXMLParserFound& Result) +{ + auto filterArray = ReadElements(AccessString, Result); + + return filterArray.Num() > 0 ? filterArray[0] : nullptr; +} + +TArray UEasyXMLElement::ReadElements(const FString& AccessString, EEasyXMLParserFound& Result) +{ + TArray foundElements; + + TArray Accessers; + AccessString.ParseIntoArray(Accessers, TEXT("."), true); + + Result = EEasyXMLParserFound::NotFound; + + auto parentNode = this; + + for (int i = 0; i < Accessers.Num(); ++i) + { + auto accesseName = Accessers[i]; + + if (accesseName.IsEmpty()) return foundElements; + + if (accesseName[0] == TEXT('@')) + { + return foundElements; + } + + FString elementName; + int32 arrayIndex = 0; + bool IsArrayAccess = IsAccessAsArray(accesseName, elementName, arrayIndex); + + auto filterNodes = parentNode->GetElementsByTagName(elementName); + + if (i == (Accessers.Num() - 1)) + { + if (IsArrayAccess) + { + if (filterNodes.Num() > arrayIndex) + { + foundElements.Emplace(filterNodes[arrayIndex]); + } + } + else + { + foundElements = filterNodes; + } + } + else + { + if (filterNodes.Num() > arrayIndex) + { + parentNode = filterNodes[arrayIndex]; + } + + if (!parentNode) return foundElements; + } + } + + Result = EEasyXMLParserFound::Found; + + return foundElements; +} + +UEasyXMLObject* UEasyXMLElement::ReadEasyXMLObject(const FString& AccessString) +{ + TArray Accessers; + AccessString.ParseIntoArray(Accessers, TEXT("."), true); + + auto parentNode = this; + + for (auto accesseName : Accessers) + { + if (!parentNode) return nullptr; + if (accesseName.IsEmpty()) return nullptr; + + if (accesseName[0] == TEXT('@')) + { + EEasyXMLParserFound retFound; + return parentNode->GetAttribute(accesseName.Mid(1), retFound); + } + + FString elementName; + int32 arrayIndex = 0; + IsAccessAsArray(accesseName, elementName, arrayIndex); + + auto filterNodes = parentNode->GetElementsByTagName(elementName); + if (filterNodes.Num() > arrayIndex) + { + parentNode = filterNodes[arrayIndex]; + } + else + { + return nullptr; + } + } + + return parentNode; +} + +TArray UEasyXMLElement::GetElementsByTagName(const FString& TagName) +{ + TArray foundElements = Children.FilterByPredicate( + [TagName](UEasyXMLElement* child) + { + return child->Name.Equals(TagName, ESearchCase::IgnoreCase); + }); + + return foundElements; +} + +UEasyXMLAttribute* UEasyXMLElement::GetAttribute(const FString& AtrributeName, EEasyXMLParserFound& Result) +{ + if (Attributes.Contains(AtrributeName)) + { + Result = EEasyXMLParserFound::Found; + return Attributes[AtrributeName]; + } + + Result = EEasyXMLParserFound::NotFound; + return nullptr; +} + +bool UEasyXMLElement::IsAccessAsArray(const FString& AccessName, FString& ElementName, int32& ArrayIndex) +{ + const FRegexPattern pattern = FRegexPattern(FString(TEXT("(.*)\\[([0-9]+)\\]$"))); + FRegexMatcher matcher(pattern, AccessName); + + while (matcher.FindNext()) + { + ElementName = matcher.GetCaptureGroup(1); + + FString numStr = matcher.GetCaptureGroup(2); + if (numStr.IsNumeric()) + { + ArrayIndex = (FCString::Atoi(*numStr)); + } + + return true; + } + + ElementName = AccessName; + ArrayIndex = 0; + + return false; +} + + + +bool UEasyXMLElement::IsContainAttributeKeys(const TArray& Keys, TArray& FoundAttributeKeys) +{ + TArray attributeKeys; + Attributes.GetKeys(attributeKeys); + + for (auto key : Keys) + { + bool found = false; + for (auto attributeKey : attributeKeys) + { + if (key.Equals(attributeKey, ESearchCase::IgnoreCase)) + { + found = true; + FoundAttributeKeys.Emplace(attributeKey); + } + + } + + if (!found) return false; + } + + return true; +} diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLObject.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLObject.cpp new file mode 100644 index 00000000..7529b009 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLObject.cpp @@ -0,0 +1,49 @@ +// Copyright 2019 ayumax. All Rights Reserved. + +#include "EasyXMLObject.h" +#include "Utils/CustomXMLParser.h" + +int32 UEasyXMLObject::GetIntValue(int32 DefaultValue) +{ + if (Value.IsEmpty()) return DefaultValue; + + int32 _index = 0; + + if (Value.IsNumeric() && !Value.FindChar(TEXT('.'), _index)) + { + return FCString::Atoi(*Value); + } + + return DefaultValue; +} + +float UEasyXMLObject::GetFloatValue(float DefaultValue) +{ + if (Value.IsEmpty()) return DefaultValue; + + auto isSuccess = Value.IsNumeric(); + return isSuccess ? FCString::Atof(*Value) : DefaultValue; +} + +FString UEasyXMLObject::GetStringValue(FString DefaultValue) +{ + if (Value.IsEmpty()) return DefaultValue; + + return Value; +} + +bool UEasyXMLObject::GetBoolValue(bool DefaultValue) +{ + if (Value.IsEmpty()) return DefaultValue; + + if (Value.Equals(TEXT("true"), ESearchCase::IgnoreCase)) + { + return true; + } + else if (Value.Equals(TEXT("false"), ESearchCase::IgnoreCase)) + { + return false; + } + + return DefaultValue; +} diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLParseManager.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLParseManager.cpp new file mode 100644 index 00000000..a2a24c69 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLParseManager.cpp @@ -0,0 +1,37 @@ +// Copyright 2019 ayumax. All Rights Reserved. + +#include "EasyXMLParseManager.h" +#include "Misc/Paths.h" +#include "Misc/FileHelper.h" +#include "EasyXMLElement.h" +#include "Utils/CustomXMLParser.h" + + +UEasyXMLElement* UEasyXMLParseManager::LoadFromString(const FString& XMLString, EEasyXMLParserErrorCode& Result, FString& ErrorMessage) +{ + CustomXMLParser parser; + FString _errorMessage; + + auto rootElement = parser.Parse(XMLString, _errorMessage); + Result = rootElement != nullptr ? EEasyXMLParserErrorCode::Successed : EEasyXMLParserErrorCode::Failed; + ErrorMessage = _errorMessage; + + return rootElement; +} + +UEasyXMLElement* UEasyXMLParseManager::LoadFromFile(const FString& FilePath, bool IsAblolute, EEasyXMLParserErrorCode& Result, FString& ErrorMessage) +{ + auto readPath = FilePath; + if (!IsAblolute) + { + readPath = FPaths::Combine(FPaths::ProjectContentDir(), FilePath); + } + + if (!FPaths::FileExists(readPath)) return nullptr; + + FString xmlString; + + FFileHelper::LoadFileToString(xmlString, *readPath); + + return LoadFromString(xmlString, Result, ErrorMessage); +} diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLParser.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLParser.cpp new file mode 100644 index 00000000..80f860da --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/EasyXMLParser.cpp @@ -0,0 +1,20 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "EasyXMLParser.h" + +#define LOCTEXT_NAMESPACE "FEasyXMLParserModule" + +void FEasyXMLParserModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module +} + +void FEasyXMLParserModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FEasyXMLParserModule, EasyXMLParser) \ No newline at end of file diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Tests/NodeAccessTest.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Tests/NodeAccessTest.cpp new file mode 100644 index 00000000..83ec705d --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Tests/NodeAccessTest.cpp @@ -0,0 +1,270 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#include "Misc/AutomationTest.h" +#include "EasyXMLParseManager.h" + +IMPLEMENT_SIMPLE_AUTOMATION_TEST(FNodeAccessTest, "EasyXMLParser.NodeAccessTest", EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::SmokeFilter) + +bool FNodeAccessTest::RunTest(const FString& Parameters) +{ + { + FString xmlString = TEXT("\r") + TEXT("\r") + TEXT("\r") + TEXT("123\r") + TEXT("\r") + TEXT("\r") + TEXT("40\r") + TEXT("ZZZZ\r") + TEXT("\r") + TEXT("bbbChild\r") + TEXT("\r") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.abc")), TEXT("123")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.abc[0]")), TEXT("123")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.abc[1]")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.abc[2]")), TEXT("40")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.abc[3]")), TEXT("ZZZZ")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.bbb")), TEXT("bbbChild")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.abc[0].@attr1")), TEXT("10")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("root.abc[0].@attr2")), TEXT("false")); + } + + return true; +} + + +IMPLEMENT_SIMPLE_AUTOMATION_TEST(FNodeAccessTest2, "EasyXMLParser.NodeAccessTest2", EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::SmokeFilter) + +bool FNodeAccessTest2::RunTest(const FString& Parameters) +{ + FString XMLSource = + TEXT("\r") + TEXT("
\r") + TEXT("Ellen Adams\r") + TEXT("123 Maple Street\r") + TEXT("Mill Valley\r") + TEXT("CA\r") + TEXT("10999\r") + TEXT("USA\r") + TEXT("
\r") + TEXT("
\r") + TEXT("Tai Yee\r") + TEXT("8 Oak Avenue\r") + TEXT("Old Town\r") + TEXT("PA\r") + TEXT("95819\r") + TEXT("USA\r") + TEXT("
\r") + TEXT("Please leave packages in shed by driveway.\r") + TEXT("\r") + TEXT("\r") + TEXT("Lawnmower\r") + TEXT("1\r") + TEXT("148.95\r") + TEXT("Confirm this is electric\r") + TEXT("\r") + TEXT("\r") + TEXT("Baby Monitor\r") + TEXT("2\r") + TEXT("39.98\r") + TEXT("1999-05-21\r") + TEXT("\r") + TEXT("\r") + TEXT("
\r"); + + { + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(XMLSource, result, errorMessage); + + TestEqual(TEXT("success read"), rootNode->ReadInt(TEXT("PurchaseOrder.@PurchaseOrderNumber")), 99503); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.@OrderDate")), TEXT("1999-10-20")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].@Type")), TEXT("Shipping")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].Name")), TEXT("Ellen Adams")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].Street")), TEXT("123 Maple Street")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].City")), TEXT("Mill Valley")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].State")), TEXT("CA")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].Zip")), TEXT("10999")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].Country")), TEXT("USA")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].@Type")), TEXT("Billing")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].Name")), TEXT("Tai Yee")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].Street")), TEXT("8 Oak Avenue")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].City")), TEXT("Old Town")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].State")), TEXT("PA")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].Zip")), TEXT("95819")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].Country")), TEXT("USA")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.DeliveryNotes")), TEXT("Please leave packages in shed by driveway.")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[0].@PartNumber")), TEXT("872-AA")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[0].ProductName")), TEXT("Lawnmower")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[0].Quantity")), TEXT("1")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[0].USPrice")), TEXT("148.95")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[0].Comment")), TEXT("Confirm this is electric")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[1].@PartNumber")), TEXT("926-AA")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[1].ProductName")), TEXT("Baby Monitor")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[1].Quantity")), TEXT("2")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[1].USPrice")), TEXT("39.98")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[1].ShipDate")), TEXT("1999-05-21")); + } + + { + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(XMLSource, result, errorMessage); + + EEasyXMLParserFound retFound; + auto Address0Node = rootNode->ReadElement(TEXT("PurchaseOrder.Address[0]"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + auto Address1Node = rootNode->ReadElement(TEXT("PurchaseOrder.Address[1]"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + auto Item0Node = rootNode->ReadElement(TEXT("PurchaseOrder.Items.Item[0]"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + auto Item1Node = rootNode->ReadElement(TEXT("PurchaseOrder.Items.Item[1]"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + + TestEqual(TEXT("success read"), rootNode->ReadInt(TEXT("PurchaseOrder.@PurchaseOrderNumber")), 99503); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.@OrderDate")), TEXT("1999-10-20")); + TestEqual(TEXT("success read"), Address0Node->ReadString(TEXT("@Type")), TEXT("Shipping")); + TestEqual(TEXT("success read"), Address0Node->ReadString(TEXT("Name")), TEXT("Ellen Adams")); + TestEqual(TEXT("success read"), Address0Node->ReadString(TEXT("Street")), TEXT("123 Maple Street")); + TestEqual(TEXT("success read"), Address0Node->ReadString(TEXT("City")), TEXT("Mill Valley")); + TestEqual(TEXT("success read"), Address0Node->ReadString(TEXT("State")), TEXT("CA")); + TestEqual(TEXT("success read"), Address0Node->ReadString(TEXT("Zip")), TEXT("10999")); + TestEqual(TEXT("success read"), Address0Node->ReadString(TEXT("Country")), TEXT("USA")); + TestEqual(TEXT("success read"), Address1Node->ReadString(TEXT("@Type")), TEXT("Billing")); + TestEqual(TEXT("success read"), Address1Node->ReadString(TEXT("Name")), TEXT("Tai Yee")); + TestEqual(TEXT("success read"), Address1Node->ReadString(TEXT("Street")), TEXT("8 Oak Avenue")); + TestEqual(TEXT("success read"), Address1Node->ReadString(TEXT("City")), TEXT("Old Town")); + TestEqual(TEXT("success read"), Address1Node->ReadString(TEXT("State")), TEXT("PA")); + TestEqual(TEXT("success read"), Address1Node->ReadString(TEXT("Zip")), TEXT("95819")); + TestEqual(TEXT("success read"), Address1Node->ReadString(TEXT("Country")), TEXT("USA")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.DeliveryNotes")), TEXT("Please leave packages in shed by driveway.")); + TestEqual(TEXT("success read"), Item0Node->ReadString(TEXT("@PartNumber")), TEXT("872-AA")); + TestEqual(TEXT("success read"), Item0Node->ReadString(TEXT("ProductName")), TEXT("Lawnmower")); + TestEqual(TEXT("success read"), Item0Node->ReadString(TEXT("Quantity")), TEXT("1")); + TestEqual(TEXT("success read"), Item0Node->ReadString(TEXT("USPrice")), TEXT("148.95")); + TestEqual(TEXT("success read"), Item0Node->ReadString(TEXT("Comment")), TEXT("Confirm this is electric")); + TestEqual(TEXT("success read"), Item1Node->ReadString(TEXT("@PartNumber")), TEXT("926-AA")); + TestEqual(TEXT("success read"), Item1Node->ReadString(TEXT("ProductName")), TEXT("Baby Monitor")); + TestEqual(TEXT("success read"), Item1Node->ReadString(TEXT("Quantity")), TEXT("2")); + TestEqual(TEXT("success read"), Item1Node->ReadString(TEXT("USPrice")), TEXT("39.98")); + TestEqual(TEXT("success read"), Item1Node->ReadString(TEXT("ShipDate")), TEXT("1999-05-21")); + } + + + { + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(XMLSource, result, errorMessage); + + EEasyXMLParserFound retFound; + auto AddressNodes = rootNode->ReadElements(TEXT("PurchaseOrder.Address"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + auto ItemNodes = rootNode->ReadElements(TEXT("PurchaseOrder.Items.Item"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("@Type")), TEXT("Shipping")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Name")), TEXT("Ellen Adams")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Street")), TEXT("123 Maple Street")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("City")), TEXT("Mill Valley")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("State")), TEXT("CA")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Zip")), TEXT("10999")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Country")), TEXT("USA")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("@Type")), TEXT("Billing")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Name")), TEXT("Tai Yee")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Street")), TEXT("8 Oak Avenue")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("City")), TEXT("Old Town")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("State")), TEXT("PA")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Zip")), TEXT("95819")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Country")), TEXT("USA")); + + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("@PartNumber")), TEXT("872-AA")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("ProductName")), TEXT("Lawnmower")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("Quantity")), TEXT("1")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("USPrice")), TEXT("148.95")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("Comment")), TEXT("Confirm this is electric")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("@PartNumber")), TEXT("926-AA")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("ProductName")), TEXT("Baby Monitor")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("Quantity")), TEXT("2")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("USPrice")), TEXT("39.98")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("ShipDate")), TEXT("1999-05-21")); + } + + { + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(XMLSource, result, errorMessage); + + TestEqual(TEXT("success read"), rootNode->ReadInt(TEXT("PurchaseOrder.PurchaseOrderNumber")), 0); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.OrderDate")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].Type")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].Name-")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrde-r.Address[0].Street")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address-[0].City")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0].State-")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder-.Address[0].Zip")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[0]-.Country")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1]-.@Type")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder-.Address[1].Name")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].Stree-t")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1]-.City")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder-.Address[1].State")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1].Zip-")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Address[1]-.Country")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder-.DeliveryNotes")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[0].@PartNumber-")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[0]-.ProductName")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items-.Item[0].Quantity")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[4].USPrice")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[-1].Comment")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[8].@PartNumber")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[99].ProductName")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[7].Quantity")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[555].USPrice")), TEXT("")); + TestEqual(TEXT("success read"), rootNode->ReadString(TEXT("PurchaseOrder.Items.Item[9999].ShipDate")), TEXT("")); + } + + { + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(XMLSource, result, errorMessage); + + EEasyXMLParserFound retFound; + auto AddressNodes = rootNode->ReadElements(TEXT("PurchaseOrder.Address"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + auto ItemNodes = rootNode->ReadElements(TEXT("PurchaseOrder.Items.Item"), retFound); + TestTrue(TEXT("success read"), retFound == EEasyXMLParserFound::Found); + + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("@Type-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Name-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Street-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("City-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("State-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Zip-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[0]->ReadString(TEXT("Country-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("@Type-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Name-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Street-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("City-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("State-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Zip-")), TEXT("")); + TestEqual(TEXT("success read"), AddressNodes[1]->ReadString(TEXT("Country-")), TEXT("")); + + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("@PartNumber-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("ProductName-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("Quantity-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("USPrice-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[0]->ReadString(TEXT("Comment-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("@PartNumber-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("ProductName-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("Quantity-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("USPrice-")), TEXT("")); + TestEqual(TEXT("success read"), ItemNodes[1]->ReadString(TEXT("ShipDate-")), TEXT("")); + } + + return true; +} \ No newline at end of file diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Tests/ReadValueTest.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Tests/ReadValueTest.cpp new file mode 100644 index 00000000..8a755649 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Tests/ReadValueTest.cpp @@ -0,0 +1,428 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#include "Misc/AutomationTest.h" +#include "EasyXMLParseManager.h" + +IMPLEMENT_SIMPLE_AUTOMATION_TEST(FReadValueTest_Int, "EasyXMLParser.ReadValueTest.Int", EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::SmokeFilter) + +bool FReadValueTest_Int::RunTest(const FString& Parameters) +{ + // parse success + { + FString xmlString = TEXT("\r") + TEXT("\r") + TEXT("\r") + TEXT("123\r") + TEXT("\r") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + TestEqual(TEXT("success read int"), rootNode->ReadInt(TEXT("root.abc"), 0), 123); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("-123") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + TestEqual(TEXT("success read int"), rootNode->ReadInt(TEXT("root.abc"), 0), -123); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("123456789") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read int"), rootNode->ReadInt(TEXT("root.abc"), 0), 123456789); + } + + + // parse ng(string) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("text") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("ng read int(string)"), rootNode->ReadInt(TEXT("root.abc"), 0), 0); + } + + // parse ng(float) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("3.14") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("ng read int(float)"), rootNode->ReadInt(TEXT("root.abc"), 0), 0); + } + + // parse ng(xml) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("") + TEXT("123") + TEXT("") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("ng read int(xml)"), rootNode->ReadInt(TEXT("root.abc"), 0), 0); + } + + + return true; +} + + +IMPLEMENT_SIMPLE_AUTOMATION_TEST(FReadValueTest_Float, "EasyXMLParser.ReadValueTest.Float", EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::SmokeFilter) + +bool FReadValueTest_Float::RunTest(const FString& Parameters) +{ + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("1.23") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read float"), rootNode->ReadFloat(TEXT("root.abc"), 0), 1.23f); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("-1.23") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read float"), rootNode->ReadFloat(TEXT("root.abc"), 0), -1.23f); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("123.456789") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read float"), rootNode->ReadFloat(TEXT("root.abc"), 0), 123.456789f); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("123") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read float"), rootNode->ReadFloat(TEXT("root.abc"), 0), 123.0f); + } + + + // parse ng(string) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("text") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("ng read float(string)"), rootNode->ReadFloat(TEXT("root.abc"), 0), 0.0f); + } + + // parse ng(xml) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("") + TEXT("1.23") + TEXT("") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("ng read float(xml)"), rootNode->ReadFloat(TEXT("root.abc"), 0), 0.0f); + } + + return true; +} + + +IMPLEMENT_SIMPLE_AUTOMATION_TEST(FReadValueTest_Bool, "EasyXMLParser.ReadValueTest.Bool", EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::SmokeFilter) + +bool FReadValueTest_Bool::RunTest(const FString& Parameters) +{ + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("True") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read bool"), rootNode->ReadBool(TEXT("root.abc"), false), true); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("tRue") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read bool"), rootNode->ReadBool(TEXT("root.abc"), false), true); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("False") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read bool"), rootNode->ReadBool(TEXT("root.abc"), true), false); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("fAlse") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read bool"), rootNode->ReadBool(TEXT("root.abc"), true), false); + } + + + // parse ng(string) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("text") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("ng read bool(string)"), rootNode->ReadBool(TEXT("root.abc"), false), false); + } + + // parse ng(xml) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("") + TEXT("true") + TEXT("") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("ng read bool(xml)"), rootNode->ReadBool(TEXT("root.abc"), false), false); + } + + return true; +} + + +IMPLEMENT_SIMPLE_AUTOMATION_TEST(FReadValueTest_String, "EasyXMLParser.ReadValueTest.String", EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::SmokeFilter) + +bool FReadValueTest_String::RunTest(const FString& Parameters) +{ + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("text") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read string"), rootNode->ReadString(TEXT("root.abc"), TEXT("")), TEXT("text")); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("123") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read string"), rootNode->ReadString(TEXT("root.abc"), TEXT("")), TEXT("123")); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("1.23") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read string"), rootNode->ReadString(TEXT("root.abc"), TEXT("")), TEXT("1.23")); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("true") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read string"), rootNode->ReadString(TEXT("root.abc"), TEXT("")), TEXT("true")); + } + + // parse success + { + FString xmlString = TEXT("") + TEXT("") + TEXT("false") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + + TestEqual(TEXT("success read string"), rootNode->ReadString(TEXT("root.abc"), TEXT("")), TEXT("false")); + } + + // parse ng(xml) + { + FString xmlString = TEXT("") + TEXT("") + TEXT("") + TEXT("text") + TEXT("") + TEXT("") + TEXT(""); + + EEasyXMLParserErrorCode result; + FString errorMessage; + auto rootNode = UEasyXMLParseManager::LoadFromString(xmlString, result, errorMessage); + + TestEqual(TEXT("success read string"), rootNode->ReadString(TEXT("root.abc"), TEXT("")), TEXT("")); + } + + return true; +} \ No newline at end of file diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Utils/CustomXMLParser.cpp b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Utils/CustomXMLParser.cpp new file mode 100644 index 00000000..935ab95b --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Utils/CustomXMLParser.cpp @@ -0,0 +1,83 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#include "CustomXMLParser.h" + +#include "Misc/FeedbackContext.h" +#include "EasyXMLElement.h" +#include "EasyXMLAttribute.h" + +CustomXMLParser::CustomXMLParser() +{ +} + +CustomXMLParser::~CustomXMLParser() +{ +} + +UEasyXMLElement *CustomXMLParser::Parse(FString xmlString, FString &ErrorMessage) +{ + RootElement = NewObject(); + XMLObjectStack.Emplace(RootElement); + + FText _errorMessage; + int32 _errorMessageNumber; + + if (!FFastXml::ParseXmlFile(this, TEXT(""), &xmlString[0], nullptr, false, false, _errorMessage, _errorMessageNumber)) + { + ErrorMessage = FString::Printf(TEXT("line=%d, %s"), _errorMessageNumber, *_errorMessage.ToString()); + return nullptr; + } + + return RootElement; +} + +bool CustomXMLParser::ProcessXmlDeclaration(const TCHAR *ElementData, int32 XmlFileLineNumber) +{ + return true; +} + +bool CustomXMLParser::ProcessElement(const TCHAR *ElementName, const TCHAR *ElementData, int32 XmlFileLineNumber) +{ + auto currentNode = XMLObjectStack.Num() > 0 ? XMLObjectStack.Last() : nullptr; + + auto newNode = UEasyXMLElement::CreateElement(currentNode, ElementName, ElementData, XmlFileLineNumber); + + if (currentNode) + { + currentNode->Children.Emplace(newNode); + } + + XMLObjectStack.Emplace(newNode); + + return true; +} + +bool CustomXMLParser::ProcessAttribute(const TCHAR *AttributeName, const TCHAR *AttributeValue) +{ + auto currentNode = XMLObjectStack.Last(); + + if (!currentNode) return false; + if (currentNode->Attributes.Contains(AttributeName)) return false; + + auto newAttribute = UEasyXMLAttribute::CreateAttribute(currentNode, AttributeName, AttributeValue); + currentNode->Attributes.Add(AttributeName, newAttribute); + + return true; +} + +bool CustomXMLParser::ProcessClose(const TCHAR *Element) +{ + if (XMLObjectStack.Num() == 0) return false; + + XMLObjectStack.RemoveAt(XMLObjectStack.Num() - 1); + + return true; +} + +bool CustomXMLParser::ProcessComment(const TCHAR *Comment) +{ + if (XMLObjectStack.Num() == 0) return false; + + XMLObjectStack.Last()->Comments.Emplace(Comment); + + return true; +} diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Utils/CustomXMLParser.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Utils/CustomXMLParser.h new file mode 100644 index 00000000..28545963 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Private/Utils/CustomXMLParser.h @@ -0,0 +1,68 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#pragma once + +#include "CoreMinimal.h" +#include "FastXml.h" + +class UEasyXMLElement; + +class CustomXMLParser : public IFastXmlCallback +{ +public: + CustomXMLParser(); + virtual ~CustomXMLParser(); + + UEasyXMLElement* Parse(FString xmlString, FString& ErrorMessage); + + /** + * Called after the XML's header is parsed. This is usually the first call that you'll get back. + * + * @param ElementData Optional data for this element, nullptr if none + * @param XmlFileLineNumber Line number in the XML file we're on + * + * @return You should return true to continue processing the file, or false to stop processing immediately. + */ + virtual bool ProcessXmlDeclaration(const TCHAR* ElementData, int32 XmlFileLineNumber) override; + + /** + * Called when a new XML element is encountered, starting a new scope. You'll receive a call to ProcessClose() + * when this element's scope has ended. + * + * @param ElementName The name of the element + * @param ElementData Optional data for this element, nullptr if none + * @param XmlFileLineNumber The line number in the XML file we're on + * + * @return You should return true to continue processing the file, or false to stop processing immediately. + */ + virtual bool ProcessElement(const TCHAR* ElementName, const TCHAR* ElementData, int32 XmlFileLineNumber) override; + + /** + * Called when an XML attribute is encountered for the current scope's element. + * + * @param AttributeName The name of the attribute + * @param AttributeValue The value of the attribute + * + * @return You should return true to continue processing the file, or false to stop processing immediately. + */ + virtual bool ProcessAttribute(const TCHAR* AttributeName, const TCHAR* AttributeValue) override; + + /** + * Called when an element's scope ends in the XML file + * + * @param ElementName Name of the element whose scope closed + * + * @return You should return true to continue processing the file, or false to stop processing immediately. + */ + virtual bool ProcessClose(const TCHAR* Element) override; + + /** + * Called when a comment is encountered. This can happen pretty much anywhere in the file. + * + * @param Comment The comment text + */ + virtual bool ProcessComment(const TCHAR* Comment) override; + +private: + TArray XMLObjectStack; + UEasyXMLElement* RootElement; +}; diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAsyncLoadFromFile.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAsyncLoadFromFile.h new file mode 100644 index 00000000..51b93e81 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAsyncLoadFromFile.h @@ -0,0 +1,40 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintAsyncActionBase.h" +#include "UObject/NoExportTypes.h" +#include "EasyXMLElement.h" +#include "EasyXMLAsyncLoadFromFile.generated.h" + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FEasyXMLAsyncLoadFromFile_Result, UEasyXMLElement*, XMLObject, FString, ErrorMessage); + + +UCLASS() +class EASYXMLPARSER_API UEasyXMLAsyncLoadFromFile : public UBlueprintAsyncActionBase +{ + GENERATED_BODY() + +public: + UPROPERTY(BlueprintAssignable) + FEasyXMLAsyncLoadFromFile_Result Successed; + + UPROPERTY(BlueprintAssignable) + FEasyXMLAsyncLoadFromFile_Result Failed; + +private: + UPROPERTY(Transient) + FString _XMLFile; + UPROPERTY(Transient) + bool _IsAblolute; + +public: + UEasyXMLAsyncLoadFromFile(const FObjectInitializer& ObjectInitializer); + + UFUNCTION(BlueprintCallable, Category = "EasyXMLParser", meta = (WorldContext = "WorldContextObject", BlueprintInternalUseOnly = "true")) + static UEasyXMLAsyncLoadFromFile * AsyncLoadFromFile(UObject * WorldContextObject, const FString& FilePath, bool IsAblolute); + + + virtual void Activate() override; + +}; \ No newline at end of file diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAsyncLoadFromString.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAsyncLoadFromString.h new file mode 100644 index 00000000..ebfa3872 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAsyncLoadFromString.h @@ -0,0 +1,38 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintAsyncActionBase.h" +#include "UObject/NoExportTypes.h" +#include "EasyXMLElement.h" +#include "EasyXMLAsyncLoadFromString.generated.h" + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FEasyXMLAsyncLoadFromString_Result, UEasyXMLElement*, XMLObject, FString, ErrorMessage); + + +UCLASS() +class EASYXMLPARSER_API UEasyXMLAsyncLoadFromString : public UBlueprintAsyncActionBase +{ + GENERATED_BODY() + +public: + UPROPERTY(BlueprintAssignable) + FEasyXMLAsyncLoadFromString_Result Successed; + + UPROPERTY(BlueprintAssignable) + FEasyXMLAsyncLoadFromString_Result Failed; + +private: + UPROPERTY(Transient) + FString _XMLString; + +public: + UEasyXMLAsyncLoadFromString(const FObjectInitializer& ObjectInitializer); + + UFUNCTION(BlueprintCallable, Category = "EasyXMLParser", meta = (WorldContext = "WorldContextObject", BlueprintInternalUseOnly = "true")) + static UEasyXMLAsyncLoadFromString* AsyncLoadFromString(UObject * WorldContextObject, const FString& XMLString); + + + virtual void Activate() override; + +}; \ No newline at end of file diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAttribute.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAttribute.h new file mode 100644 index 00000000..a89ebe49 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLAttribute.h @@ -0,0 +1,18 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#pragma once + +#include "CoreMinimal.h" +#include "EasyXMLObject.h" +#include "EasyXMLAttribute.generated.h" + +class UEasyXMLElement; + +UCLASS(BlueprintType, Blueprintable) +class EASYXMLPARSER_API UEasyXMLAttribute : public UEasyXMLObject +{ + GENERATED_BODY() + +public: + static UEasyXMLAttribute* CreateAttribute(UEasyXMLElement* ParentObject, FString Name, FString Value); + +}; diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLElement.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLElement.h new file mode 100644 index 00000000..c00af7e4 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLElement.h @@ -0,0 +1,62 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#pragma once + +#include "EasyXMLObject.h" +#include "EasyXMLParserEnums.h" +#include "EasyXMLElement.generated.h" + +class UEasyXMLAttribute; + +UCLASS(BlueprintType, Blueprintable) +class EASYXMLPARSER_API UEasyXMLElement : public UEasyXMLObject +{ + GENERATED_BODY() + +public: + static UEasyXMLElement* CreateElement(UEasyXMLObject* ParentObject, FString Tag, FString Content, int32 LineNumber); + +public: + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|ReadValue") + int32 ReadInt(const FString& AccessString, int32 DefaultValue = 0); + + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|ReadValue") + float ReadFloat(const FString& AccessString, float DefaultValue = 0.0f); + + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|ReadValue") + FString ReadString(const FString& AccessString, const FString& DefaultValue = TEXT("")); + + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|ReadValue") + bool ReadBool(const FString& AccessString, bool DefaultValue = false); + + UFUNCTION(BlueprintCallable, Category = "EasyXMLParser|ReadValue", meta = (ExpandEnumAsExecs = "Result")) + UEasyXMLElement* ReadElement(const FString& AccessString, EEasyXMLParserFound& Result); + + UFUNCTION(BlueprintCallable, Category = "EasyXMLParser|ReadValue", meta = (ExpandEnumAsExecs = "Result")) + TArray ReadElements(const FString& AccessString, EEasyXMLParserFound& Result); + + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|Object", meta = (ExpandEnumAsExecs = "Result")) + UEasyXMLAttribute* GetAttribute(const FString& AtrributeName, EEasyXMLParserFound& Result); + + +public: + UEasyXMLObject* ReadEasyXMLObject(const FString& AccessString); + TArray GetElementsByTagName(const FString& TagName); + bool IsContainAttributeKeys(const TArray& Keys, TArray& FoundAttributeKeys); + +private: + bool IsAccessAsArray(const FString& AccessName, FString& ElementName, int32& ArrayIndex); + + +public: + UPROPERTY(BlueprintReadOnly, Category = "EasyXMLParser|Object") + int32 LineNumber = 0; + + UPROPERTY(BlueprintReadOnly, Category = "EasyXMLParser|Object") + TArray Children; + + UPROPERTY(BlueprintReadOnly, Category = "EasyXMLParser|Object") + TMap Attributes; + + UPROPERTY(BlueprintReadOnly, Category = "EasyXMLParser|Object") + TArray Comments; +}; diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLObject.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLObject.h new file mode 100644 index 00000000..f1196515 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLObject.h @@ -0,0 +1,37 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#pragma once + +#include "CoreMinimal.h" +#include "UObject/NoExportTypes.h" +#include "EasyXMLObject.generated.h" + + +UCLASS(BlueprintType, Blueprintable) +class EASYXMLPARSER_API UEasyXMLObject : public UObject +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|GetValue") + int32 GetIntValue(int32 DefaultValue = 0); + + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|GetValue") + float GetFloatValue(float DefaultValue = 0.0f); + + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|GetValue") + FString GetStringValue(FString DefaultValue = TEXT("")); + + UFUNCTION(BlueprintPure, Category = "EasyXMLParser|GetValue") + bool GetBoolValue(bool DefaultValue = false); + +public: + UPROPERTY(BlueprintReadOnly, Category = "EasyXMLParser|Object") + FString Name = TEXT(""); + + UPROPERTY(BlueprintReadOnly, Category = "EasyXMLParser|Object") + FString Value = TEXT(""); + + UPROPERTY(BlueprintReadOnly, Category = "EasyXMLParser|Object") + UEasyXMLObject* Parent = nullptr; + +}; diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParseManager.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParseManager.h new file mode 100644 index 00000000..5c653471 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParseManager.h @@ -0,0 +1,36 @@ +// Copyright 2019 ayumax. All Rights Reserved. +#pragma once + +#include "CoreMinimal.h" +#include "UObject/NoExportTypes.h" +#include "EasyXMLElement.h" +#include "EasyXMLParserEnums.h" +#include "EasyXMLParseManager.generated.h" + +/** + * + */ +UCLASS(BlueprintType, Blueprintable) +class EASYXMLPARSER_API UEasyXMLParseManager : public UObject +{ + GENERATED_BODY() + +public: + /** + * load xml file + * @param FilePath - xml file path + * @param IsAblolute - true:FilePath is absolute path, false:Relative path from "Content" + * @return xml object + */ + UFUNCTION(BlueprintCallable, Category = "EasyXMLParser", meta = (ExpandEnumAsExecs = "Result")) + static UEasyXMLElement* LoadFromFile(const FString& FilePath, bool IsAblolute, EEasyXMLParserErrorCode& Result, FString& ErrorMessage); + + /** + * load xml string + * @param XMLString - xml file path + * @return xml object + */ + UFUNCTION(BlueprintCallable, Category = "EasyXMLParser", meta = (ExpandEnumAsExecs = "Result")) + static UEasyXMLElement* LoadFromString(const FString& XMLString, EEasyXMLParserErrorCode& Result, FString& ErrorMessage); + +}; diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParser.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParser.h new file mode 100644 index 00000000..2a386922 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParser.h @@ -0,0 +1,15 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +class FEasyXMLParserModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParserEnums.h b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParserEnums.h new file mode 100644 index 00000000..f3edc900 --- /dev/null +++ b/plugins/EasyXMLParser/Source/EasyXMLParser/Public/EasyXMLParserEnums.h @@ -0,0 +1,19 @@ +// Copyright 2019 ayumax. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +UENUM(BlueprintType) +enum class EEasyXMLParserErrorCode : uint8 +{ + Successed, + Failed +}; + +UENUM(BlueprintType) +enum class EEasyXMLParserFound : uint8 +{ + Found, + NotFound +}; \ No newline at end of file diff --git a/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.dll b/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.dll index 6f7a0c79..d0ef1c3d 100644 Binary files a/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.dll and b/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.dll differ diff --git a/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.pdb b/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.pdb index 85b44303..29db8c12 100644 Binary files a/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.pdb and b/plugins/JPrinter/Binaries/Win64/UE4Editor-JPrinter.pdb differ diff --git a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.cpp.obj b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.cpp.obj index 979b79e1..f3a45096 100644 Binary files a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.cpp.obj and b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.cpp.obj differ diff --git a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.gen.cpp.obj b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.gen.cpp.obj index b707f94f..c290cd54 100644 Binary files a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.gen.cpp.obj and b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Development/JPrinter/Module.JPrinter.gen.cpp.obj differ diff --git a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/JPrinterBPLibrary.generated.h b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/JPrinterBPLibrary.generated.h index 857f7258..d7a9aa7e 100644 --- a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/JPrinterBPLibrary.generated.h +++ b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/JPrinterBPLibrary.generated.h @@ -15,8 +15,8 @@ enum class EPaperSize : uint8; #endif #define JPRINTER_JPrinterBPLibrary_generated_h -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_SPARSE_DATA -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_SPARSE_DATA +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS \ \ DECLARE_FUNCTION(execprintTexture2D); \ DECLARE_FUNCTION(execprintImage); \ @@ -24,7 +24,7 @@ enum class EPaperSize : uint8; DECLARE_FUNCTION(execgetPrinterList); -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS_NO_PURE_DECLS \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS_NO_PURE_DECLS \ \ DECLARE_FUNCTION(execprintTexture2D); \ DECLARE_FUNCTION(execprintImage); \ @@ -32,7 +32,7 @@ enum class EPaperSize : uint8; DECLARE_FUNCTION(execgetPrinterList); -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS_NO_PURE_DECLS \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS_NO_PURE_DECLS \ private: \ static void StaticRegisterNativesUJPrinterBPLibrary(); \ friend struct Z_Construct_UClass_UJPrinterBPLibrary_Statics; \ @@ -41,7 +41,7 @@ public: \ DECLARE_SERIALIZER(UJPrinterBPLibrary) -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS \ private: \ static void StaticRegisterNativesUJPrinterBPLibrary(); \ friend struct Z_Construct_UClass_UJPrinterBPLibrary_Statics; \ @@ -50,7 +50,7 @@ public: \ DECLARE_SERIALIZER(UJPrinterBPLibrary) -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_STANDARD_CONSTRUCTORS \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_STANDARD_CONSTRUCTORS \ /** Standard constructor, called after all reflected properties have been initialized */ \ NO_API UJPrinterBPLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \ DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UJPrinterBPLibrary) \ @@ -63,7 +63,7 @@ private: \ public: -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_ENHANCED_CONSTRUCTORS \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_ENHANCED_CONSTRUCTORS \ /** Standard constructor, called after all reflected properties have been initialized */ \ NO_API UJPrinterBPLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()) : Super(ObjectInitializer) { }; \ private: \ @@ -76,28 +76,28 @@ public: \ DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UJPrinterBPLibrary) -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_PRIVATE_PROPERTY_OFFSET -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_43_PROLOG -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_GENERATED_BODY_LEGACY \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_PRIVATE_PROPERTY_OFFSET +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_43_PROLOG +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_GENERATED_BODY_LEGACY \ PRAGMA_DISABLE_DEPRECATION_WARNINGS \ public: \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_PRIVATE_PROPERTY_OFFSET \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_SPARSE_DATA \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_STANDARD_CONSTRUCTORS \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_PRIVATE_PROPERTY_OFFSET \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_SPARSE_DATA \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_STANDARD_CONSTRUCTORS \ public: \ PRAGMA_ENABLE_DEPRECATION_WARNINGS -#define Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_GENERATED_BODY \ +#define SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_GENERATED_BODY \ PRAGMA_DISABLE_DEPRECATION_WARNINGS \ public: \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_PRIVATE_PROPERTY_OFFSET \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_SPARSE_DATA \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS_NO_PURE_DECLS \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS_NO_PURE_DECLS \ - Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_ENHANCED_CONSTRUCTORS \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_PRIVATE_PROPERTY_OFFSET \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_SPARSE_DATA \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_RPC_WRAPPERS_NO_PURE_DECLS \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_INCLASS_NO_PURE_DECLS \ + SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h_46_ENHANCED_CONSTRUCTORS \ static_assert(false, "Unknown access specifier for GENERATED_BODY() macro in class JPrinterBPLibrary."); \ PRAGMA_ENABLE_DEPRECATION_WARNINGS @@ -105,7 +105,7 @@ PRAGMA_ENABLE_DEPRECATION_WARNINGS template<> JPRINTER_API UClass* StaticClass(); #undef CURRENT_FILE_ID -#define CURRENT_FILE_ID Ivazowsky_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h +#define CURRENT_FILE_ID SibIntel_Plugins_JPrinter_Source_JPrinter_Public_JPrinterBPLibrary_h #define FOREACH_ENUM_EPAPERSIZE(op) \ diff --git a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/Timestamp b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/Timestamp index ad1d15de..23925537 100644 --- a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/Timestamp +++ b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Inc/JPrinter/Timestamp @@ -1 +1 @@ -E:\Projects\Ivazowsky\Plugins\JPrinter\Source\JPrinter\Public\JPrinterBPLibrary.h +E:\Projects\SibIntel\Plugins\JPrinter\Source\JPrinter\Public\JPrinterBPLibrary.h diff --git a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.cpp.obj b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.cpp.obj index dd84c261..a1a0a9d4 100644 Binary files a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.cpp.obj and b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.cpp.obj differ diff --git a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.gen.cpp.obj b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.gen.cpp.obj index 9bd08daf..bb9239ac 100644 Binary files a/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.gen.cpp.obj and b/plugins/JPrinter/Intermediate/Build/Win64/UE4/Shipping/JPrinter/Module.JPrinter.gen.cpp.obj differ diff --git a/plugins/JPrinter/Intermediate/Build/Win64/UE4Editor/Development/JPrinter/UE4Editor-JPrinter.lib b/plugins/JPrinter/Intermediate/Build/Win64/UE4Editor/Development/JPrinter/UE4Editor-JPrinter.lib index a4c57922..3221bace 100644 Binary files a/plugins/JPrinter/Intermediate/Build/Win64/UE4Editor/Development/JPrinter/UE4Editor-JPrinter.lib and b/plugins/JPrinter/Intermediate/Build/Win64/UE4Editor/Development/JPrinter/UE4Editor-JPrinter.lib differ diff --git a/plugins/JPrinter/JPrinter.uplugin b/plugins/JPrinter/JPrinter.uplugin index 385a3649..980a408c 100644 --- a/plugins/JPrinter/JPrinter.uplugin +++ b/plugins/JPrinter/JPrinter.uplugin @@ -10,7 +10,7 @@ "DocsURL": "", "MarketplaceURL": "", "SupportURL": "", - "EngineVersion": "4.27.0", + "EngineVersion": "5.1.0", "CanContainContent": false, "Installed": true, "Modules": [ diff --git a/plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.dll b/plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.dll deleted file mode 100644 index 4b446a71..00000000 Binary files a/plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.pdb b/plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.pdb deleted file mode 100644 index 2c82100c..00000000 Binary files a/plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.pdb and /dev/null differ diff --git a/plugins/UnrealCLR/Binaries/Win64/UE4Editor.modules b/plugins/UnrealCLR/Binaries/Win64/UE4Editor.modules deleted file mode 100644 index 706e8d51..00000000 --- a/plugins/UnrealCLR/Binaries/Win64/UE4Editor.modules +++ /dev/null @@ -1,7 +0,0 @@ -{ - "BuildId": "17155196", - "Modules": - { - "UnrealCLR": "UE4Editor-UnrealCLR.dll" - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Managed/Microsoft.DotNet.PlatformAbstractions.dll b/plugins/UnrealCLR/Managed/Microsoft.DotNet.PlatformAbstractions.dll deleted file mode 100644 index 558229b6..00000000 Binary files a/plugins/UnrealCLR/Managed/Microsoft.DotNet.PlatformAbstractions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Managed/Microsoft.Extensions.DependencyModel.dll b/plugins/UnrealCLR/Managed/Microsoft.Extensions.DependencyModel.dll deleted file mode 100644 index 921622d5..00000000 Binary files a/plugins/UnrealCLR/Managed/Microsoft.Extensions.DependencyModel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Managed/UnrealEngine.Plugins.dll b/plugins/UnrealCLR/Managed/UnrealEngine.Plugins.dll deleted file mode 100644 index e9df7e11..00000000 Binary files a/plugins/UnrealCLR/Managed/UnrealEngine.Plugins.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Managed/UnrealEngine.Plugins.pdb b/plugins/UnrealCLR/Managed/UnrealEngine.Plugins.pdb deleted file mode 100644 index d6ed6328..00000000 Binary files a/plugins/UnrealCLR/Managed/UnrealEngine.Plugins.pdb and /dev/null differ diff --git a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.deps.json b/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.deps.json deleted file mode 100644 index c1cf0890..00000000 --- a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.deps.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v5.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v5.0": { - "UnrealEngine.Runtime/1.0.0": { - "dependencies": { - "Microsoft.CodeAnalysis.NetAnalyzers": "5.0.3", - "UnrealEngine.Plugins": "1.0.0.0" - }, - "runtime": { - "UnrealEngine.Runtime.dll": {} - } - }, - "Microsoft.CodeAnalysis.NetAnalyzers/5.0.3": {}, - "UnrealEngine.Plugins/1.0.0.0": { - "runtime": { - "UnrealEngine.Plugins.dll": { - "assemblyVersion": "1.0.0.0", - "fileVersion": "1.0.0.0" - } - } - }, - "Microsoft.Extensions.DependencyModel/5.0.0.0": { - "runtime": { - "Microsoft.Extensions.DependencyModel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.20.51904" - } - } - }, - "Microsoft.DotNet.PlatformAbstractions/3.1.6.0": { - "runtime": { - "Microsoft.DotNet.PlatformAbstractions.dll": { - "assemblyVersion": "3.1.6.0", - "fileVersion": "3.100.620.31604" - } - } - } - } - }, - "libraries": { - "UnrealEngine.Runtime/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Microsoft.CodeAnalysis.NetAnalyzers/5.0.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7rw0JUPSAVGR0HPekQiQvwGPor44p/Ek21+wZABraG4bVYNrSkx98ZZsxSxG5jJ4oqjACJxea8E62UO0dsKDBw==", - "path": "microsoft.codeanalysis.netanalyzers/5.0.3", - "hashPath": "microsoft.codeanalysis.netanalyzers.5.0.3.nupkg.sha512" - }, - "UnrealEngine.Plugins/1.0.0.0": { - "type": "reference", - "serviceable": false, - "sha512": "" - }, - "Microsoft.Extensions.DependencyModel/5.0.0.0": { - "type": "reference", - "serviceable": false, - "sha512": "" - }, - "Microsoft.DotNet.PlatformAbstractions/3.1.6.0": { - "type": "reference", - "serviceable": false, - "sha512": "" - } - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.dll b/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.dll deleted file mode 100644 index a447cbeb..00000000 Binary files a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.pdb b/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.pdb deleted file mode 100644 index 788ee25e..00000000 Binary files a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.pdb and /dev/null differ diff --git a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.runtimeconfig.json b/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.runtimeconfig.json deleted file mode 100644 index ebf64f4d..00000000 --- a/plugins/UnrealCLR/Managed/UnrealEngine.Runtime.runtimeconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net5.0", - "rollForward": "LatestMinor", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "5.0.0" - }, - "configProperties": { - "System.GC.Server": false, - "System.Runtime.TieredCompilation": false - } - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Resources/Icon128.png b/plugins/UnrealCLR/Resources/Icon128.png deleted file mode 100644 index d409f7d7..00000000 Binary files a/plugins/UnrealCLR/Resources/Icon128.png and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/LICENSE.txt b/plugins/UnrealCLR/Runtime/Linux/LICENSE.txt deleted file mode 100644 index 984713a4..00000000 --- a/plugins/UnrealCLR/Runtime/Linux/LICENSE.txt +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugins/UnrealCLR/Runtime/Linux/ThirdPartyNotices.txt b/plugins/UnrealCLR/Runtime/Linux/ThirdPartyNotices.txt deleted file mode 100644 index b8d644c4..00000000 --- a/plugins/UnrealCLR/Runtime/Linux/ThirdPartyNotices.txt +++ /dev/null @@ -1,1219 +0,0 @@ -.NET Runtime uses third-party libraries or other resources that may be -distributed under licenses different than the .NET Runtime software. - -In the event that we accidentally failed to list a required notice, please -bring it to our attention. Post an issue or email us: - - dotnet@microsoft.com - -The attached notices are provided for information only. - -License notice for ASP.NET -------------------------------- - -Copyright (c) .NET Foundation. All rights reserved. -Licensed under the Apache License, Version 2.0. - -Available at -https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt - -License notice for Slicing-by-8 -------------------------------- - -http://sourceforge.net/projects/slicing-by-8/ - -Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - - -This software program is licensed subject to the BSD License, available at -http://www.opensource.org/licenses/bsd-license.html. - -License notice for Unicode data -------------------------------- - -https://www.unicode.org/license.html - -Copyright © 1991-2020 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - -License notice for Zlib ------------------------ - -https://github.com/madler/zlib -http://zlib.net/zlib_license.html - -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -*/ - -License notice for Mono -------------------------------- - -http://www.mono-project.com/docs/about-mono/ - -Copyright (c) .NET Foundation Contributors - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the Software), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for International Organization for Standardization ------------------------------------------------------------------ - -Portions (C) International Organization for Standardization 1986: - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. - -License notice for Intel ------------------------- - -"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xamarin and Novell -------------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Third party notice for W3C --------------------------- - -"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE -Status: This license takes effect 13 May, 2015. -This work is being provided by the copyright holders under the following license. -License -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: -The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." - -License notice for Bit Twiddling Hacks --------------------------------------- - -Bit Twiddling Hacks - -By Sean Eron Anderson -seander@cs.stanford.edu - -Individually, the code snippets here are in the public domain (unless otherwise -noted) — feel free to use them however you please. The aggregate collection and -descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are -distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and -without even the implied warranty of merchantability or fitness for a particular -purpose. - -License notice for Brotli --------------------------------------- - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -compress_fragment.c: -Copyright (c) 2011, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -decode_fuzzer.c: -Copyright (c) 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - -License notice for Json.NET -------------------------------- - -https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md - -The MIT License (MIT) - -Copyright (c) 2007 James Newton-King - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized base64 encoding / decoding --------------------------------------------------------- - -Copyright (c) 2005-2007, Nick Galbreath -Copyright (c) 2013-2017, Alfred Klomp -Copyright (c) 2015-2017, Wojciech Mula -Copyright (c) 2016-2017, Matthieu Darbois -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for RFC 3492 ---------------------------- - -The punycode implementation is based on the sample code in RFC 3492 - -Copyright (C) The Internet Society (2003). All Rights Reserved. - -This document and translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it -or assist in its implementation may be prepared, copied, published -and distributed, in whole or in part, without restriction of any -kind, provided that the above copyright notice and this paragraph are -included on all such copies and derivative works. However, this -document itself may not be modified in any way, such as by removing -the copyright notice or references to the Internet Society or other -Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for -copyrights defined in the Internet Standards process must be -followed, or as required to translate it into languages other than -English. - -The limited permissions granted above are perpetual and will not be -revoked by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an -"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" ---------------------------------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, or Digital Equipment Corporation be used in advertising -or publicity pertaining to distribution of the software without -specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment -Corporation makes any representations about the suitability of -this software for any purpose. - -Copyright(C) The Internet Society 1997. All Rights Reserved. - -This document and translations of it may be copied and furnished to others, -and derivative works that comment on or otherwise explain it or assist in -its implementation may be prepared, copied, published and distributed, in -whole or in part, without restriction of any kind, provided that the above -copyright notice and this paragraph are included on all such copies and -derivative works.However, this document itself may not be modified in any -way, such as by removing the copyright notice or references to the Internet -Society or other Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for copyrights -defined in the Internet Standards process must be followed, or as required -to translate it into languages other than English. - -The limited permissions granted above are perpetual and will not be revoked -by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an "AS IS" -basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE -DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY -RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A -PARTICULAR PURPOSE. - -License notice for Algorithm from RFC 4122 - -A Universally Unique IDentifier (UUID) URN Namespace ----------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -Copyright (c) 1998 Microsoft. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, Microsoft, or Digital Equipment Corporation be used in -advertising or publicity pertaining to distribution of the software -without specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital -Equipment Corporation makes any representations about the -suitability of this software for any purpose." - -License notice for The LLVM Compiler Infrastructure ---------------------------------------------------- - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. - -License notice for Bob Jenkins ------------------------------- - -By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this -code any way you wish, private, educational, or commercial. It's free. - -License notice for Greg Parker ------------------------------- - -Greg Parker gparker@cs.stanford.edu December 2000 -This code is in the public domain and may be copied or modified without -permission. - -License notice for libunwind based code ----------------------------------------- - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for Printing Floating-Point Numbers (Dragon4) ------------------------------------------------------------- - -/****************************************************************************** - Copyright (c) 2014 Ryan Juckett - http://www.ryanjuckett.com/ - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -******************************************************************************/ - -License notice for Printing Floating-point Numbers (Grisu3) ------------------------------------------------------------ - -Copyright 2012 the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for xxHash -------------------------- - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Berkeley SoftFloat Release 3e ------------------------------------------------- - -https://github.com/ucb-bar/berkeley-softfloat-3 -https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt - -License for Berkeley SoftFloat Release 3e - -John R. Hauser -2018 January 20 - -The following applies to the whole of SoftFloat Release 3e as well as to -each source file individually. - -Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the -University of California. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xorshift RNGs --------------------------------- - -George Marsaglia -2003-07-04 -Journal of Statistical Software -License: http://creativecommons.org/licenses/by/3.0/ - -https://www.jstatsoft.org/article/view/v008i14 -https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf - -License notice for Xorshift (Wikipedia) ---------------------------------------- - -https://en.wikipedia.org/wiki/Xorshift -License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License - -License for fastmod (https://github.com/lemire/fastmod) --------------------------------------- - - Copyright 2018 Daniel Lemire - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -License notice for The C++ REST SDK ------------------------------------ - -C++ REST SDK - -The MIT License (MIT) - -Copyright (c) Microsoft Corporation - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for MessagePack-CSharp -------------------------------------- - -MessagePack for C# - -MIT License - -Copyright (c) 2017 Yoshifumi Kawai - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for lz4net -------------------------------------- - -lz4net - -Copyright (c) 2013-2017, Milosz Krajewski - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Nerdbank.Streams ------------------------------------ - -The MIT License (MIT) - -Copyright (c) Andrew Arnott - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for RapidJSON ----------------------------- - -Tencent is pleased to support the open source community by making RapidJSON available. - -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - -Licensed under the MIT License (the "License"); you may not use this file except -in compliance with the License. You may obtain a copy of the License at - -http://opensource.org/licenses/MIT - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - -License notice for DirectX Math Library ---------------------------------------- - -https://github.com/microsoft/DirectXMath/blob/master/LICENSE - - The MIT License (MIT) - -Copyright (c) 2011-2020 Microsoft Corp - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be included in all copies -or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF -CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for ldap4net ---------------------------- - -The MIT License (MIT) - -Copyright (c) 2018 Alexander Chermyanin - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized sorting code ------------------------------------------- - -MIT License - -Copyright (c) 2020 Dan Shechter - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for Angular v8.0 --------------------------------------------- -The MIT License (MIT) -===================== - -Copyright (c) 2010-2019 Google LLC. http://angular.io/license - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -License notice for corefx - -License notice for BedrockFramework -=================================== - -MIT License - -Copyright (c) 2019 David Fowler - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for Swashbuckle -=================================== - -The MIT License (MIT) - -Copyright (c) 2016 Richard Morris - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for cli-spinners -============================================= - -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for dotnet-deb-tool ------------------------------------- - -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for IIS-Common ------------------------------------- - -MIT License - -Copyright (c) Microsoft Corporation. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - -License notice for IIS-Setup ------------------------------------- - -MIT License - -Copyright (c) Microsoft Corporation. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - -License notice for LZMA SDK ---------------------------- - -http://7-zip.org/sdk.html - -LZMA SDK is placed in the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or distribute the -original LZMA SDK code, either in source code form or as a compiled binary, -for any purpose, commercial or non-commercial, and by any means. - -License notice for MonoDevelop ------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -License notice for Nuget.Client -------------------------------- - -Copyright (c) .NET Foundation. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -these files except in compliance with the License. You may obtain a copy of the -License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - -License notice for Ookie.Dialogs --------------------------------- - -http://www.ookii.org/software/dialogs/ - -Copyright © Sven Groot (Ookii.org) 2009 -All rights reserved. - - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1) Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2) Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3) Neither the name of the ORGANIZATION nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - -License notice for viz.js ------------------------------------- - -Copyright (c) 2014-2018 Michael Daines - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for West Wind Live Reload ASP.NET Core Middleware -============================================= - - - ---- - -lz4net - -Copyright (c) 2013-2017, Milosz Krajewski - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -MIT License ------------ - -Copyright (c) 2019-2020 West Wind Technologies - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/plugins/UnrealCLR/Runtime/Linux/host/fxr/5.0.9/libhostfxr.so b/plugins/UnrealCLR/Runtime/Linux/host/fxr/5.0.9/libhostfxr.so deleted file mode 100644 index 758a5ab2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/host/fxr/5.0.9/libhostfxr.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/.version b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/.version deleted file mode 100644 index aaa309c1..00000000 --- a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/.version +++ /dev/null @@ -1,2 +0,0 @@ -208e377a5329ad6eb1db5e5fb9d4590fa50beadd -5.0.9 diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll deleted file mode 100644 index b1f0bec7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json deleted file mode 100644 index 493ef01b..00000000 --- a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json +++ /dev/null @@ -1,5755 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v5.0/linux-x64", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v5.0": {}, - ".NETCoreApp,Version=v5.0/linux-x64": { - "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {}, - "Microsoft.DiaSymReader.Native/1.7.0": {}, - "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": {}, - "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": {}, - "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": {}, - "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { - "dependencies": { - "Microsoft.NETCore.DotNetHostPolicy": "5.0.9", - "Microsoft.NETCore.Platforms": "5.0.0", - "Microsoft.NETCore.Targets": "5.0.0", - "NETStandard.Library": "2.2.0-prerelease.19564.1", - "runtime.linux-x64.Microsoft.NETCore.App": "5.0.9-servicing.21359.8" - } - }, - "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "dependencies": { - "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy": "5.0.9" - } - }, - "Microsoft.NETCore.Platforms/5.0.0": {}, - "Microsoft.NETCore.Targets/5.0.0": {}, - "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": {}, - "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", - "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" - } - }, - "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {}, - "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", - "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" - } - }, - "NETStandard.Library/2.2.0-prerelease.19564.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "runtime.linux-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "runtime": { - "runtimes/linux-x64/lib/net5.0/Microsoft.CSharp.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/Microsoft.VisualBasic.Core.dll": { - "assemblyVersion": "10.0.6.0", - "fileVersion": "11.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/Microsoft.VisualBasic.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/Microsoft.Win32.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/Microsoft.Win32.Registry.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.AppContext.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Buffers.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Collections.Concurrent.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Collections.Immutable.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Collections.NonGeneric.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Collections.Specialized.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Collections.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ComponentModel.Annotations.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ComponentModel.DataAnnotations.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ComponentModel.EventBasedAsync.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ComponentModel.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ComponentModel.TypeConverter.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ComponentModel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Configuration.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Console.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Core.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Data.Common.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Data.DataSetExtensions.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Data.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Contracts.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Debug.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.DiagnosticSource.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.FileVersionInfo.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Process.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.StackTrace.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.TextWriterTraceListener.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Tools.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.TraceSource.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Tracing.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Drawing.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Drawing.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Dynamic.Runtime.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Formats.Asn1.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Globalization.Calendars.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Globalization.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Globalization.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.Compression.Brotli.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.Compression.FileSystem.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.Compression.ZipFile.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.Compression.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.DriveInfo.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.Watcher.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.IsolatedStorage.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.MemoryMappedFiles.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.Pipes.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.Pipes.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.UnmanagedMemoryStream.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.IO.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Linq.Expressions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Linq.Parallel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Linq.Queryable.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Linq.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Memory.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Http.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Http.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.HttpListener.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Mail.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.NameResolution.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.NetworkInformation.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Ping.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Requests.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Security.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.ServicePoint.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.Sockets.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.WebClient.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.WebHeaderCollection.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.WebProxy.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.WebSockets.Client.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.WebSockets.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Net.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Numerics.Vectors.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Numerics.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ObjectModel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Private.DataContractSerialization.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Private.Uri.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Private.Xml.Linq.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Private.Xml.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.DispatchProxy.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.Emit.ILGeneration.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.Emit.Lightweight.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.Emit.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.Metadata.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.TypeExtensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Reflection.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Resources.Reader.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Resources.ResourceManager.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Resources.Writer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.CompilerServices.Unsafe.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.CompilerServices.VisualC.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Handles.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.InteropServices.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Intrinsics.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Loader.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Numerics.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Formatters.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Xml.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Runtime.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Claims.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Algorithms.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Cng.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Csp.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Encoding.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.OpenSsl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.X509Certificates.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Principal.Windows.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.Principal.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.SecureString.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Security.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ServiceModel.Web.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ServiceProcess.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Text.Encoding.CodePages.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Text.Encoding.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Text.Encoding.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Text.Encodings.Web.dll": { - "assemblyVersion": "5.0.0.1", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Text.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Text.RegularExpressions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Channels.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Overlapped.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.Dataflow.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.Parallel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Thread.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.ThreadPool.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.Timer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Threading.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Transactions.Local.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Transactions.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.ValueTuple.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Web.HttpUtility.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Web.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Windows.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.Linq.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.ReaderWriter.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.Serialization.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.XDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.XPath.XDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.XPath.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.XmlDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.XmlSerializer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.Xml.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/System.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/WindowsBase.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/mscorlib.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/lib/net5.0/netstandard.dll": { - "assemblyVersion": "2.1.0.0", - "fileVersion": "5.0.921.35908" - } - }, - "native": { - "runtimes/linux-x64/native/System.Private.CoreLib.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/linux-x64/native/createdump": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.IO.Compression.Native.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.IO.Compression.Native.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.Native.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.Native.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.Net.Security.Native.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.Net.Security.Native.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libclrjit.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libcoreclr.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libcoreclrtraceptprovider.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libdbgshim.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libmscordaccore.so": { - "fileVersion": "0.0.0.0" - }, - "runtimes/linux-x64/native/libmscordbi.so": { - "fileVersion": "0.0.0.0" - } - } - }, - "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "native": { - "runtimes/linux-x64/native/libhostpolicy.so": { - "fileVersion": "0.0.0.0" - } - } - } - } - }, - "libraries": { - "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hZ9leS9Yd9MHpqvviMftSJFDcLYu2h1DrapW1TDm1s1fgOy71c8HvArNMd3fseVkXmp3VTfGnkgcw0FR+TI6xw==", - "path": "microsoft.build.tasks.git/1.1.0-beta-20206-02", - "hashPath": "microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.DiaSymReader.Native/1.7.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vIzndj0MoWW2Mp/iztUSKvmR9vZTqOVQ6PBvwA57+CDoiz7eUMU15rrAX+/QA0bkmwQ08GRibFBB9LNOl0EiBA==", - "path": "microsoft.diasymreader.native/1.7.0", - "hashPath": "microsoft.diasymreader.native.1.7.0.nupkg.sha512" - }, - "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-68fxMTtraSXCUYZx7vNVb9PvIJ9FhPjymbvrkl/6h7S/NlQz6bxyZksTd6ghMs4gyQLHRCuDX/O/dT6Gd6qIag==", - "path": "microsoft.dotnet.build.tasks.installers/5.0.0-beta.21328.3", - "hashPath": "microsoft.dotnet.build.tasks.installers.5.0.0-beta.21328.3.nupkg.sha512" - }, - "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rswwdycY3QmJ3DvyOGVMHDdZxxnE76MQFWZWqhniJqgbXPefQnXvDF4YXgCPnAENDYtsjohpaav1XDEyt84UHw==", - "path": "microsoft.dotnet.build.tasks.packaging/5.0.0-beta.21328.3", - "hashPath": "microsoft.dotnet.build.tasks.packaging.5.0.0-beta.21328.3.nupkg.sha512" - }, - "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jfscID/5IHHPVVEbFCAJEUEWCeWNZCLwyBcUFG3/u44oiRd/aseDOYRzl3OnIIvcwzi0U2lSAs6Lt2+rdRIDMg==", - "path": "microsoft.net.compilers.toolset/3.8.0-4.20503.2", - "hashPath": "microsoft.net.compilers.toolset.3.8.0-4.20503.2.nupkg.sha512" - }, - "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dNmmZC388Q68OmuVYXyqSJBRuDRxsdLvbXeg2CSi6E27HqkkZH06rcDzgr/UH+o4GctsGSwAGbSVjEDigXFbog==", - "path": "microsoft.netcore.app/5.0.9-servicing.21359.8", - "hashPath": "microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-87X5XiPwSaqvFP68pYvzk3FCufsWUzSL95F7Qudx2fcfwhr/Hu4A90AUhfFHftShB4Ai3jFnTKURz79fwpiBlQ==", - "path": "microsoft.netcore.app.internal/5.0.9-servicing.21359.8", - "hashPath": "microsoft.netcore.app.internal.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/4xBihn6RZ0hVIOYfUkovhXFw/ScMJ/On81sUHdGdau06/c/aD8abz7ulzbeaN469kkTy3ZqzuLPromTvuXBIQ==" - }, - "Microsoft.NETCore.Platforms/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", - "path": "microsoft.netcore.platforms/5.0.0", - "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" - }, - "Microsoft.NETCore.Targets/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-XpSaRv9/+V4KQ5KPbvRoArKy1o9WHizFEdOXPBLHXRZ0zwPGK5cTcWo1SveD7uayrfhod1uAAscip65qLeAjCw==", - "path": "microsoft.netcore.targets/5.0.0", - "hashPath": "microsoft.netcore.targets.5.0.0.nupkg.sha512" - }, - "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-m+pJPEO7HyXvrOna5Sr3s77ewXonjYWJTNL6drh8xACnMNxnlqUDKx9HfGeSE9wmfY0lQwppaeZpFTPGaH7kZg==", - "path": "microsoft.netframework.referenceassemblies/1.0.0-preview.2", - "hashPath": "microsoft.netframework.referenceassemblies.1.0.0-preview.2.nupkg.sha512" - }, - "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vVYhSds9TfraTQkGHHMDMVWnr3kCkTZ7vmqUmrXQBDJFXiWTuMoP5RRa9s1M/KmgB4szi5TOb7sOaHWKDT9qDA==", - "path": "microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-aek0RTQ+4Bf11WvqaXajwYoaBWkX2edBjAr5XJOvhAsHX6/9vPOb7IpHAiE/NyCse7IcpGWslJZHNkv4UBEFqw==", - "path": "microsoft.sourcelink.common/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7A7P0EwL+lypaI/CEvG4IcpAlQeAt04uPPw1SO6Q9Jwz2nE9309pQXJ4TfP/RLL8IOObACidN66+gVR+bJDZHw==", - "path": "microsoft.sourcelink.github/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg.sha512" - }, - "NETStandard.Library/2.2.0-prerelease.19564.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-y7Z0OKA/O5mW8aPEI4oXTSjinUTwGDwKEZMKTGdzb+vLgGRuvrZrs1YidcFN2kIKOo/11bOSNfKn4lsOLUWHkQ==", - "path": "netstandard.library/2.2.0-prerelease.19564.1", - "hashPath": "netstandard.library.2.2.0-prerelease.19564.1.nupkg.sha512" - }, - "runtime.linux-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-iLyxdBhbBxLe09HRhVRG883+QBdkwNhoNwKP8Nqpkg+OJpZ6iaIRnXgDt31g348siOIh89+IjnGeh0YmLlqylg==", - "path": "runtime.linux-x64.microsoft.netcore.app/5.0.9-servicing.21359.8", - "hashPath": "runtime.linux-x64.microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IgeixSzmtJfCwGPRZ1AhjLOP+j/8j9r/qq5sX1FtEI9iAmgEhJMnRd1C5D+WuWbgZPxcXlMYtq/jy7ZOF9T/kQ==" - } - }, - "runtimes": { - "linux-arm": [ - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "linux-arm64": [ - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "linux-musl-arm": [ - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "linux-musl-arm64": [ - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "linux-musl-x64": [ - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linux-x64": [ - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "tizen.4.0.0-armel": [ - "tizen.4.0.0", - "tizen-armel", - "tizen", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "tizen.5.0.0-armel": [ - "tizen.5.0.0", - "tizen.4.0.0-armel", - "tizen.4.0.0", - "tizen-armel", - "tizen", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "alpine": [ - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine-arm": [ - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine-arm64": [ - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine-x64": [ - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "alpine.3.10": [ - "alpine.3.9", - "alpine.3.8", - "alpine.3.7", - "alpine.3.6", - "alpine", - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine.3.10-arm": [ - "alpine.3.10", - "alpine.3.9-arm", - "alpine.3.9", - "alpine.3.8-arm", - "alpine.3.8", - "alpine.3.7-arm", - "alpine.3.7", - "alpine.3.6-arm", - "alpine.3.6", - "alpine-arm", - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine.3.10-arm64": [ - "alpine.3.10", - "alpine.3.9-arm64", - "alpine.3.9", - "alpine.3.8-arm64", - "alpine.3.8", - "alpine.3.7-arm64", - "alpine.3.7", - "alpine.3.6-arm64", - "alpine.3.6", - "alpine-arm64", - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine.3.10-x64": [ - "alpine.3.10", - "alpine.3.9-x64", - "alpine.3.9", - "alpine.3.8-x64", - "alpine.3.8", - "alpine.3.7-x64", - "alpine.3.7", - "alpine.3.6-x64", - "alpine.3.6", - "alpine-x64", - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "alpine.3.11": [ - "alpine.3.10", - "alpine.3.9", - "alpine.3.8", - "alpine.3.7", - "alpine.3.6", - "alpine", - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine.3.11-arm": [ - "alpine.3.11", - "alpine.3.10-arm", - "alpine.3.10", - "alpine.3.9-arm", - "alpine.3.9", - "alpine.3.8-arm", - "alpine.3.8", - "alpine.3.7-arm", - "alpine.3.7", - "alpine.3.6-arm", - "alpine.3.6", - "alpine-arm", - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine.3.11-arm64": [ - "alpine.3.11", - "alpine.3.10-arm64", - "alpine.3.10", - "alpine.3.9-arm64", - "alpine.3.9", - "alpine.3.8-arm64", - "alpine.3.8", - "alpine.3.7-arm64", - "alpine.3.7", - "alpine.3.6-arm64", - "alpine.3.6", - "alpine-arm64", - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine.3.11-x64": [ - "alpine.3.11", - "alpine.3.10-x64", - "alpine.3.10", - "alpine.3.9-x64", - "alpine.3.9", - "alpine.3.8-x64", - "alpine.3.8", - "alpine.3.7-x64", - "alpine.3.7", - "alpine.3.6-x64", - "alpine.3.6", - "alpine-x64", - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "alpine.3.12": [ - "alpine.3.11", - "alpine.3.10", - "alpine.3.9", - "alpine.3.8", - "alpine.3.7", - "alpine.3.6", - "alpine", - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine.3.12-arm": [ - "alpine.3.12", - "alpine.3.11-arm", - "alpine.3.11", - "alpine.3.10-arm", - "alpine.3.10", - "alpine.3.9-arm", - "alpine.3.9", - "alpine.3.8-arm", - "alpine.3.8", - "alpine.3.7-arm", - "alpine.3.7", - "alpine.3.6-arm", - "alpine.3.6", - "alpine-arm", - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine.3.12-arm64": [ - "alpine.3.12", - "alpine.3.11-arm64", - "alpine.3.11", - "alpine.3.10-arm64", - "alpine.3.10", - "alpine.3.9-arm64", - "alpine.3.9", - "alpine.3.8-arm64", - "alpine.3.8", - "alpine.3.7-arm64", - "alpine.3.7", - "alpine.3.6-arm64", - "alpine.3.6", - "alpine-arm64", - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine.3.12-x64": [ - "alpine.3.12", - "alpine.3.11-x64", - "alpine.3.11", - "alpine.3.10-x64", - "alpine.3.10", - "alpine.3.9-x64", - "alpine.3.9", - "alpine.3.8-x64", - "alpine.3.8", - "alpine.3.7-x64", - "alpine.3.7", - "alpine.3.6-x64", - "alpine.3.6", - "alpine-x64", - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "alpine.3.6": [ - "alpine", - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine.3.6-arm": [ - "alpine.3.6", - "alpine-arm", - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine.3.6-arm64": [ - "alpine.3.6", - "alpine-arm64", - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine.3.6-x64": [ - "alpine.3.6", - "alpine-x64", - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "alpine.3.7": [ - "alpine.3.6", - "alpine", - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine.3.7-arm": [ - "alpine.3.7", - "alpine.3.6-arm", - "alpine.3.6", - "alpine-arm", - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine.3.7-arm64": [ - "alpine.3.7", - "alpine.3.6-arm64", - "alpine.3.6", - "alpine-arm64", - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine.3.7-x64": [ - "alpine.3.7", - "alpine.3.6-x64", - "alpine.3.6", - "alpine-x64", - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "alpine.3.8": [ - "alpine.3.7", - "alpine.3.6", - "alpine", - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine.3.8-arm": [ - "alpine.3.8", - "alpine.3.7-arm", - "alpine.3.7", - "alpine.3.6-arm", - "alpine.3.6", - "alpine-arm", - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine.3.8-arm64": [ - "alpine.3.8", - "alpine.3.7-arm64", - "alpine.3.7", - "alpine.3.6-arm64", - "alpine.3.6", - "alpine-arm64", - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine.3.8-x64": [ - "alpine.3.8", - "alpine.3.7-x64", - "alpine.3.7", - "alpine.3.6-x64", - "alpine.3.6", - "alpine-x64", - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "alpine.3.9": [ - "alpine.3.8", - "alpine.3.7", - "alpine.3.6", - "alpine", - "linux-musl", - "linux", - "unix", - "any", - "base" - ], - "alpine.3.9-arm": [ - "alpine.3.9", - "alpine.3.8-arm", - "alpine.3.8", - "alpine.3.7-arm", - "alpine.3.7", - "alpine.3.6-arm", - "alpine.3.6", - "alpine-arm", - "alpine", - "linux-musl-arm", - "linux-musl", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "alpine.3.9-arm64": [ - "alpine.3.9", - "alpine.3.8-arm64", - "alpine.3.8", - "alpine.3.7-arm64", - "alpine.3.7", - "alpine.3.6-arm64", - "alpine.3.6", - "alpine-arm64", - "alpine", - "linux-musl-arm64", - "linux-musl", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "alpine.3.9-x64": [ - "alpine.3.9", - "alpine.3.8-x64", - "alpine.3.8", - "alpine.3.7-x64", - "alpine.3.7", - "alpine.3.6-x64", - "alpine.3.6", - "alpine-x64", - "alpine", - "linux-musl-x64", - "linux-musl", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android": [ - "linux", - "unix", - "any", - "base" - ], - "android-arm": [ - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android-arm64": [ - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android-x64": [ - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android-x86": [ - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.21": [ - "android", - "linux", - "unix", - "any", - "base" - ], - "android.21-arm": [ - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.21-arm64": [ - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.21-x64": [ - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.21-x86": [ - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.22": [ - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.22-arm": [ - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.22-arm64": [ - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.22-x64": [ - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.22-x86": [ - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.23": [ - "android.22", - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.23-arm": [ - "android.23", - "android.22-arm", - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.23-arm64": [ - "android.23", - "android.22-arm64", - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.23-x64": [ - "android.23", - "android.22-x64", - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.23-x86": [ - "android.23", - "android.22-x86", - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.24": [ - "android.23", - "android.22", - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.24-arm": [ - "android.24", - "android.23-arm", - "android.23", - "android.22-arm", - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.24-arm64": [ - "android.24", - "android.23-arm64", - "android.23", - "android.22-arm64", - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.24-x64": [ - "android.24", - "android.23-x64", - "android.23", - "android.22-x64", - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.24-x86": [ - "android.24", - "android.23-x86", - "android.23", - "android.22-x86", - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.25": [ - "android.24", - "android.23", - "android.22", - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.25-arm": [ - "android.25", - "android.24-arm", - "android.24", - "android.23-arm", - "android.23", - "android.22-arm", - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.25-arm64": [ - "android.25", - "android.24-arm64", - "android.24", - "android.23-arm64", - "android.23", - "android.22-arm64", - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.25-x64": [ - "android.25", - "android.24-x64", - "android.24", - "android.23-x64", - "android.23", - "android.22-x64", - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.25-x86": [ - "android.25", - "android.24-x86", - "android.24", - "android.23-x86", - "android.23", - "android.22-x86", - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.26": [ - "android.25", - "android.24", - "android.23", - "android.22", - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.26-arm": [ - "android.26", - "android.25-arm", - "android.25", - "android.24-arm", - "android.24", - "android.23-arm", - "android.23", - "android.22-arm", - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.26-arm64": [ - "android.26", - "android.25-arm64", - "android.25", - "android.24-arm64", - "android.24", - "android.23-arm64", - "android.23", - "android.22-arm64", - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.26-x64": [ - "android.26", - "android.25-x64", - "android.25", - "android.24-x64", - "android.24", - "android.23-x64", - "android.23", - "android.22-x64", - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.26-x86": [ - "android.26", - "android.25-x86", - "android.25", - "android.24-x86", - "android.24", - "android.23-x86", - "android.23", - "android.22-x86", - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.27": [ - "android.26", - "android.25", - "android.24", - "android.23", - "android.22", - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.27-arm": [ - "android.27", - "android.26-arm", - "android.26", - "android.25-arm", - "android.25", - "android.24-arm", - "android.24", - "android.23-arm", - "android.23", - "android.22-arm", - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.27-arm64": [ - "android.27", - "android.26-arm64", - "android.26", - "android.25-arm64", - "android.25", - "android.24-arm64", - "android.24", - "android.23-arm64", - "android.23", - "android.22-arm64", - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.27-x64": [ - "android.27", - "android.26-x64", - "android.26", - "android.25-x64", - "android.25", - "android.24-x64", - "android.24", - "android.23-x64", - "android.23", - "android.22-x64", - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.27-x86": [ - "android.27", - "android.26-x86", - "android.26", - "android.25-x86", - "android.25", - "android.24-x86", - "android.24", - "android.23-x86", - "android.23", - "android.22-x86", - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.28": [ - "android.27", - "android.26", - "android.25", - "android.24", - "android.23", - "android.22", - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.28-arm": [ - "android.28", - "android.27-arm", - "android.27", - "android.26-arm", - "android.26", - "android.25-arm", - "android.25", - "android.24-arm", - "android.24", - "android.23-arm", - "android.23", - "android.22-arm", - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.28-arm64": [ - "android.28", - "android.27-arm64", - "android.27", - "android.26-arm64", - "android.26", - "android.25-arm64", - "android.25", - "android.24-arm64", - "android.24", - "android.23-arm64", - "android.23", - "android.22-arm64", - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.28-x64": [ - "android.28", - "android.27-x64", - "android.27", - "android.26-x64", - "android.26", - "android.25-x64", - "android.25", - "android.24-x64", - "android.24", - "android.23-x64", - "android.23", - "android.22-x64", - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.28-x86": [ - "android.28", - "android.27-x86", - "android.27", - "android.26-x86", - "android.26", - "android.25-x86", - "android.25", - "android.24-x86", - "android.24", - "android.23-x86", - "android.23", - "android.22-x86", - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "android.29": [ - "android.28", - "android.27", - "android.26", - "android.25", - "android.24", - "android.23", - "android.22", - "android.21", - "android", - "linux", - "unix", - "any", - "base" - ], - "android.29-arm": [ - "android.29", - "android.28-arm", - "android.28", - "android.27-arm", - "android.27", - "android.26-arm", - "android.26", - "android.25-arm", - "android.25", - "android.24-arm", - "android.24", - "android.23-arm", - "android.23", - "android.22-arm", - "android.22", - "android.21-arm", - "android.21", - "android-arm", - "android", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "android.29-arm64": [ - "android.29", - "android.28-arm64", - "android.28", - "android.27-arm64", - "android.27", - "android.26-arm64", - "android.26", - "android.25-arm64", - "android.25", - "android.24-arm64", - "android.24", - "android.23-arm64", - "android.23", - "android.22-arm64", - "android.22", - "android.21-arm64", - "android.21", - "android-arm64", - "android", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "android.29-x64": [ - "android.29", - "android.28-x64", - "android.28", - "android.27-x64", - "android.27", - "android.26-x64", - "android.26", - "android.25-x64", - "android.25", - "android.24-x64", - "android.24", - "android.23-x64", - "android.23", - "android.22-x64", - "android.22", - "android.21-x64", - "android.21", - "android-x64", - "android", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "android.29-x86": [ - "android.29", - "android.28-x86", - "android.28", - "android.27-x86", - "android.27", - "android.26-x86", - "android.26", - "android.25-x86", - "android.25", - "android.24-x86", - "android.24", - "android.23-x86", - "android.23", - "android.22-x86", - "android.22", - "android.21-x86", - "android.21", - "android-x86", - "android", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "arch": [ - "linux", - "unix", - "any", - "base" - ], - "arch-x64": [ - "arch", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "centos": [ - "rhel", - "linux", - "unix", - "any", - "base" - ], - "centos-arm64": [ - "centos", - "rhel-arm64", - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "centos-x64": [ - "centos", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "centos.7": [ - "centos", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "centos.7-x64": [ - "centos.7", - "centos-x64", - "rhel.7-x64", - "centos", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "centos.8": [ - "centos", - "rhel.8", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "centos.8-arm64": [ - "centos.8", - "centos-arm64", - "rhel.8-arm64", - "centos", - "rhel.8", - "rhel-arm64", - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "centos.8-x64": [ - "centos.8", - "centos-x64", - "rhel.8-x64", - "centos", - "rhel.8", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "centos.9": [ - "centos", - "rhel.9", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "centos.9-arm64": [ - "centos.9", - "centos-arm64", - "rhel.9-arm64", - "centos", - "rhel.9", - "rhel-arm64", - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "centos.9-x64": [ - "centos.9", - "centos-x64", - "rhel.9-x64", - "centos", - "rhel.9", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "debian": [ - "linux", - "unix", - "any", - "base" - ], - "debian-arm": [ - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "debian-arm64": [ - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "debian-armel": [ - "debian", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "debian-x64": [ - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "debian-x86": [ - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "debian.10": [ - "debian", - "linux", - "unix", - "any", - "base" - ], - "debian.10-arm": [ - "debian.10", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "debian.10-arm64": [ - "debian.10", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "debian.10-armel": [ - "debian.10", - "debian-armel", - "debian", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "debian.10-x64": [ - "debian.10", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "debian.10-x86": [ - "debian.10", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "debian.8": [ - "debian", - "linux", - "unix", - "any", - "base" - ], - "debian.8-arm": [ - "debian.8", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "debian.8-arm64": [ - "debian.8", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "debian.8-armel": [ - "debian.8", - "debian-armel", - "debian", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "debian.8-x64": [ - "debian.8", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "debian.8-x86": [ - "debian.8", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "debian.9": [ - "debian", - "linux", - "unix", - "any", - "base" - ], - "debian.9-arm": [ - "debian.9", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "debian.9-arm64": [ - "debian.9", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "debian.9-armel": [ - "debian.9", - "debian-armel", - "debian", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "debian.9-x64": [ - "debian.9", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "debian.9-x86": [ - "debian.9", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "fedora": [ - "linux", - "unix", - "any", - "base" - ], - "fedora-arm64": [ - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora-x64": [ - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.23": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.23-arm64": [ - "fedora.23", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.23-x64": [ - "fedora.23", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.24": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.24-arm64": [ - "fedora.24", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.24-x64": [ - "fedora.24", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.25": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.25-arm64": [ - "fedora.25", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.25-x64": [ - "fedora.25", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.26": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.26-arm64": [ - "fedora.26", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.26-x64": [ - "fedora.26", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.27": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.27-arm64": [ - "fedora.27", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.27-x64": [ - "fedora.27", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.28": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.28-arm64": [ - "fedora.28", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.28-x64": [ - "fedora.28", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.29": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.29-arm64": [ - "fedora.29", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.29-x64": [ - "fedora.29", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.30": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.30-arm64": [ - "fedora.30", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.30-x64": [ - "fedora.30", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.31": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.31-arm64": [ - "fedora.31", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.31-x64": [ - "fedora.31", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.32": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.32-arm64": [ - "fedora.32", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.32-x64": [ - "fedora.32", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.33": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.33-arm64": [ - "fedora.33", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.33-x64": [ - "fedora.33", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "fedora.34": [ - "fedora", - "linux", - "unix", - "any", - "base" - ], - "fedora.34-arm64": [ - "fedora.34", - "fedora-arm64", - "fedora", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "fedora.34-x64": [ - "fedora.34", - "fedora-x64", - "fedora", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "gentoo": [ - "linux", - "unix", - "any", - "base" - ], - "gentoo-x64": [ - "gentoo", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linux": [ - "unix", - "any", - "base" - ], - "linux-armel": [ - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "linux-musl": [ - "linux", - "unix", - "any", - "base" - ], - "linux-musl-armel": [ - "linux-musl", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "linux-musl-x86": [ - "linux-musl", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "linux-x86": [ - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "linuxmint.17": [ - "ubuntu.14.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.17-x64": [ - "linuxmint.17", - "ubuntu.14.04-x64", - "ubuntu.14.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.17.1": [ - "linuxmint.17", - "ubuntu.14.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.17.1-x64": [ - "linuxmint.17.1", - "linuxmint.17-x64", - "linuxmint.17", - "ubuntu.14.04-x64", - "ubuntu.14.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.17.2": [ - "linuxmint.17.1", - "linuxmint.17", - "ubuntu.14.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.17.2-x64": [ - "linuxmint.17.2", - "linuxmint.17.1-x64", - "linuxmint.17.1", - "linuxmint.17-x64", - "linuxmint.17", - "ubuntu.14.04-x64", - "ubuntu.14.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.17.3": [ - "linuxmint.17.2", - "linuxmint.17.1", - "linuxmint.17", - "ubuntu.14.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.17.3-x64": [ - "linuxmint.17.3", - "linuxmint.17.2-x64", - "linuxmint.17.2", - "linuxmint.17.1-x64", - "linuxmint.17.1", - "linuxmint.17-x64", - "linuxmint.17", - "ubuntu.14.04-x64", - "ubuntu.14.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.18": [ - "ubuntu.16.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.18-x64": [ - "linuxmint.18", - "ubuntu.16.04-x64", - "ubuntu.16.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.18.1": [ - "linuxmint.18", - "ubuntu.16.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.18.1-x64": [ - "linuxmint.18.1", - "linuxmint.18-x64", - "linuxmint.18", - "ubuntu.16.04-x64", - "ubuntu.16.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.18.2": [ - "linuxmint.18.1", - "linuxmint.18", - "ubuntu.16.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.18.2-x64": [ - "linuxmint.18.2", - "linuxmint.18.1-x64", - "linuxmint.18.1", - "linuxmint.18-x64", - "linuxmint.18", - "ubuntu.16.04-x64", - "ubuntu.16.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.18.3": [ - "linuxmint.18.2", - "linuxmint.18.1", - "linuxmint.18", - "ubuntu.16.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.18.3-x64": [ - "linuxmint.18.3", - "linuxmint.18.2-x64", - "linuxmint.18.2", - "linuxmint.18.1-x64", - "linuxmint.18.1", - "linuxmint.18-x64", - "linuxmint.18", - "ubuntu.16.04-x64", - "ubuntu.16.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.19": [ - "ubuntu.18.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.19-x64": [ - "linuxmint.19", - "ubuntu.18.04-x64", - "ubuntu.18.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.19.1": [ - "linuxmint.19", - "ubuntu.18.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.19.1-x64": [ - "linuxmint.19.1", - "linuxmint.19-x64", - "linuxmint.19", - "ubuntu.18.04-x64", - "ubuntu.18.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "linuxmint.19.2": [ - "linuxmint.19.1", - "linuxmint.19", - "ubuntu.18.04", - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "linuxmint.19.2-x64": [ - "linuxmint.19.2", - "linuxmint.19.1-x64", - "linuxmint.19.1", - "linuxmint.19-x64", - "linuxmint.19", - "ubuntu.18.04-x64", - "ubuntu.18.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol": [ - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol-x64": [ - "ol", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7": [ - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7-x64": [ - "ol.7", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7.0": [ - "ol.7", - "rhel.7.0", - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7.0-x64": [ - "ol.7.0", - "ol.7-x64", - "rhel.7.0-x64", - "ol.7", - "rhel.7.0", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7.1": [ - "ol.7.0", - "rhel.7.1", - "ol.7", - "rhel.7.0", - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7.1-x64": [ - "ol.7.1", - "ol.7.0-x64", - "rhel.7.1-x64", - "ol.7.0", - "rhel.7.1", - "ol.7-x64", - "rhel.7.0-x64", - "ol.7", - "rhel.7.0", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7.2": [ - "ol.7.1", - "rhel.7.2", - "ol.7.0", - "rhel.7.1", - "ol.7", - "rhel.7.0", - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7.2-x64": [ - "ol.7.2", - "ol.7.1-x64", - "rhel.7.2-x64", - "ol.7.1", - "rhel.7.2", - "ol.7.0-x64", - "rhel.7.1-x64", - "ol.7.0", - "rhel.7.1", - "ol.7-x64", - "rhel.7.0-x64", - "ol.7", - "rhel.7.0", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7.3": [ - "ol.7.2", - "rhel.7.3", - "ol.7.1", - "rhel.7.2", - "ol.7.0", - "rhel.7.1", - "ol.7", - "rhel.7.0", - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7.3-x64": [ - "ol.7.3", - "ol.7.2-x64", - "rhel.7.3-x64", - "ol.7.2", - "rhel.7.3", - "ol.7.1-x64", - "rhel.7.2-x64", - "ol.7.1", - "rhel.7.2", - "ol.7.0-x64", - "rhel.7.1-x64", - "ol.7.0", - "rhel.7.1", - "ol.7-x64", - "rhel.7.0-x64", - "ol.7", - "rhel.7.0", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7.4": [ - "ol.7.3", - "rhel.7.4", - "ol.7.2", - "rhel.7.3", - "ol.7.1", - "rhel.7.2", - "ol.7.0", - "rhel.7.1", - "ol.7", - "rhel.7.0", - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7.4-x64": [ - "ol.7.4", - "ol.7.3-x64", - "rhel.7.4-x64", - "ol.7.3", - "rhel.7.4", - "ol.7.2-x64", - "rhel.7.3-x64", - "ol.7.2", - "rhel.7.3", - "ol.7.1-x64", - "rhel.7.2-x64", - "ol.7.1", - "rhel.7.2", - "ol.7.0-x64", - "rhel.7.1-x64", - "ol.7.0", - "rhel.7.1", - "ol.7-x64", - "rhel.7.0-x64", - "ol.7", - "rhel.7.0", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7.5": [ - "ol.7.4", - "rhel.7.5", - "ol.7.3", - "rhel.7.4", - "ol.7.2", - "rhel.7.3", - "ol.7.1", - "rhel.7.2", - "ol.7.0", - "rhel.7.1", - "ol.7", - "rhel.7.0", - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7.5-x64": [ - "ol.7.5", - "ol.7.4-x64", - "rhel.7.5-x64", - "ol.7.4", - "rhel.7.5", - "ol.7.3-x64", - "rhel.7.4-x64", - "ol.7.3", - "rhel.7.4", - "ol.7.2-x64", - "rhel.7.3-x64", - "ol.7.2", - "rhel.7.3", - "ol.7.1-x64", - "rhel.7.2-x64", - "ol.7.1", - "rhel.7.2", - "ol.7.0-x64", - "rhel.7.1-x64", - "ol.7.0", - "rhel.7.1", - "ol.7-x64", - "rhel.7.0-x64", - "ol.7", - "rhel.7.0", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.7.6": [ - "ol.7.5", - "rhel.7.6", - "ol.7.4", - "rhel.7.5", - "ol.7.3", - "rhel.7.4", - "ol.7.2", - "rhel.7.3", - "ol.7.1", - "rhel.7.2", - "ol.7.0", - "rhel.7.1", - "ol.7", - "rhel.7.0", - "ol", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.7.6-x64": [ - "ol.7.6", - "ol.7.5-x64", - "rhel.7.6-x64", - "ol.7.5", - "rhel.7.6", - "ol.7.4-x64", - "rhel.7.5-x64", - "ol.7.4", - "rhel.7.5", - "ol.7.3-x64", - "rhel.7.4-x64", - "ol.7.3", - "rhel.7.4", - "ol.7.2-x64", - "rhel.7.3-x64", - "ol.7.2", - "rhel.7.3", - "ol.7.1-x64", - "rhel.7.2-x64", - "ol.7.1", - "rhel.7.2", - "ol.7.0-x64", - "rhel.7.1-x64", - "ol.7.0", - "rhel.7.1", - "ol.7-x64", - "rhel.7.0-x64", - "ol.7", - "rhel.7.0", - "ol-x64", - "rhel.7-x64", - "ol", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.8": [ - "ol", - "rhel.8", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.8-x64": [ - "ol.8", - "ol-x64", - "rhel.8-x64", - "ol", - "rhel.8", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ol.8.0": [ - "ol.8", - "rhel.8.0", - "ol", - "rhel.8", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "ol.8.0-x64": [ - "ol.8.0", - "ol.8-x64", - "rhel.8.0-x64", - "ol.8", - "rhel.8.0", - "ol-x64", - "rhel.8-x64", - "ol", - "rhel.8", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "opensuse": [ - "linux", - "unix", - "any", - "base" - ], - "opensuse-x64": [ - "opensuse", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "opensuse.13.2": [ - "opensuse", - "linux", - "unix", - "any", - "base" - ], - "opensuse.13.2-x64": [ - "opensuse.13.2", - "opensuse-x64", - "opensuse", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "opensuse.15.0": [ - "opensuse", - "linux", - "unix", - "any", - "base" - ], - "opensuse.15.0-x64": [ - "opensuse.15.0", - "opensuse-x64", - "opensuse", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "opensuse.15.1": [ - "opensuse", - "linux", - "unix", - "any", - "base" - ], - "opensuse.15.1-x64": [ - "opensuse.15.1", - "opensuse-x64", - "opensuse", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "opensuse.42.1": [ - "opensuse", - "linux", - "unix", - "any", - "base" - ], - "opensuse.42.1-x64": [ - "opensuse.42.1", - "opensuse-x64", - "opensuse", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "opensuse.42.2": [ - "opensuse", - "linux", - "unix", - "any", - "base" - ], - "opensuse.42.2-x64": [ - "opensuse.42.2", - "opensuse-x64", - "opensuse", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "opensuse.42.3": [ - "opensuse", - "linux", - "unix", - "any", - "base" - ], - "opensuse.42.3-x64": [ - "opensuse.42.3", - "opensuse-x64", - "opensuse", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel": [ - "linux", - "unix", - "any", - "base" - ], - "rhel-arm64": [ - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "rhel-x64": [ - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.6": [ - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.6-x64": [ - "rhel.6", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7": [ - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7-x64": [ - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7.0": [ - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7.0-x64": [ - "rhel.7.0", - "rhel.7-x64", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7.1": [ - "rhel.7.0", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7.1-x64": [ - "rhel.7.1", - "rhel.7.0-x64", - "rhel.7.0", - "rhel.7-x64", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7.2": [ - "rhel.7.1", - "rhel.7.0", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7.2-x64": [ - "rhel.7.2", - "rhel.7.1-x64", - "rhel.7.1", - "rhel.7.0-x64", - "rhel.7.0", - "rhel.7-x64", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7.3": [ - "rhel.7.2", - "rhel.7.1", - "rhel.7.0", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7.3-x64": [ - "rhel.7.3", - "rhel.7.2-x64", - "rhel.7.2", - "rhel.7.1-x64", - "rhel.7.1", - "rhel.7.0-x64", - "rhel.7.0", - "rhel.7-x64", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7.4": [ - "rhel.7.3", - "rhel.7.2", - "rhel.7.1", - "rhel.7.0", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7.4-x64": [ - "rhel.7.4", - "rhel.7.3-x64", - "rhel.7.3", - "rhel.7.2-x64", - "rhel.7.2", - "rhel.7.1-x64", - "rhel.7.1", - "rhel.7.0-x64", - "rhel.7.0", - "rhel.7-x64", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7.5": [ - "rhel.7.4", - "rhel.7.3", - "rhel.7.2", - "rhel.7.1", - "rhel.7.0", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7.5-x64": [ - "rhel.7.5", - "rhel.7.4-x64", - "rhel.7.4", - "rhel.7.3-x64", - "rhel.7.3", - "rhel.7.2-x64", - "rhel.7.2", - "rhel.7.1-x64", - "rhel.7.1", - "rhel.7.0-x64", - "rhel.7.0", - "rhel.7-x64", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.7.6": [ - "rhel.7.5", - "rhel.7.4", - "rhel.7.3", - "rhel.7.2", - "rhel.7.1", - "rhel.7.0", - "rhel.7", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.7.6-x64": [ - "rhel.7.6", - "rhel.7.5-x64", - "rhel.7.5", - "rhel.7.4-x64", - "rhel.7.4", - "rhel.7.3-x64", - "rhel.7.3", - "rhel.7.2-x64", - "rhel.7.2", - "rhel.7.1-x64", - "rhel.7.1", - "rhel.7.0-x64", - "rhel.7.0", - "rhel.7-x64", - "rhel.7", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.8": [ - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.8-arm64": [ - "rhel.8", - "rhel-arm64", - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "rhel.8-x64": [ - "rhel.8", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.8.0": [ - "rhel.8", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.8.0-arm64": [ - "rhel.8.0", - "rhel.8-arm64", - "rhel.8", - "rhel-arm64", - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "rhel.8.0-x64": [ - "rhel.8.0", - "rhel.8-x64", - "rhel.8", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.8.1": [ - "rhel.8.0", - "rhel.8", - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.8.1-arm64": [ - "rhel.8.1", - "rhel.8.0-arm64", - "rhel.8.0", - "rhel.8-arm64", - "rhel.8", - "rhel-arm64", - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "rhel.8.1-x64": [ - "rhel.8.1", - "rhel.8.0-x64", - "rhel.8.0", - "rhel.8-x64", - "rhel.8", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "rhel.9": [ - "rhel", - "linux", - "unix", - "any", - "base" - ], - "rhel.9-arm64": [ - "rhel.9", - "rhel-arm64", - "rhel", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "rhel.9-x64": [ - "rhel.9", - "rhel-x64", - "rhel", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles": [ - "linux", - "unix", - "any", - "base" - ], - "sles-x64": [ - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles.12": [ - "sles", - "linux", - "unix", - "any", - "base" - ], - "sles.12-x64": [ - "sles.12", - "sles-x64", - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles.12.1": [ - "sles.12", - "sles", - "linux", - "unix", - "any", - "base" - ], - "sles.12.1-x64": [ - "sles.12.1", - "sles.12-x64", - "sles.12", - "sles-x64", - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles.12.2": [ - "sles.12.1", - "sles.12", - "sles", - "linux", - "unix", - "any", - "base" - ], - "sles.12.2-x64": [ - "sles.12.2", - "sles.12.1-x64", - "sles.12.1", - "sles.12-x64", - "sles.12", - "sles-x64", - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles.12.3": [ - "sles.12.2", - "sles.12.1", - "sles.12", - "sles", - "linux", - "unix", - "any", - "base" - ], - "sles.12.3-x64": [ - "sles.12.3", - "sles.12.2-x64", - "sles.12.2", - "sles.12.1-x64", - "sles.12.1", - "sles.12-x64", - "sles.12", - "sles-x64", - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles.12.4": [ - "sles.12.3", - "sles.12.2", - "sles.12.1", - "sles.12", - "sles", - "linux", - "unix", - "any", - "base" - ], - "sles.12.4-x64": [ - "sles.12.4", - "sles.12.3-x64", - "sles.12.3", - "sles.12.2-x64", - "sles.12.2", - "sles.12.1-x64", - "sles.12.1", - "sles.12-x64", - "sles.12", - "sles-x64", - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles.15": [ - "sles.12.4", - "sles.12.3", - "sles.12.2", - "sles.12.1", - "sles.12", - "sles", - "linux", - "unix", - "any", - "base" - ], - "sles.15-x64": [ - "sles.15", - "sles.12.4-x64", - "sles.12.4", - "sles.12.3-x64", - "sles.12.3", - "sles.12.2-x64", - "sles.12.2", - "sles.12.1-x64", - "sles.12.1", - "sles.12-x64", - "sles.12", - "sles-x64", - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "sles.15.1": [ - "sles.15", - "sles.12.4", - "sles.12.3", - "sles.12.2", - "sles.12.1", - "sles.12", - "sles", - "linux", - "unix", - "any", - "base" - ], - "sles.15.1-x64": [ - "sles.15.1", - "sles.15-x64", - "sles.15", - "sles.12.4-x64", - "sles.12.4", - "sles.12.3-x64", - "sles.12.3", - "sles.12.2-x64", - "sles.12.2", - "sles.12.1-x64", - "sles.12.1", - "sles.12-x64", - "sles.12", - "sles-x64", - "sles", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "tizen": [ - "linux", - "unix", - "any", - "base" - ], - "tizen-arm64": [ - "tizen", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "tizen-armel": [ - "tizen", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "tizen-x86": [ - "tizen", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "tizen.4.0.0": [ - "tizen", - "linux", - "unix", - "any", - "base" - ], - "tizen.4.0.0-arm64": [ - "tizen.4.0.0", - "tizen-arm64", - "tizen", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "tizen.4.0.0-x86": [ - "tizen.4.0.0", - "tizen-x86", - "tizen", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "tizen.5.0.0": [ - "tizen.4.0.0", - "tizen", - "linux", - "unix", - "any", - "base" - ], - "tizen.5.0.0-arm64": [ - "tizen.5.0.0", - "tizen.4.0.0-arm64", - "tizen.4.0.0", - "tizen-arm64", - "tizen", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "tizen.5.0.0-x86": [ - "tizen.5.0.0", - "tizen.4.0.0-x86", - "tizen.4.0.0", - "tizen-x86", - "tizen", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "tizen.5.5.0": [ - "tizen.5.0.0", - "tizen.4.0.0", - "tizen", - "linux", - "unix", - "any", - "base" - ], - "tizen.5.5.0-arm64": [ - "tizen.5.5.0", - "tizen.5.0.0-arm64", - "tizen.5.0.0", - "tizen.4.0.0-arm64", - "tizen.4.0.0", - "tizen-arm64", - "tizen", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "tizen.5.5.0-armel": [ - "tizen.5.5.0", - "tizen.5.0.0-armel", - "tizen.5.0.0", - "tizen.4.0.0-armel", - "tizen.4.0.0", - "tizen-armel", - "tizen", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "tizen.5.5.0-x86": [ - "tizen.5.5.0", - "tizen.5.0.0-x86", - "tizen.5.0.0", - "tizen.4.0.0-x86", - "tizen.4.0.0", - "tizen-x86", - "tizen", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "tizen.6.0.0": [ - "tizen.5.5.0", - "tizen.5.0.0", - "tizen.4.0.0", - "tizen", - "linux", - "unix", - "any", - "base" - ], - "tizen.6.0.0-arm64": [ - "tizen.6.0.0", - "tizen.5.5.0-arm64", - "tizen.5.5.0", - "tizen.5.0.0-arm64", - "tizen.5.0.0", - "tizen.4.0.0-arm64", - "tizen.4.0.0", - "tizen-arm64", - "tizen", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "tizen.6.0.0-armel": [ - "tizen.6.0.0", - "tizen.5.5.0-armel", - "tizen.5.5.0", - "tizen.5.0.0-armel", - "tizen.5.0.0", - "tizen.4.0.0-armel", - "tizen.4.0.0", - "tizen-armel", - "tizen", - "linux-armel", - "linux", - "unix-armel", - "unix", - "any", - "base" - ], - "tizen.6.0.0-x86": [ - "tizen.6.0.0", - "tizen.5.5.0-x86", - "tizen.5.5.0", - "tizen.5.0.0-x86", - "tizen.5.0.0", - "tizen.4.0.0-x86", - "tizen.4.0.0", - "tizen-x86", - "tizen", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu": [ - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu-arm": [ - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu-arm64": [ - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu-x64": [ - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu-x86": [ - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.14.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.14.04-arm": [ - "ubuntu.14.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.14.04-x64": [ - "ubuntu.14.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.14.04-x86": [ - "ubuntu.14.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.14.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.14.10-arm": [ - "ubuntu.14.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.14.10-x64": [ - "ubuntu.14.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.14.10-x86": [ - "ubuntu.14.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.15.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.15.04-arm": [ - "ubuntu.15.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.15.04-x64": [ - "ubuntu.15.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.15.04-x86": [ - "ubuntu.15.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.15.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.15.10-arm": [ - "ubuntu.15.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.15.10-x64": [ - "ubuntu.15.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.15.10-x86": [ - "ubuntu.15.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.16.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.16.04-arm": [ - "ubuntu.16.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.16.04-arm64": [ - "ubuntu.16.04", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.16.04-x64": [ - "ubuntu.16.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.16.04-x86": [ - "ubuntu.16.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.16.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.16.10-arm": [ - "ubuntu.16.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.16.10-arm64": [ - "ubuntu.16.10", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.16.10-x64": [ - "ubuntu.16.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.16.10-x86": [ - "ubuntu.16.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.17.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.17.04-arm": [ - "ubuntu.17.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.17.04-arm64": [ - "ubuntu.17.04", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.17.04-x64": [ - "ubuntu.17.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.17.04-x86": [ - "ubuntu.17.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.17.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.17.10-arm": [ - "ubuntu.17.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.17.10-arm64": [ - "ubuntu.17.10", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.17.10-x64": [ - "ubuntu.17.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.17.10-x86": [ - "ubuntu.17.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.18.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.18.04-arm": [ - "ubuntu.18.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.18.04-arm64": [ - "ubuntu.18.04", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.18.04-x64": [ - "ubuntu.18.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.18.04-x86": [ - "ubuntu.18.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.18.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.18.10-arm": [ - "ubuntu.18.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.18.10-arm64": [ - "ubuntu.18.10", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.18.10-x64": [ - "ubuntu.18.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.18.10-x86": [ - "ubuntu.18.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.19.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.19.04-arm": [ - "ubuntu.19.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.19.04-arm64": [ - "ubuntu.19.04", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.19.04-x64": [ - "ubuntu.19.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.19.04-x86": [ - "ubuntu.19.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.19.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.19.10-arm": [ - "ubuntu.19.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.19.10-arm64": [ - "ubuntu.19.10", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.19.10-x64": [ - "ubuntu.19.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.19.10-x86": [ - "ubuntu.19.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.20.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.20.04-arm": [ - "ubuntu.20.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.20.04-arm64": [ - "ubuntu.20.04", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.20.04-x64": [ - "ubuntu.20.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.20.04-x86": [ - "ubuntu.20.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.20.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.20.10-arm": [ - "ubuntu.20.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.20.10-arm64": [ - "ubuntu.20.10", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.20.10-x64": [ - "ubuntu.20.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.20.10-x86": [ - "ubuntu.20.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.21.04": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.21.04-arm": [ - "ubuntu.21.04", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.21.04-arm64": [ - "ubuntu.21.04", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.21.04-x64": [ - "ubuntu.21.04", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.21.04-x86": [ - "ubuntu.21.04", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ], - "ubuntu.21.10": [ - "ubuntu", - "debian", - "linux", - "unix", - "any", - "base" - ], - "ubuntu.21.10-arm": [ - "ubuntu.21.10", - "ubuntu-arm", - "ubuntu", - "debian-arm", - "debian", - "linux-arm", - "linux", - "unix-arm", - "unix", - "any", - "base" - ], - "ubuntu.21.10-arm64": [ - "ubuntu.21.10", - "ubuntu-arm64", - "ubuntu", - "debian-arm64", - "debian", - "linux-arm64", - "linux", - "unix-arm64", - "unix", - "any", - "base" - ], - "ubuntu.21.10-x64": [ - "ubuntu.21.10", - "ubuntu-x64", - "ubuntu", - "debian-x64", - "debian", - "linux-x64", - "linux", - "unix-x64", - "unix", - "any", - "base" - ], - "ubuntu.21.10-x86": [ - "ubuntu.21.10", - "ubuntu-x86", - "ubuntu", - "debian-x86", - "debian", - "linux-x86", - "linux", - "unix-x86", - "unix", - "any", - "base" - ] - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll deleted file mode 100644 index 4495cac8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll deleted file mode 100644 index 7fe23e07..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll deleted file mode 100644 index f99a1197..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll deleted file mode 100644 index 335557b9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll deleted file mode 100644 index 6b17fd4b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll deleted file mode 100644 index 931db0a8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll deleted file mode 100644 index 3dfd4db8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll deleted file mode 100644 index 525c1d7d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll deleted file mode 100644 index 2f42cd2b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll deleted file mode 100644 index a1e78dcf..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll deleted file mode 100644 index 40fa0acc..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll deleted file mode 100644 index 7557164f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll deleted file mode 100644 index 6064512b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll deleted file mode 100644 index 37d7c1b4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll deleted file mode 100644 index a9ea14f4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll deleted file mode 100644 index 2245b739..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll deleted file mode 100644 index b8f9d575..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll deleted file mode 100644 index 7a0d53c3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll deleted file mode 100644 index 1040ddb0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll deleted file mode 100644 index 5f7d73f5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll deleted file mode 100644 index 8f04f510..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll deleted file mode 100644 index 736c9deb..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll deleted file mode 100644 index 69e21022..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll deleted file mode 100644 index aa369b82..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll deleted file mode 100644 index 8d872833..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll deleted file mode 100644 index f1a4d786..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll deleted file mode 100644 index 435ca1a8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll deleted file mode 100644 index 13feeca4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll deleted file mode 100644 index 2be32c7e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll deleted file mode 100644 index bd3bd149..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll deleted file mode 100644 index 5350bf39..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll deleted file mode 100644 index ce360b08..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll deleted file mode 100644 index bef6678f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll deleted file mode 100644 index 0f571792..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll deleted file mode 100644 index 5d529fc6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll deleted file mode 100644 index 68b00044..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll deleted file mode 100644 index 7cd893d5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll deleted file mode 100644 index 438314b7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll deleted file mode 100644 index b8a9d05f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll deleted file mode 100644 index fbc8614d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll deleted file mode 100644 index 705e8054..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll deleted file mode 100644 index dac6fcf4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll deleted file mode 100644 index 5aa8de56..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll deleted file mode 100644 index 6de00e28..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll deleted file mode 100644 index b9410f60..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll deleted file mode 100644 index d1255944..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll deleted file mode 100644 index 33ee91c7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll deleted file mode 100644 index 4a53b66c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll deleted file mode 100644 index 79155c7e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll deleted file mode 100644 index 10f51011..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll deleted file mode 100644 index 7afcd2df..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll deleted file mode 100644 index 077ff728..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll deleted file mode 100644 index 289f1a63..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll deleted file mode 100644 index 7fcda977..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll deleted file mode 100644 index 10f8d28c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll deleted file mode 100644 index e02233fd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll deleted file mode 100644 index 46812cf3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll deleted file mode 100644 index d54a64cc..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll deleted file mode 100644 index fdfbd892..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll deleted file mode 100644 index 8046cbfb..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll deleted file mode 100644 index 1d4e2750..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll deleted file mode 100644 index 2c400386..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll deleted file mode 100644 index 89ade373..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll deleted file mode 100644 index bd780037..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll deleted file mode 100644 index 1d5a1408..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll deleted file mode 100644 index 028ae732..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll deleted file mode 100644 index a8241079..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll deleted file mode 100644 index 82dea1ed..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll deleted file mode 100644 index f290f7bd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll deleted file mode 100644 index 38c5e6ad..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll deleted file mode 100644 index abdf8508..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll deleted file mode 100644 index f961452f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll deleted file mode 100644 index 7f9e94ec..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll deleted file mode 100644 index 6a504ca7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll deleted file mode 100644 index 93089df3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll deleted file mode 100644 index fd9f160f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll deleted file mode 100644 index 8743ce5d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll deleted file mode 100644 index a11597da..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll deleted file mode 100644 index 5d5036aa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll deleted file mode 100644 index 4476efdd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll deleted file mode 100644 index cd3c426e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll deleted file mode 100644 index b937023b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll deleted file mode 100644 index 9704ee98..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll deleted file mode 100644 index 9375fa8b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll deleted file mode 100644 index 58ed14f9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll deleted file mode 100644 index 132bfa3b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll deleted file mode 100644 index 92e8b891..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll deleted file mode 100644 index 0c40c684..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll deleted file mode 100644 index a2b5f3c8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll deleted file mode 100644 index cf635048..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll deleted file mode 100644 index d0600d56..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll deleted file mode 100644 index 8dc0133e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll deleted file mode 100644 index 4ba7ebdd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll deleted file mode 100644 index 337b77e5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll deleted file mode 100644 index 3e419e9b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll deleted file mode 100644 index 36c68a2d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll deleted file mode 100644 index 62996a6a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll deleted file mode 100644 index d587da73..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll deleted file mode 100644 index e0d3a01a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll deleted file mode 100644 index de493c5f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll deleted file mode 100644 index 1c056e29..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll deleted file mode 100644 index 0b269993..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll deleted file mode 100644 index c01c6071..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll deleted file mode 100644 index ef13508b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll deleted file mode 100644 index f5d7d297..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll deleted file mode 100644 index 42b35778..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll deleted file mode 100644 index f6911503..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll deleted file mode 100644 index d3ffe2b8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll deleted file mode 100644 index cfc968c3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll deleted file mode 100644 index a2a078c6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll deleted file mode 100644 index dec58ac2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll deleted file mode 100644 index 894973b4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll deleted file mode 100644 index 30e75c27..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll deleted file mode 100644 index 1acc5cb2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll deleted file mode 100644 index 8d00e3b5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll deleted file mode 100644 index bea40847..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll deleted file mode 100644 index f515863f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll deleted file mode 100644 index 142ead00..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll deleted file mode 100644 index 2e4d71ef..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll deleted file mode 100644 index d45ccaf0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll deleted file mode 100644 index d4d0532c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll deleted file mode 100644 index 10a7efe0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll deleted file mode 100644 index aa272ac5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll deleted file mode 100644 index d1b06ae4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll deleted file mode 100644 index 9a39a5af..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll deleted file mode 100644 index d479498d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll deleted file mode 100644 index b2a6143e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll deleted file mode 100644 index 62898043..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll deleted file mode 100644 index ab757a62..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll deleted file mode 100644 index 2f2922a0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll deleted file mode 100644 index 1be729bd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll deleted file mode 100644 index be442db1..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll deleted file mode 100644 index 760d72d1..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll deleted file mode 100644 index 6cb7b270..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll deleted file mode 100644 index 3a9600b5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll deleted file mode 100644 index cfce14ba..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll deleted file mode 100644 index 61a0979d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll deleted file mode 100644 index 1bf05f96..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll deleted file mode 100644 index 00199242..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll deleted file mode 100644 index 49ea14b8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll deleted file mode 100644 index 1cbe44c9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll deleted file mode 100644 index 3db728a5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll deleted file mode 100644 index 15475d8f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll deleted file mode 100644 index 09c0d577..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll deleted file mode 100644 index 561ae66a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll deleted file mode 100644 index b2aa2ee9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll deleted file mode 100644 index 5d5ca8b0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll deleted file mode 100644 index d260db05..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll deleted file mode 100644 index de83b308..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll deleted file mode 100644 index 45bbaedd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll deleted file mode 100644 index 821b205f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll deleted file mode 100644 index e31dc4aa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll deleted file mode 100644 index 5fd1c77a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll deleted file mode 100644 index 97228e3a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll deleted file mode 100644 index 4e8ad697..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll deleted file mode 100644 index fb8a2fe5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll deleted file mode 100644 index c291d87b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll deleted file mode 100644 index b3096a54..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll deleted file mode 100644 index 4e155a26..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.dll deleted file mode 100644 index fc60079e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll deleted file mode 100644 index 9c9b0685..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h deleted file mode 100644 index 914ab592..00000000 --- a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h +++ /dev/null @@ -1,47 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __CORECLR_DELEGATES_H__ -#define __CORECLR_DELEGATES_H__ - -#include - -#if defined(_WIN32) - #define CORECLR_DELEGATE_CALLTYPE __stdcall - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define CORECLR_DELEGATE_CALLTYPE - typedef char char_t; -#endif - -#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) - -// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer -typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( - const char_t *assembly_path /* Fully qualified path to assembly */, - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) -typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); - -typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null, - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *load_context /* Extensibility parameter (currently unused and must be 0) */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -#endif // __CORECLR_DELEGATES_H__ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/createdump b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/createdump deleted file mode 100644 index 91eeed91..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/createdump and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h deleted file mode 100644 index e062193c..00000000 --- a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h +++ /dev/null @@ -1,288 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __HOSTFXR_H__ -#define __HOSTFXR_H__ - -#include -#include - -#if defined(_WIN32) - #define HOSTFXR_CALLTYPE __cdecl - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define HOSTFXR_CALLTYPE - typedef char char_t; -#endif - -enum hostfxr_delegate_type -{ - hdt_com_activation, - hdt_load_in_memory_assembly, - hdt_winrt_activation, - hdt_com_register, - hdt_com_unregister, - hdt_load_assembly_and_get_function_pointer, - hdt_get_function_pointer, -}; - -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( - const int argc, - const char_t **argv, - const char_t *host_path, - const char_t *dotnet_root, - const char_t *app_path); -typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( - const int argc, - const char_t** argv, - const char_t* host_path, - const char_t* dotnet_root, - const char_t* app_path, - int64_t bundle_header_offset); - -typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); - -// -// Sets a callback which is to be used to write errors to. -// -// Parameters: -// error_writer -// A callback function which will be invoked every time an error is to be reported. -// Or nullptr to unregister previously registered callback and return to the default behavior. -// Return value: -// The previously registered callback (which is now unregistered), or nullptr if no previous callback -// was registered -// -// The error writer is registered per-thread, so the registration is thread-local. On each thread -// only one callback can be registered. Subsequent registrations overwrite the previous ones. -// -// By default no callback is registered in which case the errors are written to stderr. -// -// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). -// Multiple calls to the error writer may occure for one failure. -// -// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer -// will be propagated to hostpolicy for the duration of the call. This means that errors from -// both hostfxr and hostpolicy will be reporter through the same error writer. -// -typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); - -typedef void* hostfxr_handle; -struct hostfxr_initialize_parameters -{ - size_t size; - const char_t *host_path; - const char_t *dotnet_root; -}; - -// -// Initializes the hosting components for a dotnet command line running an application -// -// Parameters: -// argc -// Number of argv arguments -// argv -// Command-line arguments for running an application (as if through the dotnet executable). -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// HostInvalidState - Hosting components are already initialized -// -// This function parses the specified command-line arguments to determine the application to run. It will -// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and -// dependencies and prepare everything needed to load the runtime. -// -// This function only supports arguments for running an application. It does not support SDK commands. -// -// This function does not load the runtime. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( - int argc, - const char_t **argv, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Initializes the hosting components using a .runtimeconfig.json file -// -// Parameters: -// runtime_config_path -// Path to the .runtimeconfig.json file -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components -// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components -// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components -// -// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed -// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that -// may be next to the .runtimeconfig.json). -// -// This function does not load the runtime. -// -// If called when the runtime has already been loaded, this function will check if the specified runtime -// config is compatible with the existing runtime. -// -// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful -// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that -// the difference in properties is acceptable. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( - const char_t *runtime_config_path, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Gets the runtime property value for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Out parameter. Pointer to a buffer with the property value. -// -// Return value: -// The error code result. -// -// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// property value for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - /*out*/ const char_t **value); - -// -// Sets the value of a runtime property for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Value to set -// -// Return value: -// The error code result. -// -// Setting properties is only supported for the first host context, before the runtime has been loaded. -// -// If the property already exists in the host context, it will be overwritten. If value is nullptr, the -// property will be removed. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - const char_t *value); - -// -// Gets all the runtime properties for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// count -// [in] Size of the keys and values buffers -// [out] Number of properties returned (size of keys/values buffers used). If the input value is too -// small or keys/values is nullptr, this is populated with the number of available properties -// keys -// Array of pointers to buffers with runtime property keys -// values -// Array of pointers to buffers with runtime property values -// -// Return value: -// The error code result. -// -// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// properties for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( - const hostfxr_handle host_context_handle, - /*inout*/ size_t * count, - /*out*/ const char_t **keys, - /*out*/ const char_t **values); - -// -// Load CoreCLR and run the application for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// If the app was successfully run, the exit code of the application. Otherwise, the error code result. -// -// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. -// -// This function will not return until the managed application exits. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); - -// -// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// type -// Type of runtime delegate requested -// delegate -// An out parameter that will be assigned the delegate. -// -// Return value: -// The error code result. -// -// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, -// then all delegate types are supported. -// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, -// then only the following delegate types are currently supported: -// hdt_load_assembly_and_get_function_pointer -// hdt_get_function_pointer -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( - const hostfxr_handle host_context_handle, - enum hostfxr_delegate_type type, - /*out*/ void **delegate); - -// -// Closes an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// The error code result. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); - -#endif //__HOSTFXR_H__ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a deleted file mode 100644 index 9729f545..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.so deleted file mode 100644 index 042c487f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a deleted file mode 100644 index 3263d00e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.so deleted file mode 100644 index f3b007f3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a deleted file mode 100644 index e6854c38..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.so deleted file mode 100644 index 218e1100..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a deleted file mode 100644 index 1b5f6d07..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.so deleted file mode 100644 index 02d1d666..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libclrjit.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libclrjit.so deleted file mode 100644 index 60bf7c6c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libclrjit.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.so deleted file mode 100644 index 865f1709..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclrtraceptprovider.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclrtraceptprovider.so deleted file mode 100644 index f8e7ba74..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclrtraceptprovider.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.so deleted file mode 100644 index 131f78b3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.so deleted file mode 100644 index 055504f1..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.so deleted file mode 100644 index 884501e7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.so b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.so deleted file mode 100644 index e5c5c4df..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.so and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libnethost.a b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libnethost.a deleted file mode 100644 index 496d7bef..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libnethost.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll deleted file mode 100644 index 02b38ea6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/nethost.h b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/nethost.h deleted file mode 100644 index 31adde5e..00000000 --- a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/nethost.h +++ /dev/null @@ -1,99 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __NETHOST_H__ -#define __NETHOST_H__ - -#include - -#ifdef _WIN32 - #ifdef NETHOST_EXPORT - #define NETHOST_API __declspec(dllexport) - #else - // Consuming the nethost as a static library - // Shouldn't export attempt to dllimport. - #ifdef NETHOST_USE_AS_STATIC - #define NETHOST_API - #else - #define NETHOST_API __declspec(dllimport) - #endif - #endif - - #define NETHOST_CALLTYPE __stdcall - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #ifdef NETHOST_EXPORT - #define NETHOST_API __attribute__((__visibility__("default"))) - #else - #define NETHOST_API - #endif - - #define NETHOST_CALLTYPE - typedef char char_t; -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -// Parameters for get_hostfxr_path -// -// Fields: -// size -// Size of the struct. This is used for versioning. -// -// assembly_path -// Path to the compenent's assembly. -// If specified, hostfxr is located as if the assembly_path is the apphost -// -// dotnet_root -// Path to directory containing the dotnet executable. -// If specified, hostfxr is located as if an application is started using -// 'dotnet app.dll', which means it will be searched for under the dotnet_root -// path and the assembly_path is ignored. -// -struct get_hostfxr_parameters { - size_t size; - const char_t *assembly_path; - const char_t *dotnet_root; -}; - -// -// Get the path to the hostfxr library -// -// Parameters: -// buffer -// Buffer that will be populated with the hostfxr path, including a null terminator. -// -// buffer_size -// [in] Size of buffer in char_t units. -// [out] Size of buffer used in char_t units. If the input value is too small -// or buffer is nullptr, this is populated with the minimum required size -// in char_t units for a buffer to hold the hostfxr path -// -// get_hostfxr_parameters -// Optional. Parameters that modify the behaviour for locating the hostfxr library. -// If nullptr, hostfxr is located using the enviroment variable or global registration -// -// Return value: -// 0 on success, otherwise failure -// 0x80008098 - buffer is too small (HostApiBufferTooSmall) -// -// Remarks: -// The full search for the hostfxr library is done on every call. To minimize the need -// to call this function multiple times, pass a large buffer (e.g. PATH_MAX). -// -NETHOST_API int NETHOST_CALLTYPE get_hostfxr_path( - char_t * buffer, - size_t * buffer_size, - const struct get_hostfxr_parameters *parameters); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // __NETHOST_H__ diff --git a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll b/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll deleted file mode 100644 index 1a65cf65..00000000 Binary files a/plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/LICENSE.txt b/plugins/UnrealCLR/Runtime/Mac/LICENSE.txt deleted file mode 100644 index 984713a4..00000000 --- a/plugins/UnrealCLR/Runtime/Mac/LICENSE.txt +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/plugins/UnrealCLR/Runtime/Mac/ThirdPartyNotices.txt b/plugins/UnrealCLR/Runtime/Mac/ThirdPartyNotices.txt deleted file mode 100644 index b8d644c4..00000000 --- a/plugins/UnrealCLR/Runtime/Mac/ThirdPartyNotices.txt +++ /dev/null @@ -1,1219 +0,0 @@ -.NET Runtime uses third-party libraries or other resources that may be -distributed under licenses different than the .NET Runtime software. - -In the event that we accidentally failed to list a required notice, please -bring it to our attention. Post an issue or email us: - - dotnet@microsoft.com - -The attached notices are provided for information only. - -License notice for ASP.NET -------------------------------- - -Copyright (c) .NET Foundation. All rights reserved. -Licensed under the Apache License, Version 2.0. - -Available at -https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt - -License notice for Slicing-by-8 -------------------------------- - -http://sourceforge.net/projects/slicing-by-8/ - -Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - - -This software program is licensed subject to the BSD License, available at -http://www.opensource.org/licenses/bsd-license.html. - -License notice for Unicode data -------------------------------- - -https://www.unicode.org/license.html - -Copyright © 1991-2020 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - -License notice for Zlib ------------------------ - -https://github.com/madler/zlib -http://zlib.net/zlib_license.html - -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -*/ - -License notice for Mono -------------------------------- - -http://www.mono-project.com/docs/about-mono/ - -Copyright (c) .NET Foundation Contributors - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the Software), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for International Organization for Standardization ------------------------------------------------------------------ - -Portions (C) International Organization for Standardization 1986: - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. - -License notice for Intel ------------------------- - -"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xamarin and Novell -------------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Third party notice for W3C --------------------------- - -"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE -Status: This license takes effect 13 May, 2015. -This work is being provided by the copyright holders under the following license. -License -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: -The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." - -License notice for Bit Twiddling Hacks --------------------------------------- - -Bit Twiddling Hacks - -By Sean Eron Anderson -seander@cs.stanford.edu - -Individually, the code snippets here are in the public domain (unless otherwise -noted) — feel free to use them however you please. The aggregate collection and -descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are -distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and -without even the implied warranty of merchantability or fitness for a particular -purpose. - -License notice for Brotli --------------------------------------- - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -compress_fragment.c: -Copyright (c) 2011, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -decode_fuzzer.c: -Copyright (c) 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - -License notice for Json.NET -------------------------------- - -https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md - -The MIT License (MIT) - -Copyright (c) 2007 James Newton-King - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized base64 encoding / decoding --------------------------------------------------------- - -Copyright (c) 2005-2007, Nick Galbreath -Copyright (c) 2013-2017, Alfred Klomp -Copyright (c) 2015-2017, Wojciech Mula -Copyright (c) 2016-2017, Matthieu Darbois -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for RFC 3492 ---------------------------- - -The punycode implementation is based on the sample code in RFC 3492 - -Copyright (C) The Internet Society (2003). All Rights Reserved. - -This document and translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it -or assist in its implementation may be prepared, copied, published -and distributed, in whole or in part, without restriction of any -kind, provided that the above copyright notice and this paragraph are -included on all such copies and derivative works. However, this -document itself may not be modified in any way, such as by removing -the copyright notice or references to the Internet Society or other -Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for -copyrights defined in the Internet Standards process must be -followed, or as required to translate it into languages other than -English. - -The limited permissions granted above are perpetual and will not be -revoked by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an -"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" ---------------------------------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, or Digital Equipment Corporation be used in advertising -or publicity pertaining to distribution of the software without -specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment -Corporation makes any representations about the suitability of -this software for any purpose. - -Copyright(C) The Internet Society 1997. All Rights Reserved. - -This document and translations of it may be copied and furnished to others, -and derivative works that comment on or otherwise explain it or assist in -its implementation may be prepared, copied, published and distributed, in -whole or in part, without restriction of any kind, provided that the above -copyright notice and this paragraph are included on all such copies and -derivative works.However, this document itself may not be modified in any -way, such as by removing the copyright notice or references to the Internet -Society or other Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for copyrights -defined in the Internet Standards process must be followed, or as required -to translate it into languages other than English. - -The limited permissions granted above are perpetual and will not be revoked -by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an "AS IS" -basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE -DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY -RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A -PARTICULAR PURPOSE. - -License notice for Algorithm from RFC 4122 - -A Universally Unique IDentifier (UUID) URN Namespace ----------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -Copyright (c) 1998 Microsoft. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, Microsoft, or Digital Equipment Corporation be used in -advertising or publicity pertaining to distribution of the software -without specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital -Equipment Corporation makes any representations about the -suitability of this software for any purpose." - -License notice for The LLVM Compiler Infrastructure ---------------------------------------------------- - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. - -License notice for Bob Jenkins ------------------------------- - -By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this -code any way you wish, private, educational, or commercial. It's free. - -License notice for Greg Parker ------------------------------- - -Greg Parker gparker@cs.stanford.edu December 2000 -This code is in the public domain and may be copied or modified without -permission. - -License notice for libunwind based code ----------------------------------------- - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for Printing Floating-Point Numbers (Dragon4) ------------------------------------------------------------- - -/****************************************************************************** - Copyright (c) 2014 Ryan Juckett - http://www.ryanjuckett.com/ - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -******************************************************************************/ - -License notice for Printing Floating-point Numbers (Grisu3) ------------------------------------------------------------ - -Copyright 2012 the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for xxHash -------------------------- - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Berkeley SoftFloat Release 3e ------------------------------------------------- - -https://github.com/ucb-bar/berkeley-softfloat-3 -https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt - -License for Berkeley SoftFloat Release 3e - -John R. Hauser -2018 January 20 - -The following applies to the whole of SoftFloat Release 3e as well as to -each source file individually. - -Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the -University of California. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xorshift RNGs --------------------------------- - -George Marsaglia -2003-07-04 -Journal of Statistical Software -License: http://creativecommons.org/licenses/by/3.0/ - -https://www.jstatsoft.org/article/view/v008i14 -https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf - -License notice for Xorshift (Wikipedia) ---------------------------------------- - -https://en.wikipedia.org/wiki/Xorshift -License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License - -License for fastmod (https://github.com/lemire/fastmod) --------------------------------------- - - Copyright 2018 Daniel Lemire - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -License notice for The C++ REST SDK ------------------------------------ - -C++ REST SDK - -The MIT License (MIT) - -Copyright (c) Microsoft Corporation - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for MessagePack-CSharp -------------------------------------- - -MessagePack for C# - -MIT License - -Copyright (c) 2017 Yoshifumi Kawai - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for lz4net -------------------------------------- - -lz4net - -Copyright (c) 2013-2017, Milosz Krajewski - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Nerdbank.Streams ------------------------------------ - -The MIT License (MIT) - -Copyright (c) Andrew Arnott - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for RapidJSON ----------------------------- - -Tencent is pleased to support the open source community by making RapidJSON available. - -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - -Licensed under the MIT License (the "License"); you may not use this file except -in compliance with the License. You may obtain a copy of the License at - -http://opensource.org/licenses/MIT - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - -License notice for DirectX Math Library ---------------------------------------- - -https://github.com/microsoft/DirectXMath/blob/master/LICENSE - - The MIT License (MIT) - -Copyright (c) 2011-2020 Microsoft Corp - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be included in all copies -or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF -CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for ldap4net ---------------------------- - -The MIT License (MIT) - -Copyright (c) 2018 Alexander Chermyanin - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized sorting code ------------------------------------------- - -MIT License - -Copyright (c) 2020 Dan Shechter - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for Angular v8.0 --------------------------------------------- -The MIT License (MIT) -===================== - -Copyright (c) 2010-2019 Google LLC. http://angular.io/license - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -License notice for corefx - -License notice for BedrockFramework -=================================== - -MIT License - -Copyright (c) 2019 David Fowler - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for Swashbuckle -=================================== - -The MIT License (MIT) - -Copyright (c) 2016 Richard Morris - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for cli-spinners -============================================= - -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for dotnet-deb-tool ------------------------------------- - -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for IIS-Common ------------------------------------- - -MIT License - -Copyright (c) Microsoft Corporation. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - -License notice for IIS-Setup ------------------------------------- - -MIT License - -Copyright (c) Microsoft Corporation. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - -License notice for LZMA SDK ---------------------------- - -http://7-zip.org/sdk.html - -LZMA SDK is placed in the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or distribute the -original LZMA SDK code, either in source code form or as a compiled binary, -for any purpose, commercial or non-commercial, and by any means. - -License notice for MonoDevelop ------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -License notice for Nuget.Client -------------------------------- - -Copyright (c) .NET Foundation. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -these files except in compliance with the License. You may obtain a copy of the -License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - -License notice for Ookie.Dialogs --------------------------------- - -http://www.ookii.org/software/dialogs/ - -Copyright © Sven Groot (Ookii.org) 2009 -All rights reserved. - - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1) Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2) Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3) Neither the name of the ORGANIZATION nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - -License notice for viz.js ------------------------------------- - -Copyright (c) 2014-2018 Michael Daines - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for West Wind Live Reload ASP.NET Core Middleware -============================================= - - - ---- - -lz4net - -Copyright (c) 2013-2017, Milosz Krajewski - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -MIT License ------------ - -Copyright (c) 2019-2020 West Wind Technologies - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/plugins/UnrealCLR/Runtime/Mac/host/fxr/5.0.9/libhostfxr.dylib b/plugins/UnrealCLR/Runtime/Mac/host/fxr/5.0.9/libhostfxr.dylib deleted file mode 100644 index 080cef41..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/host/fxr/5.0.9/libhostfxr.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/.version b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/.version deleted file mode 100644 index aaa309c1..00000000 --- a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/.version +++ /dev/null @@ -1,2 +0,0 @@ -208e377a5329ad6eb1db5e5fb9d4590fa50beadd -5.0.9 diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll deleted file mode 100644 index db31a63c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json deleted file mode 100644 index cd6220a6..00000000 --- a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json +++ /dev/null @@ -1,1100 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v5.0/osx-x64", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v5.0": {}, - ".NETCoreApp,Version=v5.0/osx-x64": { - "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {}, - "Microsoft.DiaSymReader.Native/1.7.0": {}, - "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": {}, - "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": {}, - "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": {}, - "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { - "dependencies": { - "Microsoft.NETCore.DotNetHostPolicy": "5.0.9", - "Microsoft.NETCore.Platforms": "5.0.0", - "Microsoft.NETCore.Targets": "5.0.0", - "NETStandard.Library": "2.2.0-prerelease.19564.1", - "runtime.osx-x64.Microsoft.NETCore.App": "5.0.9-servicing.21359.8" - } - }, - "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "dependencies": { - "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy": "5.0.9" - } - }, - "Microsoft.NETCore.Platforms/5.0.0": {}, - "Microsoft.NETCore.Targets/5.0.0": {}, - "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": {}, - "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", - "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" - } - }, - "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {}, - "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", - "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" - } - }, - "NETStandard.Library/2.2.0-prerelease.19564.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "runtime.osx-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "runtime": { - "runtimes/osx-x64/lib/net5.0/Microsoft.CSharp.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/Microsoft.VisualBasic.Core.dll": { - "assemblyVersion": "10.0.6.0", - "fileVersion": "11.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/Microsoft.VisualBasic.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/Microsoft.Win32.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/Microsoft.Win32.Registry.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.AppContext.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Buffers.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Collections.Concurrent.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Collections.Immutable.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Collections.NonGeneric.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Collections.Specialized.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Collections.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ComponentModel.Annotations.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ComponentModel.DataAnnotations.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ComponentModel.EventBasedAsync.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ComponentModel.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ComponentModel.TypeConverter.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ComponentModel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Configuration.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Console.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Core.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Data.Common.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Data.DataSetExtensions.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Data.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Contracts.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Debug.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.DiagnosticSource.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.FileVersionInfo.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Process.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.StackTrace.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.TextWriterTraceListener.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Tools.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.TraceSource.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Tracing.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Drawing.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Drawing.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Dynamic.Runtime.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Formats.Asn1.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Globalization.Calendars.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Globalization.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Globalization.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.Compression.Brotli.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.Compression.FileSystem.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.Compression.ZipFile.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.Compression.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.DriveInfo.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.Watcher.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.IsolatedStorage.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.MemoryMappedFiles.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.Pipes.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.Pipes.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.UnmanagedMemoryStream.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.IO.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Linq.Expressions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Linq.Parallel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Linq.Queryable.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Linq.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Memory.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Http.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Http.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.HttpListener.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Mail.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.NameResolution.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.NetworkInformation.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Ping.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Requests.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Security.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.ServicePoint.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.Sockets.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.WebClient.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.WebHeaderCollection.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.WebProxy.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.WebSockets.Client.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.WebSockets.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Net.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Numerics.Vectors.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Numerics.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ObjectModel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Private.DataContractSerialization.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Private.Uri.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Private.Xml.Linq.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Private.Xml.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.DispatchProxy.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.Emit.ILGeneration.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.Emit.Lightweight.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.Emit.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.Metadata.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.TypeExtensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Reflection.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Resources.Reader.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Resources.ResourceManager.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Resources.Writer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.CompilerServices.Unsafe.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.CompilerServices.VisualC.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Handles.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.InteropServices.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Intrinsics.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Loader.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Numerics.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Formatters.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Xml.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Runtime.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Claims.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Algorithms.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Cng.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Csp.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Encoding.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.OpenSsl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.X509Certificates.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Principal.Windows.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.Principal.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.SecureString.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Security.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ServiceModel.Web.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ServiceProcess.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Text.Encoding.CodePages.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Text.Encoding.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Text.Encoding.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Text.Encodings.Web.dll": { - "assemblyVersion": "5.0.0.1", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Text.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Text.RegularExpressions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Channels.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Overlapped.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.Dataflow.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.Parallel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Thread.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.ThreadPool.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.Timer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Threading.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Transactions.Local.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Transactions.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.ValueTuple.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Web.HttpUtility.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Web.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Windows.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.Linq.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.ReaderWriter.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.Serialization.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.XDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.XPath.XDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.XPath.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.XmlDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.XmlSerializer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.Xml.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/System.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/WindowsBase.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/mscorlib.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/lib/net5.0/netstandard.dll": { - "assemblyVersion": "2.1.0.0", - "fileVersion": "5.0.921.35908" - } - }, - "native": { - "runtimes/osx-x64/native/System.Private.CoreLib.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/osx-x64/native/createdump": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.IO.Compression.Native.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.IO.Compression.Native.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Native.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Native.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Net.Security.Native.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Net.Security.Native.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.Apple.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.Apple.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.a": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libclrjit.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libcoreclr.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libdbgshim.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libmscordaccore.dylib": { - "fileVersion": "0.0.0.0" - }, - "runtimes/osx-x64/native/libmscordbi.dylib": { - "fileVersion": "0.0.0.0" - } - } - }, - "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "native": { - "runtimes/osx-x64/native/libhostpolicy.dylib": { - "fileVersion": "0.0.0.0" - } - } - } - } - }, - "libraries": { - "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hZ9leS9Yd9MHpqvviMftSJFDcLYu2h1DrapW1TDm1s1fgOy71c8HvArNMd3fseVkXmp3VTfGnkgcw0FR+TI6xw==", - "path": "microsoft.build.tasks.git/1.1.0-beta-20206-02", - "hashPath": "microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.DiaSymReader.Native/1.7.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vIzndj0MoWW2Mp/iztUSKvmR9vZTqOVQ6PBvwA57+CDoiz7eUMU15rrAX+/QA0bkmwQ08GRibFBB9LNOl0EiBA==", - "path": "microsoft.diasymreader.native/1.7.0", - "hashPath": "microsoft.diasymreader.native.1.7.0.nupkg.sha512" - }, - "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-68fxMTtraSXCUYZx7vNVb9PvIJ9FhPjymbvrkl/6h7S/NlQz6bxyZksTd6ghMs4gyQLHRCuDX/O/dT6Gd6qIag==", - "path": "microsoft.dotnet.build.tasks.installers/5.0.0-beta.21328.3", - "hashPath": "microsoft.dotnet.build.tasks.installers.5.0.0-beta.21328.3.nupkg.sha512" - }, - "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rswwdycY3QmJ3DvyOGVMHDdZxxnE76MQFWZWqhniJqgbXPefQnXvDF4YXgCPnAENDYtsjohpaav1XDEyt84UHw==", - "path": "microsoft.dotnet.build.tasks.packaging/5.0.0-beta.21328.3", - "hashPath": "microsoft.dotnet.build.tasks.packaging.5.0.0-beta.21328.3.nupkg.sha512" - }, - "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jfscID/5IHHPVVEbFCAJEUEWCeWNZCLwyBcUFG3/u44oiRd/aseDOYRzl3OnIIvcwzi0U2lSAs6Lt2+rdRIDMg==", - "path": "microsoft.net.compilers.toolset/3.8.0-4.20503.2", - "hashPath": "microsoft.net.compilers.toolset.3.8.0-4.20503.2.nupkg.sha512" - }, - "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-lw8nlujo0dtZbVGbCpxlGclGQwpMeHLCJhwwFSPtWTeIPMJP0k96FC4NxoMTliPrWD+0J+kH4uG5LXb6ZlNmmQ==", - "path": "microsoft.netcore.app/5.0.9-servicing.21359.8", - "hashPath": "microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-M63GPtpGW91KKcdkL9J9r40q/PedKGM2r2oq1d7ySCtpzun5G59Grd0xLKiXnE/E8Qdwp5G7o+ltOEMShZap/A==", - "path": "microsoft.netcore.app.internal/5.0.9-servicing.21359.8", - "hashPath": "microsoft.netcore.app.internal.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-LW9pW4NnQgkya5PbC1pWgFRcOINTW/oUd+aBp57kCnAzAMGcOOkIdRq65mbWAYO7iSvmI08IlE0/mMOBeb4KQA==" - }, - "Microsoft.NETCore.Platforms/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", - "path": "microsoft.netcore.platforms/5.0.0", - "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" - }, - "Microsoft.NETCore.Targets/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-XpSaRv9/+V4KQ5KPbvRoArKy1o9WHizFEdOXPBLHXRZ0zwPGK5cTcWo1SveD7uayrfhod1uAAscip65qLeAjCw==", - "path": "microsoft.netcore.targets/5.0.0", - "hashPath": "microsoft.netcore.targets.5.0.0.nupkg.sha512" - }, - "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-m+pJPEO7HyXvrOna5Sr3s77ewXonjYWJTNL6drh8xACnMNxnlqUDKx9HfGeSE9wmfY0lQwppaeZpFTPGaH7kZg==", - "path": "microsoft.netframework.referenceassemblies/1.0.0-preview.2", - "hashPath": "microsoft.netframework.referenceassemblies.1.0.0-preview.2.nupkg.sha512" - }, - "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vVYhSds9TfraTQkGHHMDMVWnr3kCkTZ7vmqUmrXQBDJFXiWTuMoP5RRa9s1M/KmgB4szi5TOb7sOaHWKDT9qDA==", - "path": "microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-aek0RTQ+4Bf11WvqaXajwYoaBWkX2edBjAr5XJOvhAsHX6/9vPOb7IpHAiE/NyCse7IcpGWslJZHNkv4UBEFqw==", - "path": "microsoft.sourcelink.common/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7A7P0EwL+lypaI/CEvG4IcpAlQeAt04uPPw1SO6Q9Jwz2nE9309pQXJ4TfP/RLL8IOObACidN66+gVR+bJDZHw==", - "path": "microsoft.sourcelink.github/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg.sha512" - }, - "NETStandard.Library/2.2.0-prerelease.19564.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-y7Z0OKA/O5mW8aPEI4oXTSjinUTwGDwKEZMKTGdzb+vLgGRuvrZrs1YidcFN2kIKOo/11bOSNfKn4lsOLUWHkQ==", - "path": "netstandard.library/2.2.0-prerelease.19564.1", - "hashPath": "netstandard.library.2.2.0-prerelease.19564.1.nupkg.sha512" - }, - "runtime.osx-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-C/rb6+Z9wc6vzZOAGvQHeW72lIku46eA6GyOQSHKNibcK7bEKA5LszqOdTykDYMZPNb7GCeG1SLQSTE7Uo4Lqg==", - "path": "runtime.osx-x64.microsoft.netcore.app/5.0.9-servicing.21359.8", - "hashPath": "runtime.osx-x64.microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-WmIZnGivOuoFmBCBGeM7WILtTwb+x8Ahv62b6k241pjqlVomHFb2aJ4STUgM/XUdM+0gilIkQA4rq2ZPhXTygg==" - } - }, - "runtimes": { - "osx-x64": [ - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx": [ - "unix", - "any", - "base" - ], - "osx-arm64": [ - "osx", - "unix-arm64", - "unix", - "any", - "base" - ], - "osx.10.10": [ - "osx", - "unix", - "any", - "base" - ], - "osx.10.10-x64": [ - "osx.10.10", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx.10.11": [ - "osx.10.10", - "osx", - "unix", - "any", - "base" - ], - "osx.10.11-x64": [ - "osx.10.11", - "osx.10.10-x64", - "osx.10.10", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx.10.12": [ - "osx.10.11", - "osx.10.10", - "osx", - "unix", - "any", - "base" - ], - "osx.10.12-x64": [ - "osx.10.12", - "osx.10.11-x64", - "osx.10.11", - "osx.10.10-x64", - "osx.10.10", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx.10.13": [ - "osx.10.12", - "osx.10.11", - "osx.10.10", - "osx", - "unix", - "any", - "base" - ], - "osx.10.13-x64": [ - "osx.10.13", - "osx.10.12-x64", - "osx.10.12", - "osx.10.11-x64", - "osx.10.11", - "osx.10.10-x64", - "osx.10.10", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx.10.14": [ - "osx.10.13", - "osx.10.12", - "osx.10.11", - "osx.10.10", - "osx", - "unix", - "any", - "base" - ], - "osx.10.14-x64": [ - "osx.10.14", - "osx.10.13-x64", - "osx.10.13", - "osx.10.12-x64", - "osx.10.12", - "osx.10.11-x64", - "osx.10.11", - "osx.10.10-x64", - "osx.10.10", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx.10.15": [ - "osx.10.14", - "osx.10.13", - "osx.10.12", - "osx.10.11", - "osx.10.10", - "osx", - "unix", - "any", - "base" - ], - "osx.10.15-x64": [ - "osx.10.15", - "osx.10.14-x64", - "osx.10.14", - "osx.10.13-x64", - "osx.10.13", - "osx.10.12-x64", - "osx.10.12", - "osx.10.11-x64", - "osx.10.11", - "osx.10.10-x64", - "osx.10.10", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx.11": [ - "osx", - "unix", - "any", - "base" - ], - "osx.11-arm64": [ - "osx.11", - "osx-arm64", - "osx", - "unix-arm64", - "unix", - "any", - "base" - ], - "osx.11-x64": [ - "osx.11", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ], - "osx.11.0": [ - "osx.11", - "osx", - "unix", - "any", - "base" - ], - "osx.11.0-arm64": [ - "osx.11.0", - "osx.11-arm64", - "osx.11", - "osx-arm64", - "osx", - "unix-arm64", - "unix", - "any", - "base" - ], - "osx.11.0-x64": [ - "osx.11.0", - "osx.11-x64", - "osx.11", - "osx-x64", - "osx", - "unix-x64", - "unix", - "any", - "base" - ] - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll deleted file mode 100644 index 39c495a7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll deleted file mode 100644 index 703864ce..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll deleted file mode 100644 index 4dd2d5d3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll deleted file mode 100644 index 7c438970..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll deleted file mode 100644 index 483be75f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll deleted file mode 100644 index e6e103ce..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll deleted file mode 100644 index 4c8b1131..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll deleted file mode 100644 index 346391c8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll deleted file mode 100644 index 1c923e71..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll deleted file mode 100644 index 276fb832..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll deleted file mode 100644 index cf7dcdf4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll deleted file mode 100644 index 52e75d1d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll deleted file mode 100644 index 1ba0ba0a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll deleted file mode 100644 index 12ce9425..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll deleted file mode 100644 index 65f21106..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll deleted file mode 100644 index 0791769a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll deleted file mode 100644 index 9c15f5a2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll deleted file mode 100644 index e662bdb3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll deleted file mode 100644 index efe0f467..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll deleted file mode 100644 index c59b0520..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll deleted file mode 100644 index a7613112..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll deleted file mode 100644 index b2647cbc..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll deleted file mode 100644 index c4760a8b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll deleted file mode 100644 index 372068b5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll deleted file mode 100644 index cb9a2c49..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll deleted file mode 100644 index 3a240469..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll deleted file mode 100644 index 0e2fd806..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll deleted file mode 100644 index ca65f958..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll deleted file mode 100644 index 27489472..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll deleted file mode 100644 index e8012b07..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll deleted file mode 100644 index a2cfb1b8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll deleted file mode 100644 index 61e5e33c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll deleted file mode 100644 index e1f43a24..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll deleted file mode 100644 index 78448ea0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll deleted file mode 100644 index 2b46c936..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll deleted file mode 100644 index 33a1a639..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll deleted file mode 100644 index c0236740..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll deleted file mode 100644 index f9b3442a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll deleted file mode 100644 index d3d60495..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll deleted file mode 100644 index 30dc126e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll deleted file mode 100644 index 51c9f58b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll deleted file mode 100644 index 8da36f52..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll deleted file mode 100644 index 25a46ac1..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll deleted file mode 100644 index 9c76249d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll deleted file mode 100644 index 0a777aa7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll deleted file mode 100644 index 4220043d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll deleted file mode 100644 index 633d80d3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll deleted file mode 100644 index c9a9853c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll deleted file mode 100644 index a566302f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll deleted file mode 100644 index 7f20cc51..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll deleted file mode 100644 index f194e267..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll deleted file mode 100644 index 89de68e7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll deleted file mode 100644 index d833c406..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll deleted file mode 100644 index b6f5494f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll deleted file mode 100644 index b3a0ef1f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll deleted file mode 100644 index 3b20a1c4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll deleted file mode 100644 index 2500830b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll deleted file mode 100644 index c9f33acc..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll deleted file mode 100644 index 8de7a27f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll deleted file mode 100644 index 264b7484..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll deleted file mode 100644 index 06d968aa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll deleted file mode 100644 index 95c93073..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll deleted file mode 100644 index 2a2b8d41..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll deleted file mode 100644 index 10d47f61..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll deleted file mode 100644 index dea6ee2d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll deleted file mode 100644 index 1459a145..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll deleted file mode 100644 index f991756d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll deleted file mode 100644 index c1698785..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll deleted file mode 100644 index 33b47f85..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll deleted file mode 100644 index 1ed087a6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll deleted file mode 100644 index adb8af13..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll deleted file mode 100644 index a403d4fa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll deleted file mode 100644 index 3fbae84f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll deleted file mode 100644 index 0f69edcd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll deleted file mode 100644 index 07a38f09..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll deleted file mode 100644 index ed67c1e4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll deleted file mode 100644 index 8f0aa540..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll deleted file mode 100644 index 4a9577cd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll deleted file mode 100644 index aa3e2a1f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll deleted file mode 100644 index d923e6cf..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll deleted file mode 100644 index 070e828a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll deleted file mode 100644 index 764ad036..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll deleted file mode 100644 index 5449f879..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll deleted file mode 100644 index 5400e948..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll deleted file mode 100644 index 80c54108..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll deleted file mode 100644 index be956f53..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll deleted file mode 100644 index 2da4d167..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll deleted file mode 100644 index 2c03d345..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll deleted file mode 100644 index 3a9b6477..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll deleted file mode 100644 index 7a66d07c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll deleted file mode 100644 index 7052d86d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll deleted file mode 100644 index 5c988aa9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll deleted file mode 100644 index c73cef4c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll deleted file mode 100644 index 0e3331c7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll deleted file mode 100644 index 50d30d22..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll deleted file mode 100644 index 43d93267..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll deleted file mode 100644 index 5045e08e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll deleted file mode 100644 index 476a33b6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll deleted file mode 100644 index 5384d059..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll deleted file mode 100644 index 0aa5f202..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll deleted file mode 100644 index 5ee58806..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll deleted file mode 100644 index 7a21aac6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll deleted file mode 100644 index 94512d7c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll deleted file mode 100644 index afe14d2e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll deleted file mode 100644 index 81844967..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll deleted file mode 100644 index 0c9801ff..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll deleted file mode 100644 index c6d0391d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll deleted file mode 100644 index aa2f173e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll deleted file mode 100644 index 41d7482a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll deleted file mode 100644 index 9a992a8f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll deleted file mode 100644 index e5039edf..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll deleted file mode 100644 index a63829e2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll deleted file mode 100644 index 746b9b76..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll deleted file mode 100644 index ba4c3b8a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll deleted file mode 100644 index d4e30999..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll deleted file mode 100644 index 60aacf8f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll deleted file mode 100644 index 20c785ce..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll deleted file mode 100644 index 4da9efb7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll deleted file mode 100644 index 0a45dd6a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll deleted file mode 100644 index 1cde9bec..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll deleted file mode 100644 index 6806b95c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll deleted file mode 100644 index eaf17a77..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll deleted file mode 100644 index 2a9fe933..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll deleted file mode 100644 index ad481be9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll deleted file mode 100644 index ba0281d0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll deleted file mode 100644 index e01419a9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll deleted file mode 100644 index 8a47fd30..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll deleted file mode 100644 index d8a207a7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll deleted file mode 100644 index d5da1f1e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll deleted file mode 100644 index ad69edca..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll deleted file mode 100644 index 80448d74..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll deleted file mode 100644 index 2d170ab0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll deleted file mode 100644 index d6473a4f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll deleted file mode 100644 index a1afa604..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll deleted file mode 100644 index dd3fae6d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll deleted file mode 100644 index f0049b31..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll deleted file mode 100644 index 9a6e490a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll deleted file mode 100644 index 67681fcf..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll deleted file mode 100644 index 8a9b5ea1..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll deleted file mode 100644 index 53e0ba1f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll deleted file mode 100644 index 884de054..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll deleted file mode 100644 index ce372bb2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll deleted file mode 100644 index 9a060d78..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll deleted file mode 100644 index 28ce059e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll deleted file mode 100644 index 4cb41f83..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll deleted file mode 100644 index b3d1092f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll deleted file mode 100644 index 4b109924..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll deleted file mode 100644 index 491f0deb..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll deleted file mode 100644 index 18ffaa74..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll deleted file mode 100644 index 24e46d49..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll deleted file mode 100644 index b797f840..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll deleted file mode 100644 index b6d8d2c6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll deleted file mode 100644 index 0392683a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll deleted file mode 100644 index 939e937d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll deleted file mode 100644 index f5d8bf86..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll deleted file mode 100644 index 3e41bb18..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll deleted file mode 100644 index c8bd064c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll deleted file mode 100644 index aa4dd253..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll deleted file mode 100644 index 8a8d1e2b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.dll deleted file mode 100644 index 2783ae63..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll deleted file mode 100644 index 5a266c65..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h deleted file mode 100644 index 914ab592..00000000 --- a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h +++ /dev/null @@ -1,47 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __CORECLR_DELEGATES_H__ -#define __CORECLR_DELEGATES_H__ - -#include - -#if defined(_WIN32) - #define CORECLR_DELEGATE_CALLTYPE __stdcall - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define CORECLR_DELEGATE_CALLTYPE - typedef char char_t; -#endif - -#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) - -// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer -typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( - const char_t *assembly_path /* Fully qualified path to assembly */, - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) -typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); - -typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null, - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *load_context /* Extensibility parameter (currently unused and must be 0) */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -#endif // __CORECLR_DELEGATES_H__ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/createdump b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/createdump deleted file mode 100644 index 8c837381..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/createdump and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h deleted file mode 100644 index e062193c..00000000 --- a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h +++ /dev/null @@ -1,288 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __HOSTFXR_H__ -#define __HOSTFXR_H__ - -#include -#include - -#if defined(_WIN32) - #define HOSTFXR_CALLTYPE __cdecl - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define HOSTFXR_CALLTYPE - typedef char char_t; -#endif - -enum hostfxr_delegate_type -{ - hdt_com_activation, - hdt_load_in_memory_assembly, - hdt_winrt_activation, - hdt_com_register, - hdt_com_unregister, - hdt_load_assembly_and_get_function_pointer, - hdt_get_function_pointer, -}; - -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( - const int argc, - const char_t **argv, - const char_t *host_path, - const char_t *dotnet_root, - const char_t *app_path); -typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( - const int argc, - const char_t** argv, - const char_t* host_path, - const char_t* dotnet_root, - const char_t* app_path, - int64_t bundle_header_offset); - -typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); - -// -// Sets a callback which is to be used to write errors to. -// -// Parameters: -// error_writer -// A callback function which will be invoked every time an error is to be reported. -// Or nullptr to unregister previously registered callback and return to the default behavior. -// Return value: -// The previously registered callback (which is now unregistered), or nullptr if no previous callback -// was registered -// -// The error writer is registered per-thread, so the registration is thread-local. On each thread -// only one callback can be registered. Subsequent registrations overwrite the previous ones. -// -// By default no callback is registered in which case the errors are written to stderr. -// -// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). -// Multiple calls to the error writer may occure for one failure. -// -// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer -// will be propagated to hostpolicy for the duration of the call. This means that errors from -// both hostfxr and hostpolicy will be reporter through the same error writer. -// -typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); - -typedef void* hostfxr_handle; -struct hostfxr_initialize_parameters -{ - size_t size; - const char_t *host_path; - const char_t *dotnet_root; -}; - -// -// Initializes the hosting components for a dotnet command line running an application -// -// Parameters: -// argc -// Number of argv arguments -// argv -// Command-line arguments for running an application (as if through the dotnet executable). -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// HostInvalidState - Hosting components are already initialized -// -// This function parses the specified command-line arguments to determine the application to run. It will -// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and -// dependencies and prepare everything needed to load the runtime. -// -// This function only supports arguments for running an application. It does not support SDK commands. -// -// This function does not load the runtime. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( - int argc, - const char_t **argv, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Initializes the hosting components using a .runtimeconfig.json file -// -// Parameters: -// runtime_config_path -// Path to the .runtimeconfig.json file -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components -// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components -// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components -// -// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed -// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that -// may be next to the .runtimeconfig.json). -// -// This function does not load the runtime. -// -// If called when the runtime has already been loaded, this function will check if the specified runtime -// config is compatible with the existing runtime. -// -// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful -// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that -// the difference in properties is acceptable. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( - const char_t *runtime_config_path, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Gets the runtime property value for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Out parameter. Pointer to a buffer with the property value. -// -// Return value: -// The error code result. -// -// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// property value for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - /*out*/ const char_t **value); - -// -// Sets the value of a runtime property for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Value to set -// -// Return value: -// The error code result. -// -// Setting properties is only supported for the first host context, before the runtime has been loaded. -// -// If the property already exists in the host context, it will be overwritten. If value is nullptr, the -// property will be removed. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - const char_t *value); - -// -// Gets all the runtime properties for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// count -// [in] Size of the keys and values buffers -// [out] Number of properties returned (size of keys/values buffers used). If the input value is too -// small or keys/values is nullptr, this is populated with the number of available properties -// keys -// Array of pointers to buffers with runtime property keys -// values -// Array of pointers to buffers with runtime property values -// -// Return value: -// The error code result. -// -// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// properties for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( - const hostfxr_handle host_context_handle, - /*inout*/ size_t * count, - /*out*/ const char_t **keys, - /*out*/ const char_t **values); - -// -// Load CoreCLR and run the application for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// If the app was successfully run, the exit code of the application. Otherwise, the error code result. -// -// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. -// -// This function will not return until the managed application exits. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); - -// -// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// type -// Type of runtime delegate requested -// delegate -// An out parameter that will be assigned the delegate. -// -// Return value: -// The error code result. -// -// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, -// then all delegate types are supported. -// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, -// then only the following delegate types are currently supported: -// hdt_load_assembly_and_get_function_pointer -// hdt_get_function_pointer -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( - const hostfxr_handle host_context_handle, - enum hostfxr_delegate_type type, - /*out*/ void **delegate); - -// -// Closes an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// The error code result. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); - -#endif //__HOSTFXR_H__ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a deleted file mode 100644 index 286abb9d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.dylib deleted file mode 100644 index 75485d12..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a deleted file mode 100644 index 73b0ea72..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.dylib deleted file mode 100644 index dca3be6c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a deleted file mode 100644 index f53070a7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.dylib deleted file mode 100644 index 25afff51..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.a b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.a deleted file mode 100644 index 7b52d920..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.dylib deleted file mode 100644 index 30e7fe49..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a deleted file mode 100644 index 6d5f997c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.dylib deleted file mode 100644 index a4a41dfa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libclrjit.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libclrjit.dylib deleted file mode 100644 index 2fd5ce6f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libclrjit.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.dylib deleted file mode 100644 index c729f495..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.dylib deleted file mode 100644 index 0f8044b7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.dylib deleted file mode 100644 index af0601bd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.dylib deleted file mode 100644 index 801b7296..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.dylib b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.dylib deleted file mode 100644 index fc6ec693..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.dylib and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libnethost.a b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libnethost.a deleted file mode 100644 index a0b5662c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libnethost.a and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll deleted file mode 100644 index d8ba91dc..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/nethost.h b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/nethost.h deleted file mode 100644 index 31adde5e..00000000 --- a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/nethost.h +++ /dev/null @@ -1,99 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __NETHOST_H__ -#define __NETHOST_H__ - -#include - -#ifdef _WIN32 - #ifdef NETHOST_EXPORT - #define NETHOST_API __declspec(dllexport) - #else - // Consuming the nethost as a static library - // Shouldn't export attempt to dllimport. - #ifdef NETHOST_USE_AS_STATIC - #define NETHOST_API - #else - #define NETHOST_API __declspec(dllimport) - #endif - #endif - - #define NETHOST_CALLTYPE __stdcall - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #ifdef NETHOST_EXPORT - #define NETHOST_API __attribute__((__visibility__("default"))) - #else - #define NETHOST_API - #endif - - #define NETHOST_CALLTYPE - typedef char char_t; -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -// Parameters for get_hostfxr_path -// -// Fields: -// size -// Size of the struct. This is used for versioning. -// -// assembly_path -// Path to the compenent's assembly. -// If specified, hostfxr is located as if the assembly_path is the apphost -// -// dotnet_root -// Path to directory containing the dotnet executable. -// If specified, hostfxr is located as if an application is started using -// 'dotnet app.dll', which means it will be searched for under the dotnet_root -// path and the assembly_path is ignored. -// -struct get_hostfxr_parameters { - size_t size; - const char_t *assembly_path; - const char_t *dotnet_root; -}; - -// -// Get the path to the hostfxr library -// -// Parameters: -// buffer -// Buffer that will be populated with the hostfxr path, including a null terminator. -// -// buffer_size -// [in] Size of buffer in char_t units. -// [out] Size of buffer used in char_t units. If the input value is too small -// or buffer is nullptr, this is populated with the minimum required size -// in char_t units for a buffer to hold the hostfxr path -// -// get_hostfxr_parameters -// Optional. Parameters that modify the behaviour for locating the hostfxr library. -// If nullptr, hostfxr is located using the enviroment variable or global registration -// -// Return value: -// 0 on success, otherwise failure -// 0x80008098 - buffer is too small (HostApiBufferTooSmall) -// -// Remarks: -// The full search for the hostfxr library is done on every call. To minimize the need -// to call this function multiple times, pass a large buffer (e.g. PATH_MAX). -// -NETHOST_API int NETHOST_CALLTYPE get_hostfxr_path( - char_t * buffer, - size_t * buffer_size, - const struct get_hostfxr_parameters *parameters); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // __NETHOST_H__ diff --git a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll b/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll deleted file mode 100644 index 008e8ccd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/LICENSE.txt b/plugins/UnrealCLR/Runtime/Win64/LICENSE.txt deleted file mode 100644 index c69e3631..00000000 --- a/plugins/UnrealCLR/Runtime/Win64/LICENSE.txt +++ /dev/null @@ -1,64 +0,0 @@ -MICROSOFT SOFTWARE LICENSE TERMS -MICROSOFT .NET LIBRARY -These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft - * updates, - * supplements, - * Internet-based services, and - * support services -for this software, unless other terms accompany those items. If so, those terms apply. -BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. -IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW. -1. INSTALLATION AND USE RIGHTS. - a. Installation and Use. You may install and use any number of copies of the software to design, develop and test your programs. - b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only. -2. DATA. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to improve our products and services. You can learn more about data collection and use in the help documentation and the privacy statement at https://go.microsoft.com/fwlink/?LinkId=528096. Your use of the software operates as your consent to these practices. -3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. - a. DISTRIBUTABLE CODE. The software is comprised of Distributable Code. "Distributable Code" is code that you are permitted to distribute in programs you develop if you comply with the terms below. - i. Right to Use and Distribute. - * You may copy and distribute the object code form of the software. - * Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs. - ii. Distribution Requirements. For any Distributable Code you distribute, you must - * add significant primary functionality to it in your programs; - * require distributors and external end users to agree to terms that protect it at least as much as this agreement; - * display your valid copyright notice on your programs; and - * indemnify, defend, and hold harmless Microsoft from any claims, including attorneys' fees, related to the distribution or use of your programs. - iii. Distribution Restrictions. You may not - * alter any copyright, trademark or patent notice in the Distributable Code; - * use Microsoft's trademarks in your programs' names or in a way that suggests your programs come from or are endorsed by Microsoft; - * include Distributable Code in malicious, deceptive or unlawful programs; or - * modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that - * the code be disclosed or distributed in source code form; or - * others have the right to modify it. -4. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not - * work around any technical limitations in the software; - * reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; - * publish the software for others to copy; - * rent, lease or lend the software; - * transfer the software or this agreement to any third party; or - * use the software for commercial software hosting services. -5. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software. -6. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes. -7. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting. -8. SUPPORT SERVICES. Because this software is "as is," we may not provide support services for it. -9. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -10. APPLICABLE LAW. - a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. - b. Outside the United States. If you acquired the software in any other country, the laws of that country apply. -11. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. -12. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED "AS-IS." YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. -FOR AUSTRALIA - YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS. -13. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to - * anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and - * claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. -It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. -Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. -Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. -EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n'accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon sont exclues. -LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. -Cette limitation concerne : - * tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et - * les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d'une autre faute dans la limite autorisée par la loi en vigueur. -Elle s'applique également, même si Microsoft connaissait ou devrait connaître l'éventualité d'un tel dommage. Si votre pays n'autorise pas l'exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l'exclusion ci-dessus ne s'appliquera pas à votre égard. -EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d'autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. - diff --git a/plugins/UnrealCLR/Runtime/Win64/ThirdPartyNotices.txt b/plugins/UnrealCLR/Runtime/Win64/ThirdPartyNotices.txt deleted file mode 100644 index b8d644c4..00000000 --- a/plugins/UnrealCLR/Runtime/Win64/ThirdPartyNotices.txt +++ /dev/null @@ -1,1219 +0,0 @@ -.NET Runtime uses third-party libraries or other resources that may be -distributed under licenses different than the .NET Runtime software. - -In the event that we accidentally failed to list a required notice, please -bring it to our attention. Post an issue or email us: - - dotnet@microsoft.com - -The attached notices are provided for information only. - -License notice for ASP.NET -------------------------------- - -Copyright (c) .NET Foundation. All rights reserved. -Licensed under the Apache License, Version 2.0. - -Available at -https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt - -License notice for Slicing-by-8 -------------------------------- - -http://sourceforge.net/projects/slicing-by-8/ - -Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - - -This software program is licensed subject to the BSD License, available at -http://www.opensource.org/licenses/bsd-license.html. - -License notice for Unicode data -------------------------------- - -https://www.unicode.org/license.html - -Copyright © 1991-2020 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - -License notice for Zlib ------------------------ - -https://github.com/madler/zlib -http://zlib.net/zlib_license.html - -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -*/ - -License notice for Mono -------------------------------- - -http://www.mono-project.com/docs/about-mono/ - -Copyright (c) .NET Foundation Contributors - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the Software), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for International Organization for Standardization ------------------------------------------------------------------ - -Portions (C) International Organization for Standardization 1986: - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. - -License notice for Intel ------------------------- - -"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xamarin and Novell -------------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Third party notice for W3C --------------------------- - -"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE -Status: This license takes effect 13 May, 2015. -This work is being provided by the copyright holders under the following license. -License -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: -The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." - -License notice for Bit Twiddling Hacks --------------------------------------- - -Bit Twiddling Hacks - -By Sean Eron Anderson -seander@cs.stanford.edu - -Individually, the code snippets here are in the public domain (unless otherwise -noted) — feel free to use them however you please. The aggregate collection and -descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are -distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and -without even the implied warranty of merchantability or fitness for a particular -purpose. - -License notice for Brotli --------------------------------------- - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -compress_fragment.c: -Copyright (c) 2011, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -decode_fuzzer.c: -Copyright (c) 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - -License notice for Json.NET -------------------------------- - -https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md - -The MIT License (MIT) - -Copyright (c) 2007 James Newton-King - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized base64 encoding / decoding --------------------------------------------------------- - -Copyright (c) 2005-2007, Nick Galbreath -Copyright (c) 2013-2017, Alfred Klomp -Copyright (c) 2015-2017, Wojciech Mula -Copyright (c) 2016-2017, Matthieu Darbois -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for RFC 3492 ---------------------------- - -The punycode implementation is based on the sample code in RFC 3492 - -Copyright (C) The Internet Society (2003). All Rights Reserved. - -This document and translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it -or assist in its implementation may be prepared, copied, published -and distributed, in whole or in part, without restriction of any -kind, provided that the above copyright notice and this paragraph are -included on all such copies and derivative works. However, this -document itself may not be modified in any way, such as by removing -the copyright notice or references to the Internet Society or other -Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for -copyrights defined in the Internet Standards process must be -followed, or as required to translate it into languages other than -English. - -The limited permissions granted above are perpetual and will not be -revoked by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an -"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" ---------------------------------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, or Digital Equipment Corporation be used in advertising -or publicity pertaining to distribution of the software without -specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment -Corporation makes any representations about the suitability of -this software for any purpose. - -Copyright(C) The Internet Society 1997. All Rights Reserved. - -This document and translations of it may be copied and furnished to others, -and derivative works that comment on or otherwise explain it or assist in -its implementation may be prepared, copied, published and distributed, in -whole or in part, without restriction of any kind, provided that the above -copyright notice and this paragraph are included on all such copies and -derivative works.However, this document itself may not be modified in any -way, such as by removing the copyright notice or references to the Internet -Society or other Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for copyrights -defined in the Internet Standards process must be followed, or as required -to translate it into languages other than English. - -The limited permissions granted above are perpetual and will not be revoked -by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an "AS IS" -basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE -DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY -RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A -PARTICULAR PURPOSE. - -License notice for Algorithm from RFC 4122 - -A Universally Unique IDentifier (UUID) URN Namespace ----------------------------------------------------- - -Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. -Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & -Digital Equipment Corporation, Maynard, Mass. -Copyright (c) 1998 Microsoft. -To anyone who acknowledges that this file is provided "AS IS" -without any express or implied warranty: permission to use, copy, -modify, and distribute this file for any purpose is hereby -granted without fee, provided that the above copyright notices and -this notice appears in all source code copies, and that none of -the names of Open Software Foundation, Inc., Hewlett-Packard -Company, Microsoft, or Digital Equipment Corporation be used in -advertising or publicity pertaining to distribution of the software -without specific, written prior permission. Neither Open Software -Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital -Equipment Corporation makes any representations about the -suitability of this software for any purpose." - -License notice for The LLVM Compiler Infrastructure ---------------------------------------------------- - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. - -License notice for Bob Jenkins ------------------------------- - -By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this -code any way you wish, private, educational, or commercial. It's free. - -License notice for Greg Parker ------------------------------- - -Greg Parker gparker@cs.stanford.edu December 2000 -This code is in the public domain and may be copied or modified without -permission. - -License notice for libunwind based code ----------------------------------------- - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for Printing Floating-Point Numbers (Dragon4) ------------------------------------------------------------- - -/****************************************************************************** - Copyright (c) 2014 Ryan Juckett - http://www.ryanjuckett.com/ - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -******************************************************************************/ - -License notice for Printing Floating-point Numbers (Grisu3) ------------------------------------------------------------ - -Copyright 2012 the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for xxHash -------------------------- - -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Berkeley SoftFloat Release 3e ------------------------------------------------- - -https://github.com/ucb-bar/berkeley-softfloat-3 -https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt - -License for Berkeley SoftFloat Release 3e - -John R. Hauser -2018 January 20 - -The following applies to the whole of SoftFloat Release 3e as well as to -each source file individually. - -Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the -University of California. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xorshift RNGs --------------------------------- - -George Marsaglia -2003-07-04 -Journal of Statistical Software -License: http://creativecommons.org/licenses/by/3.0/ - -https://www.jstatsoft.org/article/view/v008i14 -https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf - -License notice for Xorshift (Wikipedia) ---------------------------------------- - -https://en.wikipedia.org/wiki/Xorshift -License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License - -License for fastmod (https://github.com/lemire/fastmod) --------------------------------------- - - Copyright 2018 Daniel Lemire - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -License notice for The C++ REST SDK ------------------------------------ - -C++ REST SDK - -The MIT License (MIT) - -Copyright (c) Microsoft Corporation - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for MessagePack-CSharp -------------------------------------- - -MessagePack for C# - -MIT License - -Copyright (c) 2017 Yoshifumi Kawai - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for lz4net -------------------------------------- - -lz4net - -Copyright (c) 2013-2017, Milosz Krajewski - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Nerdbank.Streams ------------------------------------ - -The MIT License (MIT) - -Copyright (c) Andrew Arnott - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for RapidJSON ----------------------------- - -Tencent is pleased to support the open source community by making RapidJSON available. - -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - -Licensed under the MIT License (the "License"); you may not use this file except -in compliance with the License. You may obtain a copy of the License at - -http://opensource.org/licenses/MIT - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - -License notice for DirectX Math Library ---------------------------------------- - -https://github.com/microsoft/DirectXMath/blob/master/LICENSE - - The MIT License (MIT) - -Copyright (c) 2011-2020 Microsoft Corp - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, -merge, publish, distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be included in all copies -or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF -CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for ldap4net ---------------------------- - -The MIT License (MIT) - -Copyright (c) 2018 Alexander Chermyanin - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for vectorized sorting code ------------------------------------------- - -MIT License - -Copyright (c) 2020 Dan Shechter - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for Angular v8.0 --------------------------------------------- -The MIT License (MIT) -===================== - -Copyright (c) 2010-2019 Google LLC. http://angular.io/license - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -License notice for corefx - -License notice for BedrockFramework -=================================== - -MIT License - -Copyright (c) 2019 David Fowler - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for Swashbuckle -=================================== - -The MIT License (MIT) - -Copyright (c) 2016 Richard Morris - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for cli-spinners -============================================= - -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for dotnet-deb-tool ------------------------------------- - -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -License notice for IIS-Common ------------------------------------- - -MIT License - -Copyright (c) Microsoft Corporation. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - -License notice for IIS-Setup ------------------------------------- - -MIT License - -Copyright (c) Microsoft Corporation. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE - -License notice for LZMA SDK ---------------------------- - -http://7-zip.org/sdk.html - -LZMA SDK is placed in the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or distribute the -original LZMA SDK code, either in source code form or as a compiled binary, -for any purpose, commercial or non-commercial, and by any means. - -License notice for MonoDevelop ------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -License notice for Nuget.Client -------------------------------- - -Copyright (c) .NET Foundation. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -these files except in compliance with the License. You may obtain a copy of the -License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. - -License notice for Ookie.Dialogs --------------------------------- - -http://www.ookii.org/software/dialogs/ - -Copyright © Sven Groot (Ookii.org) 2009 -All rights reserved. - - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1) Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2) Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3) Neither the name of the ORGANIZATION nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - -License notice for viz.js ------------------------------------- - -Copyright (c) 2014-2018 Michael Daines - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -License notice for West Wind Live Reload ASP.NET Core Middleware -============================================= - - - ---- - -lz4net - -Copyright (c) 2013-2017, Milosz Krajewski - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -MIT License ------------ - -Copyright (c) 2019-2020 West Wind Technologies - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/plugins/UnrealCLR/Runtime/Win64/host/fxr/5.0.9/hostfxr.dll b/plugins/UnrealCLR/Runtime/Win64/host/fxr/5.0.9/hostfxr.dll deleted file mode 100644 index f5a55d15..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/host/fxr/5.0.9/hostfxr.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/.version b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/.version deleted file mode 100644 index aaa309c1..00000000 --- a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/.version +++ /dev/null @@ -1,2 +0,0 @@ -208e377a5329ad6eb1db5e5fb9d4590fa50beadd -5.0.9 diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll deleted file mode 100644 index 7500e908..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.DiaSymReader.Native.amd64.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.DiaSymReader.Native.amd64.dll deleted file mode 100644 index e376a203..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.DiaSymReader.Native.amd64.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json deleted file mode 100644 index c216b0af..00000000 --- a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json +++ /dev/null @@ -1,1592 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v5.0/win-x64", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v5.0": {}, - ".NETCoreApp,Version=v5.0/win-x64": { - "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {}, - "Microsoft.DiaSymReader.Native/1.7.0": {}, - "Microsoft.DiaSymReader.Pdb2Pdb/1.1.0-beta2-19575-01": {}, - "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": {}, - "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": {}, - "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": {}, - "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { - "dependencies": { - "Microsoft.NETCore.DotNetHostPolicy": "5.0.9", - "Microsoft.NETCore.Platforms": "5.0.0", - "Microsoft.NETCore.Targets": "5.0.0", - "NETStandard.Library": "2.2.0-prerelease.19564.1", - "runtime.win-x64.Microsoft.NETCore.App": "5.0.9-servicing.21359.8" - } - }, - "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "dependencies": { - "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy": "5.0.9" - } - }, - "Microsoft.NETCore.Platforms/5.0.0": {}, - "Microsoft.NETCore.Targets/5.0.0": {}, - "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": {}, - "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", - "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" - } - }, - "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {}, - "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", - "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" - } - }, - "NETStandard.Library/2.2.0-prerelease.19564.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0" - } - }, - "runtime.win-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "runtime": { - "runtimes/win-x64/lib/net5.0/Microsoft.CSharp.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/Microsoft.VisualBasic.Core.dll": { - "assemblyVersion": "10.0.6.0", - "fileVersion": "11.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/Microsoft.VisualBasic.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/Microsoft.Win32.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/Microsoft.Win32.Registry.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.AppContext.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Buffers.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Collections.Concurrent.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Collections.Immutable.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Collections.NonGeneric.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Collections.Specialized.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Collections.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ComponentModel.Annotations.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ComponentModel.DataAnnotations.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ComponentModel.EventBasedAsync.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ComponentModel.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ComponentModel.TypeConverter.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ComponentModel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Configuration.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Console.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Core.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Data.Common.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Data.DataSetExtensions.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Data.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.Contracts.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.Debug.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.DiagnosticSource.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.FileVersionInfo.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.Process.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.StackTrace.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.TextWriterTraceListener.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.Tools.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.TraceSource.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Diagnostics.Tracing.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Drawing.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Drawing.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Dynamic.Runtime.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Formats.Asn1.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Globalization.Calendars.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Globalization.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Globalization.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.Compression.Brotli.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.Compression.FileSystem.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.Compression.ZipFile.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.Compression.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.DriveInfo.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.Watcher.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.IsolatedStorage.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.MemoryMappedFiles.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.Pipes.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.Pipes.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.UnmanagedMemoryStream.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.IO.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Linq.Expressions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Linq.Parallel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Linq.Queryable.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Linq.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Memory.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Http.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Http.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.HttpListener.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Mail.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.NameResolution.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.NetworkInformation.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Ping.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Requests.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Security.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.ServicePoint.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.Sockets.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.WebClient.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.WebHeaderCollection.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.WebProxy.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.WebSockets.Client.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.WebSockets.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Net.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Numerics.Vectors.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Numerics.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ObjectModel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Private.DataContractSerialization.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Private.Uri.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Private.Xml.Linq.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Private.Xml.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.DispatchProxy.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.Emit.ILGeneration.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.Emit.Lightweight.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.Emit.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.Metadata.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.TypeExtensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Reflection.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Resources.Reader.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Resources.ResourceManager.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Resources.Writer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.CompilerServices.Unsafe.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.CompilerServices.VisualC.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Handles.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.InteropServices.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Intrinsics.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Loader.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Numerics.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Formatters.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Xml.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Runtime.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.AccessControl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Claims.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Algorithms.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Cng.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Csp.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Encoding.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.OpenSsl.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Primitives.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.X509Certificates.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Principal.Windows.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.Principal.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.SecureString.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Security.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ServiceModel.Web.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ServiceProcess.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Text.Encoding.CodePages.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Text.Encoding.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Text.Encoding.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Text.Encodings.Web.dll": { - "assemblyVersion": "5.0.0.1", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Text.Json.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Text.RegularExpressions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Channels.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Overlapped.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.Dataflow.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.Extensions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.Parallel.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Thread.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.ThreadPool.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.Timer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Threading.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Transactions.Local.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Transactions.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.ValueTuple.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Web.HttpUtility.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Web.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Windows.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.Linq.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.ReaderWriter.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.Serialization.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.XDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.XPath.XDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.XPath.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.XmlDocument.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.XmlSerializer.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.Xml.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/System.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/WindowsBase.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/mscorlib.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/lib/net5.0/netstandard.dll": { - "assemblyVersion": "2.1.0.0", - "fileVersion": "5.0.921.35908" - } - }, - "native": { - "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll": { - "fileVersion": "14.12.25830.2" - }, - "runtimes/win-x64/native/System.Private.CoreLib.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/api-ms-win-core-console-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-console-l1-2-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-datetime-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-debug-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-errorhandling-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-file-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-file-l1-2-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-file-l2-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-handle-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-heap-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-interlocked-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-libraryloader-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-localization-l1-2-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-memory-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-namedpipe-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-processenvironment-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-processthreads-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-processthreads-l1-1-1.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-profile-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-rtlsupport-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-string-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-synch-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-synch-l1-2-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-sysinfo-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-timezone-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-core-util-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-conio-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-convert-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-environment-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-filesystem-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-heap-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-locale-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-math-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-multibyte-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-private-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-process-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-runtime-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-stdio-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-string-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-time-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/api-ms-win-crt-utility-l1-1-0.dll": { - "fileVersion": "10.0.19041.685" - }, - "runtimes/win-x64/native/clrcompression.dll": { - "fileVersion": "42.42.42.42424" - }, - "runtimes/win-x64/native/clretwrc.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/clrjit.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/coreclr.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/createdump.exe": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/dbgshim.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/mscordaccore.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/mscordaccore_amd64_amd64_5.0.921.35908.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/mscordbi.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/mscorrc.dll": { - "fileVersion": "5.0.921.35908" - }, - "runtimes/win-x64/native/ucrtbase.dll": { - "fileVersion": "10.0.19041.685" - } - } - }, - "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "native": { - "runtimes/win-x64/native/hostpolicy.dll": { - "fileVersion": "5.0.921.35908" - } - } - } - } - }, - "libraries": { - "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hZ9leS9Yd9MHpqvviMftSJFDcLYu2h1DrapW1TDm1s1fgOy71c8HvArNMd3fseVkXmp3VTfGnkgcw0FR+TI6xw==", - "path": "microsoft.build.tasks.git/1.1.0-beta-20206-02", - "hashPath": "microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.DiaSymReader.Native/1.7.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vIzndj0MoWW2Mp/iztUSKvmR9vZTqOVQ6PBvwA57+CDoiz7eUMU15rrAX+/QA0bkmwQ08GRibFBB9LNOl0EiBA==", - "path": "microsoft.diasymreader.native/1.7.0", - "hashPath": "microsoft.diasymreader.native.1.7.0.nupkg.sha512" - }, - "Microsoft.DiaSymReader.Pdb2Pdb/1.1.0-beta2-19575-01": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kY6eTNkeWLHvfOjg97Q7tgQKrPpX+Y3fR6fS4nyfpgFLHBxHriLBR4v3e9t71it91gIMEeKUqOqrFJ7Pj48eHA==", - "path": "microsoft.diasymreader.pdb2pdb/1.1.0-beta2-19575-01", - "hashPath": "microsoft.diasymreader.pdb2pdb.1.1.0-beta2-19575-01.nupkg.sha512" - }, - "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-68fxMTtraSXCUYZx7vNVb9PvIJ9FhPjymbvrkl/6h7S/NlQz6bxyZksTd6ghMs4gyQLHRCuDX/O/dT6Gd6qIag==", - "path": "microsoft.dotnet.build.tasks.installers/5.0.0-beta.21328.3", - "hashPath": "microsoft.dotnet.build.tasks.installers.5.0.0-beta.21328.3.nupkg.sha512" - }, - "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rswwdycY3QmJ3DvyOGVMHDdZxxnE76MQFWZWqhniJqgbXPefQnXvDF4YXgCPnAENDYtsjohpaav1XDEyt84UHw==", - "path": "microsoft.dotnet.build.tasks.packaging/5.0.0-beta.21328.3", - "hashPath": "microsoft.dotnet.build.tasks.packaging.5.0.0-beta.21328.3.nupkg.sha512" - }, - "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jfscID/5IHHPVVEbFCAJEUEWCeWNZCLwyBcUFG3/u44oiRd/aseDOYRzl3OnIIvcwzi0U2lSAs6Lt2+rdRIDMg==", - "path": "microsoft.net.compilers.toolset/3.8.0-4.20503.2", - "hashPath": "microsoft.net.compilers.toolset.3.8.0-4.20503.2.nupkg.sha512" - }, - "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oYiMUcecaDmS0VJJPCAh/SSEnKAGH6dOwjRyXPEKiUqh8XNmcwLIFHA/i8zVuxrCYkCPpWyjw0bOHJsPrMiaqA==", - "path": "microsoft.netcore.app/5.0.9-servicing.21359.8", - "hashPath": "microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5PNSlvpzpJ3Uq+MuLFG6ajoDamaHvlQ3/Zwx1Af2aT2l11uvSVWxvQwUJTE/QzUXT7CO/UmYrbWHoeInWqo/cg==", - "path": "microsoft.netcore.app.internal/5.0.9-servicing.21359.8", - "hashPath": "microsoft.netcore.app.internal.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-a99qgfcfnXXv2f14/GkIr5tEejf6C2Z1M1vQVPlpbRhQHKqrGfsIuBb9TOOArWcn8JRynClMI4wYXrv6hzdxUg==" - }, - "Microsoft.NETCore.Platforms/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", - "path": "microsoft.netcore.platforms/5.0.0", - "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" - }, - "Microsoft.NETCore.Targets/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-XpSaRv9/+V4KQ5KPbvRoArKy1o9WHizFEdOXPBLHXRZ0zwPGK5cTcWo1SveD7uayrfhod1uAAscip65qLeAjCw==", - "path": "microsoft.netcore.targets/5.0.0", - "hashPath": "microsoft.netcore.targets.5.0.0.nupkg.sha512" - }, - "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-m+pJPEO7HyXvrOna5Sr3s77ewXonjYWJTNL6drh8xACnMNxnlqUDKx9HfGeSE9wmfY0lQwppaeZpFTPGaH7kZg==", - "path": "microsoft.netframework.referenceassemblies/1.0.0-preview.2", - "hashPath": "microsoft.netframework.referenceassemblies.1.0.0-preview.2.nupkg.sha512" - }, - "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vVYhSds9TfraTQkGHHMDMVWnr3kCkTZ7vmqUmrXQBDJFXiWTuMoP5RRa9s1M/KmgB4szi5TOb7sOaHWKDT9qDA==", - "path": "microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-aek0RTQ+4Bf11WvqaXajwYoaBWkX2edBjAr5XJOvhAsHX6/9vPOb7IpHAiE/NyCse7IcpGWslJZHNkv4UBEFqw==", - "path": "microsoft.sourcelink.common/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg.sha512" - }, - "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7A7P0EwL+lypaI/CEvG4IcpAlQeAt04uPPw1SO6Q9Jwz2nE9309pQXJ4TfP/RLL8IOObACidN66+gVR+bJDZHw==", - "path": "microsoft.sourcelink.github/1.1.0-beta-20206-02", - "hashPath": "microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg.sha512" - }, - "NETStandard.Library/2.2.0-prerelease.19564.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-y7Z0OKA/O5mW8aPEI4oXTSjinUTwGDwKEZMKTGdzb+vLgGRuvrZrs1YidcFN2kIKOo/11bOSNfKn4lsOLUWHkQ==", - "path": "netstandard.library/2.2.0-prerelease.19564.1", - "hashPath": "netstandard.library.2.2.0-prerelease.19564.1.nupkg.sha512" - }, - "runtime.win-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rGs3Hez+pKeeGXMdR+ohmiLNvuimGLZEy0vg01H0X79FELHAKsh1695bP6xeE87ZqDapvO+HmRfBnnkafKaQmw==", - "path": "runtime.win-x64.microsoft.netcore.app/5.0.9-servicing.21359.8", - "hashPath": "runtime.win-x64.microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" - }, - "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I3nuVVCu98BQLcnCKaLnik3P9I97otKIBmYVYK5kfZ8oDtxEzJR6zpWx2zo6daGCj1fw2+aQBE3w50FqLG65pw==" - } - }, - "runtimes": { - "win-arm": [ - "win", - "any", - "base" - ], - "win-arm64": [ - "win", - "any", - "base" - ], - "win-x64": [ - "win", - "any", - "base" - ], - "win-x86": [ - "win", - "any", - "base" - ], - "win": [ - "any", - "base" - ], - "win-aot": [ - "win", - "aot", - "any", - "base" - ], - "win-arm-aot": [ - "win-aot", - "win-arm", - "win", - "aot", - "any", - "base" - ], - "win-arm64-aot": [ - "win-aot", - "win-arm64", - "win", - "aot", - "any", - "base" - ], - "win-x64-aot": [ - "win-aot", - "win-x64", - "win", - "aot", - "any", - "base" - ], - "win-x86-aot": [ - "win-aot", - "win-x86", - "win", - "aot", - "any", - "base" - ], - "win10": [ - "win81", - "win8", - "win7", - "win", - "any", - "base" - ], - "win10-aot": [ - "win10", - "win81-aot", - "win81", - "win8-aot", - "win8", - "win7-aot", - "win7", - "win-aot", - "win", - "aot", - "any", - "base" - ], - "win10-arm": [ - "win10", - "win81-arm", - "win81", - "win8-arm", - "win8", - "win7-arm", - "win7", - "win-arm", - "win", - "any", - "base" - ], - "win10-arm-aot": [ - "win10-aot", - "win10-arm", - "win10", - "win81-arm-aot", - "win81-aot", - "win81-arm", - "win81", - "win8-arm-aot", - "win8-aot", - "win8-arm", - "win8", - "win7-arm-aot", - "win7-aot", - "win7-arm", - "win7", - "win-arm-aot", - "win-aot", - "win-arm", - "win", - "aot", - "any", - "base" - ], - "win10-arm64": [ - "win10", - "win81-arm64", - "win81", - "win8-arm64", - "win8", - "win7-arm64", - "win7", - "win-arm64", - "win", - "any", - "base" - ], - "win10-arm64-aot": [ - "win10-aot", - "win10-arm64", - "win10", - "win81-arm64-aot", - "win81-aot", - "win81-arm64", - "win81", - "win8-arm64-aot", - "win8-aot", - "win8-arm64", - "win8", - "win7-arm64-aot", - "win7-aot", - "win7-arm64", - "win7", - "win-arm64-aot", - "win-aot", - "win-arm64", - "win", - "aot", - "any", - "base" - ], - "win10-x64": [ - "win10", - "win81-x64", - "win81", - "win8-x64", - "win8", - "win7-x64", - "win7", - "win-x64", - "win", - "any", - "base" - ], - "win10-x64-aot": [ - "win10-aot", - "win10-x64", - "win10", - "win81-x64-aot", - "win81-aot", - "win81-x64", - "win81", - "win8-x64-aot", - "win8-aot", - "win8-x64", - "win8", - "win7-x64-aot", - "win7-aot", - "win7-x64", - "win7", - "win-x64-aot", - "win-aot", - "win-x64", - "win", - "aot", - "any", - "base" - ], - "win10-x86": [ - "win10", - "win81-x86", - "win81", - "win8-x86", - "win8", - "win7-x86", - "win7", - "win-x86", - "win", - "any", - "base" - ], - "win10-x86-aot": [ - "win10-aot", - "win10-x86", - "win10", - "win81-x86-aot", - "win81-aot", - "win81-x86", - "win81", - "win8-x86-aot", - "win8-aot", - "win8-x86", - "win8", - "win7-x86-aot", - "win7-aot", - "win7-x86", - "win7", - "win-x86-aot", - "win-aot", - "win-x86", - "win", - "aot", - "any", - "base" - ], - "win7": [ - "win", - "any", - "base" - ], - "win7-aot": [ - "win7", - "win-aot", - "win", - "aot", - "any", - "base" - ], - "win7-arm": [ - "win7", - "win-arm", - "win", - "any", - "base" - ], - "win7-arm-aot": [ - "win7-aot", - "win7-arm", - "win7", - "win-arm-aot", - "win-aot", - "win-arm", - "win", - "aot", - "any", - "base" - ], - "win7-arm64": [ - "win7", - "win-arm64", - "win", - "any", - "base" - ], - "win7-arm64-aot": [ - "win7-aot", - "win7-arm64", - "win7", - "win-arm64-aot", - "win-aot", - "win-arm64", - "win", - "aot", - "any", - "base" - ], - "win7-x64": [ - "win7", - "win-x64", - "win", - "any", - "base" - ], - "win7-x64-aot": [ - "win7-aot", - "win7-x64", - "win7", - "win-x64-aot", - "win-aot", - "win-x64", - "win", - "aot", - "any", - "base" - ], - "win7-x86": [ - "win7", - "win-x86", - "win", - "any", - "base" - ], - "win7-x86-aot": [ - "win7-aot", - "win7-x86", - "win7", - "win-x86-aot", - "win-aot", - "win-x86", - "win", - "aot", - "any", - "base" - ], - "win8": [ - "win7", - "win", - "any", - "base" - ], - "win8-aot": [ - "win8", - "win7-aot", - "win7", - "win-aot", - "win", - "aot", - "any", - "base" - ], - "win8-arm": [ - "win8", - "win7-arm", - "win7", - "win-arm", - "win", - "any", - "base" - ], - "win8-arm-aot": [ - "win8-aot", - "win8-arm", - "win8", - "win7-arm-aot", - "win7-aot", - "win7-arm", - "win7", - "win-arm-aot", - "win-aot", - "win-arm", - "win", - "aot", - "any", - "base" - ], - "win8-arm64": [ - "win8", - "win7-arm64", - "win7", - "win-arm64", - "win", - "any", - "base" - ], - "win8-arm64-aot": [ - "win8-aot", - "win8-arm64", - "win8", - "win7-arm64-aot", - "win7-aot", - "win7-arm64", - "win7", - "win-arm64-aot", - "win-aot", - "win-arm64", - "win", - "aot", - "any", - "base" - ], - "win8-x64": [ - "win8", - "win7-x64", - "win7", - "win-x64", - "win", - "any", - "base" - ], - "win8-x64-aot": [ - "win8-aot", - "win8-x64", - "win8", - "win7-x64-aot", - "win7-aot", - "win7-x64", - "win7", - "win-x64-aot", - "win-aot", - "win-x64", - "win", - "aot", - "any", - "base" - ], - "win8-x86": [ - "win8", - "win7-x86", - "win7", - "win-x86", - "win", - "any", - "base" - ], - "win8-x86-aot": [ - "win8-aot", - "win8-x86", - "win8", - "win7-x86-aot", - "win7-aot", - "win7-x86", - "win7", - "win-x86-aot", - "win-aot", - "win-x86", - "win", - "aot", - "any", - "base" - ], - "win81": [ - "win8", - "win7", - "win", - "any", - "base" - ], - "win81-aot": [ - "win81", - "win8-aot", - "win8", - "win7-aot", - "win7", - "win-aot", - "win", - "aot", - "any", - "base" - ], - "win81-arm": [ - "win81", - "win8-arm", - "win8", - "win7-arm", - "win7", - "win-arm", - "win", - "any", - "base" - ], - "win81-arm-aot": [ - "win81-aot", - "win81-arm", - "win81", - "win8-arm-aot", - "win8-aot", - "win8-arm", - "win8", - "win7-arm-aot", - "win7-aot", - "win7-arm", - "win7", - "win-arm-aot", - "win-aot", - "win-arm", - "win", - "aot", - "any", - "base" - ], - "win81-arm64": [ - "win81", - "win8-arm64", - "win8", - "win7-arm64", - "win7", - "win-arm64", - "win", - "any", - "base" - ], - "win81-arm64-aot": [ - "win81-aot", - "win81-arm64", - "win81", - "win8-arm64-aot", - "win8-aot", - "win8-arm64", - "win8", - "win7-arm64-aot", - "win7-aot", - "win7-arm64", - "win7", - "win-arm64-aot", - "win-aot", - "win-arm64", - "win", - "aot", - "any", - "base" - ], - "win81-x64": [ - "win81", - "win8-x64", - "win8", - "win7-x64", - "win7", - "win-x64", - "win", - "any", - "base" - ], - "win81-x64-aot": [ - "win81-aot", - "win81-x64", - "win81", - "win8-x64-aot", - "win8-aot", - "win8-x64", - "win8", - "win7-x64-aot", - "win7-aot", - "win7-x64", - "win7", - "win-x64-aot", - "win-aot", - "win-x64", - "win", - "aot", - "any", - "base" - ], - "win81-x86": [ - "win81", - "win8-x86", - "win8", - "win7-x86", - "win7", - "win-x86", - "win", - "any", - "base" - ], - "win81-x86-aot": [ - "win81-aot", - "win81-x86", - "win81", - "win8-x86-aot", - "win8-aot", - "win8-x86", - "win8", - "win7-x86-aot", - "win7-aot", - "win7-x86", - "win7", - "win-x86-aot", - "win-aot", - "win-x86", - "win", - "aot", - "any", - "base" - ] - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll deleted file mode 100644 index 5d20fcd5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll deleted file mode 100644 index 9763bc86..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll deleted file mode 100644 index 8bb7f009..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll deleted file mode 100644 index fdb545fa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll deleted file mode 100644 index b60e60cb..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll deleted file mode 100644 index 6b4a2b7c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll deleted file mode 100644 index 7a12114d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll deleted file mode 100644 index 2e9dc9e2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll deleted file mode 100644 index c818eaae..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll deleted file mode 100644 index 28138e9b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll deleted file mode 100644 index 89a5ee89..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll deleted file mode 100644 index bd3f694f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll deleted file mode 100644 index 019f5924..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll deleted file mode 100644 index fe8ba88d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll deleted file mode 100644 index d46ff850..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll deleted file mode 100644 index 15999456..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll deleted file mode 100644 index 46448a3e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll deleted file mode 100644 index 624b3f3f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll deleted file mode 100644 index b71d9ce5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll deleted file mode 100644 index 27c6266b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll deleted file mode 100644 index 83633bfa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll deleted file mode 100644 index 1e54d4f6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll deleted file mode 100644 index 03b5386d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll deleted file mode 100644 index 83eb4b3d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll deleted file mode 100644 index 3b8da7f7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll deleted file mode 100644 index 28cff94a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll deleted file mode 100644 index b2f4e111..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll deleted file mode 100644 index ba6afd2d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll deleted file mode 100644 index c7484ac4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll deleted file mode 100644 index 9f38e2a3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll deleted file mode 100644 index c930782b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll deleted file mode 100644 index 9cf10ea2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll deleted file mode 100644 index 24ae6f4e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll deleted file mode 100644 index 6bb6704c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll deleted file mode 100644 index c1f30b3c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll deleted file mode 100644 index 728b5f76..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll deleted file mode 100644 index f5e1b9da..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll deleted file mode 100644 index ab95331c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll deleted file mode 100644 index 96b8535c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll deleted file mode 100644 index 4495834d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll deleted file mode 100644 index 0e2b4f8d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll deleted file mode 100644 index c26bc914..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll deleted file mode 100644 index 97645a90..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll deleted file mode 100644 index ddb17fda..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll deleted file mode 100644 index c9fa2e69..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll deleted file mode 100644 index c4d91481..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll deleted file mode 100644 index ffb7128e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll deleted file mode 100644 index 3449484b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll deleted file mode 100644 index 04ebaed6..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll deleted file mode 100644 index d47396a3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll deleted file mode 100644 index 0aeaa62d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll deleted file mode 100644 index 01fc9248..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll deleted file mode 100644 index 1467bd60..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll deleted file mode 100644 index 543c3057..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll deleted file mode 100644 index 0ff58d84..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll deleted file mode 100644 index 96fb37d8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll deleted file mode 100644 index d09889de..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll deleted file mode 100644 index aa721884..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll deleted file mode 100644 index 03450cbe..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll deleted file mode 100644 index d00c59a5..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll deleted file mode 100644 index 38299890..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll deleted file mode 100644 index 185bf84e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll deleted file mode 100644 index db65f583..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll deleted file mode 100644 index d18b6407..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll deleted file mode 100644 index c1fdcefd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll deleted file mode 100644 index dd1fc7a8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll deleted file mode 100644 index d5b63ff7..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll deleted file mode 100644 index aa53ffaa..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll deleted file mode 100644 index d36ce6ea..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll deleted file mode 100644 index 79909481..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll deleted file mode 100644 index 77604dce..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll deleted file mode 100644 index a057b5e9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll deleted file mode 100644 index 27d60473..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll deleted file mode 100644 index 66786473..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll deleted file mode 100644 index 7be8e961..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll deleted file mode 100644 index 8e61f3fb..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll deleted file mode 100644 index 978b283e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll deleted file mode 100644 index 911be4fe..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll deleted file mode 100644 index 989d4533..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll deleted file mode 100644 index 97f21029..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll deleted file mode 100644 index aaacc6d3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll deleted file mode 100644 index 584211bd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll deleted file mode 100644 index 75a83b44..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll deleted file mode 100644 index df566944..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll deleted file mode 100644 index 6d7aa122..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll deleted file mode 100644 index 246107c8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll deleted file mode 100644 index 9884f32d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll deleted file mode 100644 index 4f9d8c62..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll deleted file mode 100644 index e5d8f502..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll deleted file mode 100644 index ca57917c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll deleted file mode 100644 index be949156..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll deleted file mode 100644 index 438c7717..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll deleted file mode 100644 index 90459a6b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll deleted file mode 100644 index 0f61d76a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll deleted file mode 100644 index 84a16ec4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll deleted file mode 100644 index 2ae2ca93..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll deleted file mode 100644 index 79c23407..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll deleted file mode 100644 index 927efb6a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll deleted file mode 100644 index df834730..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll deleted file mode 100644 index 9257f705..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll deleted file mode 100644 index e025004f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll deleted file mode 100644 index 43b02f28..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll deleted file mode 100644 index 6de10830..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll deleted file mode 100644 index c1d0942d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll deleted file mode 100644 index 9f72a188..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll deleted file mode 100644 index 8548aceb..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll deleted file mode 100644 index b5d9c612..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll deleted file mode 100644 index 52bf111a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll deleted file mode 100644 index 67d5ece3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll deleted file mode 100644 index 5bdd7398..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll deleted file mode 100644 index 5b7f8ce3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll deleted file mode 100644 index b8ef0b71..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll deleted file mode 100644 index f7156068..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll deleted file mode 100644 index d556ca63..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll deleted file mode 100644 index 5cd035cf..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll deleted file mode 100644 index a55dae66..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll deleted file mode 100644 index 348a9774..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll deleted file mode 100644 index 0c308006..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll deleted file mode 100644 index 4be13b35..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll deleted file mode 100644 index 527c9a69..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll deleted file mode 100644 index 23b17fc2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll deleted file mode 100644 index b81bffd0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll deleted file mode 100644 index ce71dca8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll deleted file mode 100644 index 6c5f43e0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll deleted file mode 100644 index f54c49e9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll deleted file mode 100644 index b38d9834..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll deleted file mode 100644 index 0f750ed4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll deleted file mode 100644 index 22d930c2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll deleted file mode 100644 index 533466e9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll deleted file mode 100644 index f95322e4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll deleted file mode 100644 index c991b905..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll deleted file mode 100644 index 45e0a531..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll deleted file mode 100644 index 5cef116b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll deleted file mode 100644 index fdb98cdd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll deleted file mode 100644 index 6cfd7609..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll deleted file mode 100644 index a1bba65e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll deleted file mode 100644 index 8327bd56..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll deleted file mode 100644 index ba3a52f2..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll deleted file mode 100644 index dd6ff840..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll deleted file mode 100644 index 23b6c32b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll deleted file mode 100644 index 9027233b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll deleted file mode 100644 index 1065305c..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll deleted file mode 100644 index c9a22a5a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll deleted file mode 100644 index 2cc83e43..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll deleted file mode 100644 index 91999b58..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll deleted file mode 100644 index 56ff8af9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll deleted file mode 100644 index 203a8cbf..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll deleted file mode 100644 index 47e59089..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll deleted file mode 100644 index 22fec5a1..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll deleted file mode 100644 index cbd9d523..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll deleted file mode 100644 index 85866d7f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll deleted file mode 100644 index e2b2d661..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll deleted file mode 100644 index 5cbf4b47..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll deleted file mode 100644 index 80979389..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll deleted file mode 100644 index c66d41c9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll deleted file mode 100644 index 65bf1e38..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll deleted file mode 100644 index ecdea1c9..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll deleted file mode 100644 index f7191aaf..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll deleted file mode 100644 index 1eed1c8b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.dll deleted file mode 100644 index e52c4447..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll deleted file mode 100644 index 387e2d8b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-1-0.dll deleted file mode 100644 index 59df9b70..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-2-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-2-0.dll deleted file mode 100644 index 255602a3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-2-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-datetime-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-datetime-l1-1-0.dll deleted file mode 100644 index 770ae176..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-datetime-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-debug-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-debug-l1-1-0.dll deleted file mode 100644 index cf936c96..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-debug-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-errorhandling-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-errorhandling-l1-1-0.dll deleted file mode 100644 index 31d9e308..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-errorhandling-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-1-0.dll deleted file mode 100644 index 9a6c49fd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-2-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-2-0.dll deleted file mode 100644 index 4166dc5a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-2-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l2-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l2-1-0.dll deleted file mode 100644 index c3730d5a..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l2-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-handle-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-handle-l1-1-0.dll deleted file mode 100644 index c6d92b28..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-handle-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-heap-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-heap-l1-1-0.dll deleted file mode 100644 index 71419b91..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-heap-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-interlocked-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-interlocked-l1-1-0.dll deleted file mode 100644 index 69b7ad1d..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-interlocked-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-libraryloader-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-libraryloader-l1-1-0.dll deleted file mode 100644 index f37503ed..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-libraryloader-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-localization-l1-2-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-localization-l1-2-0.dll deleted file mode 100644 index 5f938cca..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-localization-l1-2-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-memory-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-memory-l1-1-0.dll deleted file mode 100644 index d3f895ae..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-memory-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-namedpipe-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-namedpipe-l1-1-0.dll deleted file mode 100644 index 1d731299..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-namedpipe-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processenvironment-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processenvironment-l1-1-0.dll deleted file mode 100644 index fa2d53df..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processenvironment-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-0.dll deleted file mode 100644 index 13fc5dca..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-1.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-1.dll deleted file mode 100644 index 551ef210..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-1.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-profile-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-profile-l1-1-0.dll deleted file mode 100644 index 8f0fde38..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-profile-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-rtlsupport-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-rtlsupport-l1-1-0.dll deleted file mode 100644 index 89f12452..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-rtlsupport-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-string-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-string-l1-1-0.dll deleted file mode 100644 index f2ee6dbb..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-string-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-1-0.dll deleted file mode 100644 index b9541f0f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-2-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-2-0.dll deleted file mode 100644 index 2f1a432b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-2-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-sysinfo-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-sysinfo-l1-1-0.dll deleted file mode 100644 index 1d1a3761..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-sysinfo-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-timezone-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-timezone-l1-1-0.dll deleted file mode 100644 index 95d4fc2e..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-timezone-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-util-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-util-l1-1-0.dll deleted file mode 100644 index fb2fc919..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-util-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-conio-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-conio-l1-1-0.dll deleted file mode 100644 index 771a68c1..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-conio-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-convert-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-convert-l1-1-0.dll deleted file mode 100644 index 44fea9ab..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-convert-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-environment-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-environment-l1-1-0.dll deleted file mode 100644 index d8a73990..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-environment-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-filesystem-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-filesystem-l1-1-0.dll deleted file mode 100644 index 4a283712..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-filesystem-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-heap-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-heap-l1-1-0.dll deleted file mode 100644 index 0ab3a324..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-heap-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-locale-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-locale-l1-1-0.dll deleted file mode 100644 index 79d46f60..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-locale-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-math-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-math-l1-1-0.dll deleted file mode 100644 index f8b20922..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-math-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-multibyte-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-multibyte-l1-1-0.dll deleted file mode 100644 index 31afd5a4..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-multibyte-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-private-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-private-l1-1-0.dll deleted file mode 100644 index 240bf464..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-private-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-process-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-process-l1-1-0.dll deleted file mode 100644 index 2b517e4b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-process-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-runtime-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-runtime-l1-1-0.dll deleted file mode 100644 index 0b1da812..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-runtime-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-stdio-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-stdio-l1-1-0.dll deleted file mode 100644 index 74e6f6c3..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-stdio-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-string-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-string-l1-1-0.dll deleted file mode 100644 index c366ed38..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-string-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-time-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-time-l1-1-0.dll deleted file mode 100644 index 72c5a14b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-time-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-utility-l1-1-0.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-utility-l1-1-0.dll deleted file mode 100644 index 860f8789..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-utility-l1-1-0.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrcompression.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrcompression.dll deleted file mode 100644 index 9d956fbe..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrcompression.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clretwrc.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clretwrc.dll deleted file mode 100644 index d4870827..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clretwrc.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrjit.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrjit.dll deleted file mode 100644 index f65c9b7b..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrjit.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr.dll deleted file mode 100644 index 477e2195..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h deleted file mode 100644 index 914ab592..00000000 --- a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h +++ /dev/null @@ -1,47 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __CORECLR_DELEGATES_H__ -#define __CORECLR_DELEGATES_H__ - -#include - -#if defined(_WIN32) - #define CORECLR_DELEGATE_CALLTYPE __stdcall - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define CORECLR_DELEGATE_CALLTYPE - typedef char char_t; -#endif - -#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) - -// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer -typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( - const char_t *assembly_path /* Fully qualified path to assembly */, - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) -typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); - -typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null, - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *load_context /* Extensibility parameter (currently unused and must be 0) */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -#endif // __CORECLR_DELEGATES_H__ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/createdump.exe b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/createdump.exe deleted file mode 100644 index 611c26a0..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/createdump.exe and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/dbgshim.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/dbgshim.dll deleted file mode 100644 index 4016fd8f..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/dbgshim.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h deleted file mode 100644 index e062193c..00000000 --- a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h +++ /dev/null @@ -1,288 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __HOSTFXR_H__ -#define __HOSTFXR_H__ - -#include -#include - -#if defined(_WIN32) - #define HOSTFXR_CALLTYPE __cdecl - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define HOSTFXR_CALLTYPE - typedef char char_t; -#endif - -enum hostfxr_delegate_type -{ - hdt_com_activation, - hdt_load_in_memory_assembly, - hdt_winrt_activation, - hdt_com_register, - hdt_com_unregister, - hdt_load_assembly_and_get_function_pointer, - hdt_get_function_pointer, -}; - -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( - const int argc, - const char_t **argv, - const char_t *host_path, - const char_t *dotnet_root, - const char_t *app_path); -typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( - const int argc, - const char_t** argv, - const char_t* host_path, - const char_t* dotnet_root, - const char_t* app_path, - int64_t bundle_header_offset); - -typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); - -// -// Sets a callback which is to be used to write errors to. -// -// Parameters: -// error_writer -// A callback function which will be invoked every time an error is to be reported. -// Or nullptr to unregister previously registered callback and return to the default behavior. -// Return value: -// The previously registered callback (which is now unregistered), or nullptr if no previous callback -// was registered -// -// The error writer is registered per-thread, so the registration is thread-local. On each thread -// only one callback can be registered. Subsequent registrations overwrite the previous ones. -// -// By default no callback is registered in which case the errors are written to stderr. -// -// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). -// Multiple calls to the error writer may occure for one failure. -// -// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer -// will be propagated to hostpolicy for the duration of the call. This means that errors from -// both hostfxr and hostpolicy will be reporter through the same error writer. -// -typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); - -typedef void* hostfxr_handle; -struct hostfxr_initialize_parameters -{ - size_t size; - const char_t *host_path; - const char_t *dotnet_root; -}; - -// -// Initializes the hosting components for a dotnet command line running an application -// -// Parameters: -// argc -// Number of argv arguments -// argv -// Command-line arguments for running an application (as if through the dotnet executable). -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// HostInvalidState - Hosting components are already initialized -// -// This function parses the specified command-line arguments to determine the application to run. It will -// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and -// dependencies and prepare everything needed to load the runtime. -// -// This function only supports arguments for running an application. It does not support SDK commands. -// -// This function does not load the runtime. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( - int argc, - const char_t **argv, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Initializes the hosting components using a .runtimeconfig.json file -// -// Parameters: -// runtime_config_path -// Path to the .runtimeconfig.json file -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components -// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components -// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components -// -// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed -// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that -// may be next to the .runtimeconfig.json). -// -// This function does not load the runtime. -// -// If called when the runtime has already been loaded, this function will check if the specified runtime -// config is compatible with the existing runtime. -// -// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful -// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that -// the difference in properties is acceptable. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( - const char_t *runtime_config_path, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Gets the runtime property value for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Out parameter. Pointer to a buffer with the property value. -// -// Return value: -// The error code result. -// -// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// property value for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - /*out*/ const char_t **value); - -// -// Sets the value of a runtime property for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Value to set -// -// Return value: -// The error code result. -// -// Setting properties is only supported for the first host context, before the runtime has been loaded. -// -// If the property already exists in the host context, it will be overwritten. If value is nullptr, the -// property will be removed. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - const char_t *value); - -// -// Gets all the runtime properties for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// count -// [in] Size of the keys and values buffers -// [out] Number of properties returned (size of keys/values buffers used). If the input value is too -// small or keys/values is nullptr, this is populated with the number of available properties -// keys -// Array of pointers to buffers with runtime property keys -// values -// Array of pointers to buffers with runtime property values -// -// Return value: -// The error code result. -// -// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// properties for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( - const hostfxr_handle host_context_handle, - /*inout*/ size_t * count, - /*out*/ const char_t **keys, - /*out*/ const char_t **values); - -// -// Load CoreCLR and run the application for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// If the app was successfully run, the exit code of the application. Otherwise, the error code result. -// -// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. -// -// This function will not return until the managed application exits. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); - -// -// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// type -// Type of runtime delegate requested -// delegate -// An out parameter that will be assigned the delegate. -// -// Return value: -// The error code result. -// -// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, -// then all delegate types are supported. -// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, -// then only the following delegate types are currently supported: -// hdt_load_assembly_and_get_function_pointer -// hdt_get_function_pointer -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( - const hostfxr_handle host_context_handle, - enum hostfxr_delegate_type type, - /*out*/ void **delegate); - -// -// Closes an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// The error code result. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); - -#endif //__HOSTFXR_H__ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostpolicy.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostpolicy.dll deleted file mode 100644 index 05c28f80..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostpolicy.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore.dll deleted file mode 100644 index 0ce8b875..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore_amd64_amd64_5.0.921.35908.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore_amd64_amd64_5.0.921.35908.dll deleted file mode 100644 index af86a021..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore_amd64_amd64_5.0.921.35908.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordbi.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordbi.dll deleted file mode 100644 index 0ed09ed8..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordbi.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll deleted file mode 100644 index 01d1d0fd..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorrc.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorrc.dll deleted file mode 100644 index 18013b70..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorrc.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll deleted file mode 100644 index f25c0595..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/ucrtbase.dll b/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/ucrtbase.dll deleted file mode 100644 index b6625752..00000000 Binary files a/plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/ucrtbase.dll and /dev/null differ diff --git a/plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/coreclr_delegates.h b/plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/coreclr_delegates.h deleted file mode 100644 index 914ab592..00000000 --- a/plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/coreclr_delegates.h +++ /dev/null @@ -1,47 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __CORECLR_DELEGATES_H__ -#define __CORECLR_DELEGATES_H__ - -#include - -#if defined(_WIN32) - #define CORECLR_DELEGATE_CALLTYPE __stdcall - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define CORECLR_DELEGATE_CALLTYPE - typedef char char_t; -#endif - -#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) - -// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer -typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( - const char_t *assembly_path /* Fully qualified path to assembly */, - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) -typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); - -typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( - const char_t *type_name /* Assembly qualified type name */, - const char_t *method_name /* Public static method name compatible with delegateType */, - const char_t *delegate_type_name /* Assembly qualified delegate type name or null, - or UNMANAGEDCALLERSONLY_METHOD if the method is marked with - the UnmanagedCallersOnlyAttribute. */, - void *load_context /* Extensibility parameter (currently unused and must be 0) */, - void *reserved /* Extensibility parameter (currently unused and must be 0) */, - /*out*/ void **delegate /* Pointer where to store the function pointer result */); - -#endif // __CORECLR_DELEGATES_H__ diff --git a/plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/hostfxr.h b/plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/hostfxr.h deleted file mode 100644 index e062193c..00000000 --- a/plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/hostfxr.h +++ /dev/null @@ -1,288 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef __HOSTFXR_H__ -#define __HOSTFXR_H__ - -#include -#include - -#if defined(_WIN32) - #define HOSTFXR_CALLTYPE __cdecl - #ifdef _WCHAR_T_DEFINED - typedef wchar_t char_t; - #else - typedef unsigned short char_t; - #endif -#else - #define HOSTFXR_CALLTYPE - typedef char char_t; -#endif - -enum hostfxr_delegate_type -{ - hdt_com_activation, - hdt_load_in_memory_assembly, - hdt_winrt_activation, - hdt_com_register, - hdt_com_unregister, - hdt_load_assembly_and_get_function_pointer, - hdt_get_function_pointer, -}; - -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( - const int argc, - const char_t **argv, - const char_t *host_path, - const char_t *dotnet_root, - const char_t *app_path); -typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( - const int argc, - const char_t** argv, - const char_t* host_path, - const char_t* dotnet_root, - const char_t* app_path, - int64_t bundle_header_offset); - -typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); - -// -// Sets a callback which is to be used to write errors to. -// -// Parameters: -// error_writer -// A callback function which will be invoked every time an error is to be reported. -// Or nullptr to unregister previously registered callback and return to the default behavior. -// Return value: -// The previously registered callback (which is now unregistered), or nullptr if no previous callback -// was registered -// -// The error writer is registered per-thread, so the registration is thread-local. On each thread -// only one callback can be registered. Subsequent registrations overwrite the previous ones. -// -// By default no callback is registered in which case the errors are written to stderr. -// -// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). -// Multiple calls to the error writer may occure for one failure. -// -// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer -// will be propagated to hostpolicy for the duration of the call. This means that errors from -// both hostfxr and hostpolicy will be reporter through the same error writer. -// -typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); - -typedef void* hostfxr_handle; -struct hostfxr_initialize_parameters -{ - size_t size; - const char_t *host_path; - const char_t *dotnet_root; -}; - -// -// Initializes the hosting components for a dotnet command line running an application -// -// Parameters: -// argc -// Number of argv arguments -// argv -// Command-line arguments for running an application (as if through the dotnet executable). -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// HostInvalidState - Hosting components are already initialized -// -// This function parses the specified command-line arguments to determine the application to run. It will -// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and -// dependencies and prepare everything needed to load the runtime. -// -// This function only supports arguments for running an application. It does not support SDK commands. -// -// This function does not load the runtime. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( - int argc, - const char_t **argv, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Initializes the hosting components using a .runtimeconfig.json file -// -// Parameters: -// runtime_config_path -// Path to the .runtimeconfig.json file -// parameters -// Optional. Additional parameters for initialization -// host_context_handle -// On success, this will be populated with an opaque value representing the initialized host context -// -// Return value: -// Success - Hosting components were successfully initialized -// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components -// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components -// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components -// -// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed -// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that -// may be next to the .runtimeconfig.json). -// -// This function does not load the runtime. -// -// If called when the runtime has already been loaded, this function will check if the specified runtime -// config is compatible with the existing runtime. -// -// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful -// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that -// the difference in properties is acceptable. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( - const char_t *runtime_config_path, - const struct hostfxr_initialize_parameters *parameters, - /*out*/ hostfxr_handle *host_context_handle); - -// -// Gets the runtime property value for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Out parameter. Pointer to a buffer with the property value. -// -// Return value: -// The error code result. -// -// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// property value for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - /*out*/ const char_t **value); - -// -// Sets the value of a runtime property for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// name -// Runtime property name -// value -// Value to set -// -// Return value: -// The error code result. -// -// Setting properties is only supported for the first host context, before the runtime has been loaded. -// -// If the property already exists in the host context, it will be overwritten. If value is nullptr, the -// property will be removed. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( - const hostfxr_handle host_context_handle, - const char_t *name, - const char_t *value); - -// -// Gets all the runtime properties for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// count -// [in] Size of the keys and values buffers -// [out] Number of properties returned (size of keys/values buffers used). If the input value is too -// small or keys/values is nullptr, this is populated with the number of available properties -// keys -// Array of pointers to buffers with runtime property keys -// values -// Array of pointers to buffers with runtime property values -// -// Return value: -// The error code result. -// -// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only -// guaranteed until any of the below occur: -// - a 'run' method is called for the host context -// - properties are changed via hostfxr_set_runtime_property_value -// - the host context is closed via 'hostfxr_close' -// -// If host_context_handle is nullptr and an active host context exists, this function will get the -// properties for the active host context. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( - const hostfxr_handle host_context_handle, - /*inout*/ size_t * count, - /*out*/ const char_t **keys, - /*out*/ const char_t **values); - -// -// Load CoreCLR and run the application for an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// If the app was successfully run, the exit code of the application. Otherwise, the error code result. -// -// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. -// -// This function will not return until the managed application exits. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); - -// -// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// type -// Type of runtime delegate requested -// delegate -// An out parameter that will be assigned the delegate. -// -// Return value: -// The error code result. -// -// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, -// then all delegate types are supported. -// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, -// then only the following delegate types are currently supported: -// hdt_load_assembly_and_get_function_pointer -// hdt_get_function_pointer -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( - const hostfxr_handle host_context_handle, - enum hostfxr_delegate_type type, - /*out*/ void **delegate); - -// -// Closes an initialized host context -// -// Parameters: -// host_context_handle -// Handle to the initialized host context -// -// Return value: -// The error code result. -// -typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); - -#endif //__HOSTFXR_H__ diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLR.cpp b/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLR.cpp deleted file mode 100644 index d451ba5e..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLR.cpp +++ /dev/null @@ -1,1512 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "UnrealCLR.h" - -#define LOCTEXT_NAMESPACE "UnrealCLR" - -DEFINE_LOG_CATEGORY(LogUnrealCLR); - -void UnrealCLR::Module::StartupModule() { - #define HOSTFXR_VERSION "5.0.9" - #define HOSTFXR_WINDOWS "/hostfxr.dll" - #define HOSTFXR_MAC "/libhostfxr.dylib" - #define HOSTFXR_LINUX "/libhostfxr.so" - - #ifdef UNREALCLR_WINDOWS - #define HOSTFXR_PATH "Plugins/UnrealCLR/Runtime/Win64/host/fxr/" HOSTFXR_VERSION HOSTFXR_WINDOWS - #define UNREALCLR_PLATFORM_STRING(string) string - #elif defined(UNREALCLR_MAC) - #define HOSTFXR_PATH "Plugins/UnrealCLR/Runtime/Mac/host/fxr/" HOSTFXR_VERSION HOSTFXR_MAC - #define UNREALCLR_PLATFORM_STRING(string) TCHAR_TO_ANSI(string) - #elif defined(UNREALCLR_UNIX) - #define HOSTFXR_PATH "Plugins/UnrealCLR/Runtime/Linux/host/fxr/" HOSTFXR_VERSION HOSTFXR_LINUX - #define UNREALCLR_PLATFORM_STRING(string) TCHAR_TO_ANSI(string) - #else - #error "Unknown platform" - #endif - - UnrealCLR::Status = UnrealCLR::StatusType::Stopped; - UnrealCLR::ProjectPath = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir()); - UnrealCLR::UserAssembliesPath = UnrealCLR::ProjectPath + TEXT("Managed/"); - - OnWorldPostInitializationHandle = FWorldDelegates::OnPostWorldInitialization.AddRaw(this, &UnrealCLR::Module::OnWorldPostInitialization); - OnWorldCleanupHandle = FWorldDelegates::OnWorldCleanup.AddRaw(this, &UnrealCLR::Module::OnWorldCleanup); - - const FString hostfxrPath = UnrealCLR::ProjectPath + TEXT(HOSTFXR_PATH); - const FString assembliesPath = UnrealCLR::ProjectPath + TEXT("Plugins/UnrealCLR/Managed/"); - const FString runtimeConfigPath = assembliesPath + TEXT("UnrealEngine.Runtime.runtimeconfig.json"); - const FString runtimeAssemblyPath = assembliesPath + TEXT("UnrealEngine.Runtime.dll"); - const FString runtimeTypeName = TEXT("UnrealEngine.Runtime.Core, UnrealEngine.Runtime"); - const FString runtimeMethodName = TEXT("ManagedCommand"); - - UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host path set to \"%s\""), ANSI_TO_TCHAR(__FUNCTION__), *hostfxrPath); - - HostfxrLibrary = FPlatformProcess::GetDllHandle(*hostfxrPath); - - if (HostfxrLibrary) { - UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host library loaded successfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); - - hostfxr_set_error_writer_fn HostfxrSetErrorWriter = (hostfxr_set_error_writer_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_set_error_writer")); - - if (!HostfxrSetErrorWriter) { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_set_error_writer entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); - - return; - } - - hostfxr_initialize_for_runtime_config_fn HostfxrInitializeForRuntimeConfig = (hostfxr_initialize_for_runtime_config_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_initialize_for_runtime_config")); - - if (!HostfxrInitializeForRuntimeConfig) { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_initialize_for_runtime_config entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); - - return; - } - - hostfxr_get_runtime_delegate_fn HostfxrGetRuntimeDelegate = (hostfxr_get_runtime_delegate_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_get_runtime_delegate")); - - if (!HostfxrGetRuntimeDelegate) { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_get_runtime_delegate entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); - - return; - } - - hostfxr_close_fn HostfxrClose = (hostfxr_close_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_close")); - - if (!HostfxrClose) { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_close entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); - - return; - } - - HostfxrSetErrorWriter(HostError); - - hostfxr_handle HostfxrContext = nullptr; - - if (HostfxrInitializeForRuntimeConfig(UNREALCLR_PLATFORM_STRING(*runtimeConfigPath), nullptr, &HostfxrContext) != 0 || !HostfxrContext) { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to initialize the host! Please, try to restart the engine."), ANSI_TO_TCHAR(__FUNCTION__)); - - HostfxrClose(HostfxrContext); - - return; - } - - void* hostfxrLoadAssemblyAndGetFunctionPointer = nullptr; - - if (HostfxrGetRuntimeDelegate(HostfxrContext, hdt_load_assembly_and_get_function_pointer, &hostfxrLoadAssemblyAndGetFunctionPointer) != 0 || !HostfxrGetRuntimeDelegate) { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to get hdt_load_assembly_and_get_function_pointer runtime delegate!"), ANSI_TO_TCHAR(__FUNCTION__)); - - HostfxrClose(HostfxrContext); - - return; - } - - HostfxrClose(HostfxrContext); - - UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host functions loaded successfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); - - load_assembly_and_get_function_pointer_fn HostfxrLoadAssemblyAndGetFunctionPointer = (load_assembly_and_get_function_pointer_fn)hostfxrLoadAssemblyAndGetFunctionPointer; - - if (HostfxrLoadAssemblyAndGetFunctionPointer && HostfxrLoadAssemblyAndGetFunctionPointer(UNREALCLR_PLATFORM_STRING(*runtimeAssemblyPath), UNREALCLR_PLATFORM_STRING(*runtimeTypeName), UNREALCLR_PLATFORM_STRING(*runtimeMethodName), UNMANAGEDCALLERSONLY_METHOD, nullptr, (void**)&UnrealCLR::ManagedCommand) == 0) { - UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host runtime assembly loaded succesfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); - } else { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host runtime assembly loading failed!"), ANSI_TO_TCHAR(__FUNCTION__)); - - return; - } - - #if WITH_EDITOR - IPlatformFile& platformFile = FPlatformFileManager::Get().GetPlatformFile(); - - if (!platformFile.DirectoryExists(*UnrealCLR::UserAssembliesPath)) { - platformFile.CreateDirectory(*UnrealCLR::UserAssembliesPath); - - if (!platformFile.DirectoryExists(*UnrealCLR::UserAssembliesPath)) - UE_LOG(LogUnrealCLR, Warning, TEXT("%s: Unable to create a folder for managed assemblies at %s."), ANSI_TO_TCHAR(__FUNCTION__), *UnrealCLR::UserAssembliesPath); - } - #endif - - if (UnrealCLR::ManagedCommand) { - // Framework pointers - - int32 position = 0; - int32 checksum = 0; - - { - int32 head = 0; - Shared::Functions[position++] = Shared::AssertFunctions; - - Shared::AssertFunctions[head++] = (void*)&UnrealCLRFramework::Assert::OutputMessage; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::CommandLineFunctions; - - Shared::CommandLineFunctions[head++] = (void*)&UnrealCLRFramework::CommandLine::Get; - Shared::CommandLineFunctions[head++] = (void*)&UnrealCLRFramework::CommandLine::Set; - Shared::CommandLineFunctions[head++] = (void*)&UnrealCLRFramework::CommandLine::Append; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::DebugFunctions; - - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::Log; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::Exception; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::AddOnScreenMessage; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::ClearOnScreenMessages; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawBox; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawCapsule; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawCone; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawCylinder; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawSphere; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawLine; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawPoint; - Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::FlushPersistentLines; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ObjectFunctions; - - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::IsPendingKill; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::IsValid; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::Load; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::Rename; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::Invoke; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::ToActor; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::ToComponent; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetID; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetName; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetBool; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetByte; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetShort; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetInt; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetLong; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetUShort; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetUInt; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetULong; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetFloat; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetDouble; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetEnum; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetString; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetText; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetBool; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetByte; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetShort; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetInt; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetLong; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetUShort; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetUInt; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetULong; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetFloat; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetDouble; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetEnum; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetString; - Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetText; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ApplicationFunctions; - - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::IsCanEverRender; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::IsPackagedForDistribution; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::IsPackagedForShipping; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetProjectDirectory; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetDefaultLanguage; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetProjectName; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetVolumeMultiplier; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::SetProjectName; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::SetVolumeMultiplier; - Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::RequestExit; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ConsoleManagerFunctions; - - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::IsRegisteredVariable; - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::FindVariable; - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableBool; - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableInt; - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableFloat; - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableString; - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterCommand; - Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::UnregisterObject; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::EngineFunctions; - - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsSplitScreen; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsEditor; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsForegroundWindow; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsExitRequested; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetNetMode; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetFrameNumber; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetViewportSize; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetScreenResolution; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetWindowMode; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetVersion; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetMaxFPS; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::SetMaxFPS; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::SetTitle; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::AddActionMapping; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::AddAxisMapping; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::ForceGarbageCollection; - Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::DelayGarbageCollection; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::HeadMountedDisplayFunctions; - - Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::IsConnected; - Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::GetEnabled; - Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::GetLowPersistenceMode; - Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::GetDeviceName; - Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::SetEnable; - Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::SetLowPersistenceMode; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::WorldFunctions; - - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::ForEachActor; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActorCount; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetDeltaSeconds; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetRealTimeSeconds; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetTimeSeconds; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetCurrentLevelName; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetSimulatePhysics; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetWorldOrigin; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActor; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActorByTag; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActorByID; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetFirstPlayerController; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetGameMode; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorBeginOverlapCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorBeginCursorOverCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorEndCursorOverCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorClickedCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorReleasedCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorEndOverlapCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorHitCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentBeginOverlapCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentEndOverlapCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentHitCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentBeginCursorOverCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentEndCursorOverCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentClickedCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentReleasedCallback; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetSimulatePhysics; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetGravity; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetWorldOrigin; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OpenLevel; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceTestByChannel; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceTestByProfile; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceSingleByChannel; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceSingleByProfile; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepTestByChannel; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepTestByProfile; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepSingleByChannel; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepSingleByProfile; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapAnyTestByChannel; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapAnyTestByProfile; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapBlockingTestByChannel; - Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapBlockingTestByProfile; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::AssetFunctions; - - Shared::AssetFunctions[head++] = (void*)&UnrealCLRFramework::Asset::IsValid; - Shared::AssetFunctions[head++] = (void*)&UnrealCLRFramework::Asset::GetName; - Shared::AssetFunctions[head++] = (void*)&UnrealCLRFramework::Asset::GetPath; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::AssetRegistryFunctions; - - Shared::AssetRegistryFunctions[head++] = (void*)&UnrealCLRFramework::AssetRegistry::Get; - Shared::AssetRegistryFunctions[head++] = (void*)&UnrealCLRFramework::AssetRegistry::HasAssets; - Shared::AssetRegistryFunctions[head++] = (void*)&UnrealCLRFramework::AssetRegistry::ForEachAsset; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::BlueprintFunctions; - - Shared::BlueprintFunctions[head++] = (void*)&UnrealCLRFramework::Blueprint::IsValidActorClass; - Shared::BlueprintFunctions[head++] = (void*)&UnrealCLRFramework::Blueprint::IsValidComponentClass; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ConsoleObjectFunctions; - - Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsBool; - Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsInt; - Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsFloat; - Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsString; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ConsoleVariableFunctions; - - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetBool; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetInt; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetFloat; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetString; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetBool; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetInt; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetFloat; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetString; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetOnChangedCallback; - Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::ClearOnChangedCallback; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ActorFunctions; - - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::IsPendingKill; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::IsRootComponentMovable; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::IsOverlappingActor; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachComponent; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachAttachedActor; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachChildActor; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachOverlappingActor; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Spawn; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Destroy; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Rename; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Hide; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::TeleportTo; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetComponent; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetComponentByTag; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetComponentByID; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetRootComponent; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetInputComponent; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetCreationTime; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetBlockInput; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetDistanceTo; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetHorizontalDistanceTo; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetBounds; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetEyesViewPoint; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetRootComponent; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetInputComponent; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetBlockInput; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetLifeSpan; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetEnableInput; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetEnableCollision; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::AddTag; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::RemoveTag; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::HasTag; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::RegisterEvent; - Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::UnregisterEvent; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::GameModeBaseFunctions; - - Shared::GameModeBaseFunctions[head++] = (void*)&UnrealCLRFramework::GameModeBase::GetUseSeamlessTravel; - Shared::GameModeBaseFunctions[head++] = (void*)&UnrealCLRFramework::GameModeBase::SetUseSeamlessTravel; - Shared::GameModeBaseFunctions[head++] = (void*)&UnrealCLRFramework::GameModeBase::SwapPlayerControllers; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::PawnFunctions; - - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::IsControlled; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::IsPlayerControlled; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetAutoPossessAI; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetAutoPossessPlayer; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetUseControllerRotationYaw; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetUseControllerRotationPitch; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetUseControllerRotationRoll; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetGravityDirection; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetAIController; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetPlayerController; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetAutoPossessAI; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetAutoPossessPlayer; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetUseControllerRotationYaw; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetUseControllerRotationPitch; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetUseControllerRotationRoll; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddControllerYawInput; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddControllerPitchInput; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddControllerRollInput; - Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddMovementInput; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::CharacterFunctions; - - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::IsCrouched; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::CanCrouch; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::CanJump; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::CheckJumpInput; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::ClearJumpInput; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::Launch; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::Crouch; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::StopCrouching; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::Jump; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::StopJumping; - Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::SetOnLandedCallback; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ControllerFunctions; - - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::IsLookInputIgnored; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::IsMoveInputIgnored; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::IsPlayerController; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetPawn; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetCharacter; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetViewTarget; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetControlRotation; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetDesiredRotation; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::LineOfSightTo; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetControlRotation; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetInitialLocationAndRotation; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetIgnoreLookInput; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetIgnoreMoveInput; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::ResetIgnoreLookInput; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::ResetIgnoreMoveInput; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::Possess; - Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::Unpossess; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::AIControllerFunctions; - - Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::ClearFocus; - Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::GetFocalPoint; - Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::SetFocalPoint; - Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::GetFocusActor; - Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::GetAllowStrafe; - Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::SetAllowStrafe; - Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::SetFocus; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::PlayerControllerFunctions; - - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::IsPaused; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetShowMouseCursor; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetEnableClickEvents; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetEnableMouseOverEvents; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetMousePosition; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetPlayer; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetPlayerInput; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetHitResultAtScreenPosition; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetHitResultUnderCursor; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetShowMouseCursor; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetEnableClickEvents; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetEnableMouseOverEvents; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetMousePosition; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::ConsoleCommand; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetPause; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetViewTarget; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetViewTargetWithBlend; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::AddYawInput; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::AddPitchInput; - Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::AddRollInput; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::VolumeFunctions; - - Shared::VolumeFunctions[head++] = (void*)&UnrealCLRFramework::Volume::EncompassesPoint; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::PostProcessVolumeFunctions; - - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetEnabled; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetBlendRadius; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetBlendWeight; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetUnbound; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetPriority; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetEnabled; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetBlendRadius; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetBlendWeight; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetUnbound; - Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetPriority; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SoundBaseFunctions; - - Shared::SoundBaseFunctions[head++] = (void*)&UnrealCLRFramework::SoundBase::GetDuration; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SoundWaveFunctions; - - Shared::SoundWaveFunctions[head++] = (void*)&UnrealCLRFramework::SoundWave::GetLoop; - Shared::SoundWaveFunctions[head++] = (void*)&UnrealCLRFramework::SoundWave::SetLoop; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::AnimationInstanceFunctions; - - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetCurrentActiveMontage; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::IsPlaying; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetPlayRate; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetPosition; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetBlendTime; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetCurrentSection; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::SetPlayRate; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::SetPosition; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::SetNextSection; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::PlayMontage; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::PauseMontage; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::ResumeMontage; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::StopMontage; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::JumpToSection; - Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::JumpToSectionsEnd; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::PlayerFunctions; - - Shared::PlayerFunctions[head++] = (void*)&UnrealCLRFramework::Player::GetPlayerController; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::PlayerInputFunctions; - - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::IsKeyPressed; - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::GetTimeKeyPressed; - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::GetMouseSensitivity; - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::SetMouseSensitivity; - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::AddActionMapping; - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::AddAxisMapping; - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::RemoveActionMapping; - Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::RemoveAxisMapping; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::FontFunctions; - - Shared::FontFunctions[head++] = (void*)&UnrealCLRFramework::Font::GetStringSize; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::Texture2DFunctions; - - Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::CreateFromFile; - Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::CreateFromBuffer; - Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::HasAlphaChannel; - Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::GetSize; - Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::GetPixelFormat; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ActorComponentFunctions; - - Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::IsOwnerSelected; - Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::GetOwner; - Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::Destroy; - Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::AddTag; - Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::RemoveTag; - Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::HasTag; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::InputComponentFunctions; - - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::HasBindings; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::GetActionBindingsNumber; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::ClearActionBindings; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::BindAction; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::BindAxis; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::RemoveActionBinding; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::GetBlockInput; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::SetBlockInput; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::GetPriority; - Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::SetPriority; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SceneComponentFunctions; - - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsAttachedToComponent; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsAttachedToActor; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsVisible; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsSocketExists; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::HasAnySockets; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::CanAttachAsChild; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::ForEachAttachedChild; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::Create; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AttachToComponent; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::DetachFromComponent; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::Activate; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::Deactivate; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::UpdateToWorld; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddLocalOffset; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddLocalRotation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddRelativeLocation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddRelativeRotation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddLocalTransform; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddWorldOffset; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddWorldRotation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddWorldTransform; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetAttachedSocketName; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetBounds; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetSocketLocation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetSocketRotation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentVelocity; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentLocation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentRotation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentScale; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentTransform; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetForwardVector; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetRightVector; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetUpVector; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetMobility; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetVisibility; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetRelativeLocation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetRelativeRotation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetRelativeTransform; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldLocation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldRotation; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldScale; - Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldTransform; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::AudioComponentFunctions; - - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::IsPlaying; - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::GetPaused; - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::SetSound; - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::SetPaused; - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::Play; - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::Stop; - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::FadeIn; - Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::FadeOut; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::CameraComponentFunctions; - - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetConstrainAspectRatio; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetAspectRatio; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetFieldOfView; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetOrthoFarClipPlane; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetOrthoNearClipPlane; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetOrthoWidth; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetLockToHeadMountedDisplay; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetProjectionMode; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetConstrainAspectRatio; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetAspectRatio; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetFieldOfView; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetOrthoFarClipPlane; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetOrthoNearClipPlane; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetOrthoWidth; - Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetLockToHeadMountedDisplay; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ChildActorComponentFunctions; - - Shared::ChildActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ChildActorComponent::GetChildActor; - Shared::ChildActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ChildActorComponent::SetChildActor; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SpringArmComponentFunctions; - - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::IsCollisionFixApplied; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetDrawDebugLagMarkers; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCollisionTest; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraPositionLag; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraRotationLag; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraLagSubstepping; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetInheritPitch; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetInheritRoll; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetInheritYaw; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraLagMaxDistance; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraLagMaxTimeStep; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraPositionLagSpeed; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraRotationLagSpeed; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetProbeChannel; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetProbeSize; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetSocketOffset; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetTargetArmLength; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetTargetOffset; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetUnfixedCameraPosition; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetDesiredRotation; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetTargetRotation; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetUsePawnControlRotation; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetDrawDebugLagMarkers; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCollisionTest; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraPositionLag; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraRotationLag; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraLagSubstepping; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetInheritPitch; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetInheritRoll; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetInheritYaw; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraLagMaxDistance; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraLagMaxTimeStep; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraPositionLagSpeed; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraRotationLagSpeed; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetProbeChannel; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetProbeSize; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetSocketOffset; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetTargetArmLength; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetTargetOffset; - Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetUsePawnControlRotation; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::PostProcessComponentFunctions; - - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetEnabled; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetBlendRadius; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetBlendWeight; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetUnbound; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetPriority; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetEnabled; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetBlendRadius; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetBlendWeight; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetUnbound; - Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetPriority; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::PrimitiveComponentFunctions; - - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::IsGravityEnabled; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::IsOverlappingComponent; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::ForEachOverlappingComponent; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddAngularImpulseInDegrees; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddAngularImpulseInRadians; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddForce; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddForceAtLocation; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddImpulse; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddImpulseAtLocation; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddRadialForce; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddRadialImpulse; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddTorqueInDegrees; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddTorqueInRadians; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetMass; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsLinearVelocity; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsLinearVelocityAtPoint; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsAngularVelocityInDegrees; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsAngularVelocityInRadians; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetCastShadow; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetOnlyOwnerSee; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetOwnerNoSee; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetIgnoreRadialForce; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetIgnoreRadialImpulse; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetMaterial; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetMaterialsNumber; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetDistanceToCollision; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetSquaredDistanceToCollision; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetAngularDamping; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetLinearDamping; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetGenerateOverlapEvents; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetGenerateHitEvents; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetMass; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCenterOfMass; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsLinearVelocity; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsAngularVelocityInDegrees; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsAngularVelocityInRadians; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsMaxAngularVelocityInDegrees; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsMaxAngularVelocityInRadians; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCastShadow; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetOnlyOwnerSee; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetOwnerNoSee; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreRadialForce; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreRadialImpulse; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetMaterial; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetSimulatePhysics; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetAngularDamping; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetLinearDamping; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetEnableGravity; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionMode; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionChannel; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionProfileName; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionResponseToChannel; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionResponseToAllChannels; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreActorWhenMoving; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreComponentWhenMoving; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::ClearMoveIgnoreActors; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::ClearMoveIgnoreComponents; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::CreateAndSetMaterialInstanceDynamic; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::RegisterEvent; - Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::UnregisterEvent; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::ShapeComponentFunctions; - - Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::GetDynamicObstacle; - Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::GetShapeColor; - Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::SetDynamicObstacle; - Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::SetShapeColor; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::BoxComponentFunctions; - - Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::GetScaledBoxExtent; - Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::GetUnscaledBoxExtent; - Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::SetBoxExtent; - Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::InitBoxExtent; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SphereComponentFunctions; - - Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::GetScaledSphereRadius; - Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::GetUnscaledSphereRadius; - Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::GetShapeScale; - Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::SetSphereRadius; - Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::InitSphereRadius; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::CapsuleComponentFunctions; - - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetScaledCapsuleRadius; - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetUnscaledCapsuleRadius; - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetShapeScale; - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetScaledCapsuleSize; - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetUnscaledCapsuleSize; - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::SetCapsuleRadius; - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::SetCapsuleSize; - Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::InitCapsuleSize; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::MeshComponentFunctions; - - Shared::MeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::MeshComponent::IsValidMaterialSlotName; - Shared::MeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::MeshComponent::GetMaterialIndex; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::TextRenderComponentFunctions; - - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetFont; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetText; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetTextMaterial; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetTextRenderColor; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetHorizontalAlignment; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetHorizontalSpacingAdjustment; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetVerticalAlignment; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetVerticalSpacingAdjustment; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetScale; - Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetWorldSize; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::LightComponentBaseFunctions; - - Shared::LightComponentBaseFunctions[head++] = (void*)&UnrealCLRFramework::LightComponentBase::GetIntensity; - Shared::LightComponentBaseFunctions[head++] = (void*)&UnrealCLRFramework::LightComponentBase::GetCastShadows; - Shared::LightComponentBaseFunctions[head++] = (void*)&UnrealCLRFramework::LightComponentBase::SetCastShadows; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::LightComponentFunctions; - - Shared::LightComponentFunctions[head++] = (void*)&UnrealCLRFramework::LightComponent::SetIntensity; - Shared::LightComponentFunctions[head++] = (void*)&UnrealCLRFramework::LightComponent::SetLightColor; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::MotionControllerComponentFunctions; - - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::IsTracked; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::GetDisplayDeviceModel; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::GetDisableLowLatencyUpdate; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::GetTrackingSource; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetDisplayDeviceModel; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetDisableLowLatencyUpdate; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetTrackingSource; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetTrackingMotionSource; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetAssociatedPlayerIndex; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetCustomDisplayMesh; - Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetDisplayModelSource; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::StaticMeshComponentFunctions; - - Shared::StaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::StaticMeshComponent::GetLocalBounds; - Shared::StaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::StaticMeshComponent::GetStaticMesh; - Shared::StaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::StaticMeshComponent::SetStaticMesh; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::InstancedStaticMeshComponentFunctions; - - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::GetInstanceCount; - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::GetInstanceTransform; - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::AddInstance; - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::AddInstances; - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::UpdateInstanceTransform; - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::BatchUpdateInstanceTransforms; - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::RemoveInstance; - Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::ClearInstances; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::HierarchicalInstancedStaticMeshComponentFunctions; - - Shared::HierarchicalInstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::HierarchicalInstancedStaticMeshComponent::GetDisableCollision; - Shared::HierarchicalInstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::HierarchicalInstancedStaticMeshComponent::SetDisableCollision; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SkinnedMeshComponentFunctions; - - Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBonesNumber; - Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBoneIndex; - Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBoneName; - Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBoneTransform; - Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::SetSkeletalMesh; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SkeletalMeshComponentFunctions; - - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::IsPlaying; - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::GetAnimationInstance; - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::SetAnimation; - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::SetAnimationMode; - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::SetAnimationBlueprint; - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::Play; - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::PlayAnimation; - Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::Stop; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::SplineComponentFunctions; - - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::IsClosedLoop; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDuration; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplinePointType; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplinePointsNumber; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplineSegmentsNumber; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTangentAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTangentAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTangentAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTransformAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTransformAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetArriveTangentAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDefaultUpVector; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDirectionAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDirectionAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDirectionAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDistanceAlongSplineAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLeaveTangentAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAndTangentAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRightVectorAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRightVectorAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRightVectorAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRollAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRollAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRollAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRotationAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRotationAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRotationAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetScaleAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetScaleAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetScaleAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplineLength; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTransformAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetUpVectorAtDistanceAlongSpline; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetUpVectorAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetUpVectorAtTime; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetDuration; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetSplinePointType; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetClosedLoop; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetDefaultUpVector; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetLocationAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetTangentAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetTangentsAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetUpVectorAtSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::AddSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::AddSplinePointAtIndex; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::ClearSplinePoints; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindDirectionClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindLocationClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindUpVectorClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindRightVectorClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindRollClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindScaleClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindTangentClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindTransformClosestToWorldLocation; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::RemoveSplinePoint; - Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::UpdateSpline; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::RadialForceComponentFunctions; - - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetIgnoreOwningActor; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetImpulseVelocityChange; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetLinearFalloff; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetForceStrength; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetImpulseStrength; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetRadius; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetIgnoreOwningActor; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetImpulseVelocityChange; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetLinearFalloff; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetForceStrength; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetImpulseStrength; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetRadius; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::AddCollisionChannelToAffect; - Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::FireImpulse; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::MaterialInterfaceFunctions; - - Shared::MaterialInterfaceFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInterface::IsTwoSided; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::MaterialFunctions; - - Shared::MaterialFunctions[head++] = (void*)&UnrealCLRFramework::Material::IsDefaultMaterial; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::MaterialInstanceFunctions; - - Shared::MaterialInstanceFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstance::IsChildOf; - Shared::MaterialInstanceFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstance::GetParent; - - checksum += head; - } - - { - int32 head = 0; - Shared::Functions[position++] = Shared::MaterialInstanceDynamicFunctions; - - Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::ClearParameterValues; - Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::SetTextureParameterValue; - Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::SetVectorParameterValue; - Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::SetScalarParameterValue; - - checksum += head; - } - - checksum += position; - - // Runtime pointers - - Shared::RuntimeFunctions[0] = (void*)&UnrealCLR::Module::Exception; - Shared::RuntimeFunctions[1] = (void*)&UnrealCLR::Module::Log; - - constexpr void* functions[3] = { - Shared::RuntimeFunctions, - Shared::Events, - Shared::Functions - }; - - if (reinterpret_cast(UnrealCLR::ManagedCommand(UnrealCLR::Command(functions, checksum))) == 0xF) { - UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host runtime assembly initialized succesfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); - } else { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host runtime assembly initialization failed!"), ANSI_TO_TCHAR(__FUNCTION__)); - - return; - } - - UnrealCLR::Engine::Manager = NewObject(); - UnrealCLR::Engine::Manager->AddToRoot(); - UnrealCLR::Status = UnrealCLR::StatusType::Idle; - - UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host loaded succesfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); - } else { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host runtime assembly unable to load the initialization function!"), ANSI_TO_TCHAR(__FUNCTION__)); - - return; - } - } else { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host loading failed!"), ANSI_TO_TCHAR(__FUNCTION__)); - } -} - -void UnrealCLR::Module::ShutdownModule() { - if (UnrealCLR::Engine::Manager) { - UnrealCLR::Engine::Manager->RemoveFromRoot(); - UnrealCLR::Engine::Manager = nullptr; - } - - FWorldDelegates::OnPostWorldInitialization.Remove(OnWorldPostInitializationHandle); - FWorldDelegates::OnWorldCleanup.Remove(OnWorldCleanupHandle); - - FPlatformProcess::FreeDllHandle(HostfxrLibrary); -} - -void UnrealCLR::Module::OnWorldPostInitialization(UWorld* World, const UWorld::InitializationValues InitializationValues) { - if (World->IsGameWorld()) { - if (UnrealCLR::WorldTickState == TickState::Stopped) { - UnrealCLR::Engine::World = World; - - if (UnrealCLR::Status != UnrealCLR::StatusType::Stopped) { - UnrealCLR::ManagedCommand(UnrealCLR::Command(CommandType::LoadAssemblies)); - UnrealCLR::Status = UnrealCLR::StatusType::Running; - - for (TActorIterator currentActor(UnrealCLR::Engine::World); currentActor; ++currentActor) { - RegisterTickFunction(OnPrePhysicsTickFunction, TG_PrePhysics, *currentActor); - RegisterTickFunction(OnDuringPhysicsTickFunction, TG_DuringPhysics, *currentActor); - RegisterTickFunction(OnPostPhysicsTickFunction, TG_PostPhysics, *currentActor); - RegisterTickFunction(OnPostUpdateTickFunction, TG_PostUpdateWork, *currentActor); - - UnrealCLR::WorldTickState = UnrealCLR::TickState::Registered; - - if (UnrealCLR::Shared::Events[OnWorldBegin]) - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldBegin])); - - break; - } - } else { - #if WITH_EDITOR - FNotificationInfo notificationInfo(FText::FromString(TEXT("UnrealCLR host is not initialized! Please, check logs and try to restart the engine."))); - - notificationInfo.ExpireDuration = 5.0f; - - FSlateNotificationManager::Get().AddNotification(notificationInfo); - #endif - } - } - } -} - -void UnrealCLR::Module::OnWorldCleanup(UWorld* World, bool SessionEnded, bool CleanupResources) { - if (World->IsGameWorld() && World == UnrealCLR::Engine::World && UnrealCLR::WorldTickState != UnrealCLR::TickState::Stopped) { - if (UnrealCLR::Status != UnrealCLR::StatusType::Stopped) { - if (UnrealCLR::Shared::Events[OnWorldEnd]) - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldEnd])); - - OnPrePhysicsTickFunction.UnRegisterTickFunction(); - OnDuringPhysicsTickFunction.UnRegisterTickFunction(); - OnPostPhysicsTickFunction.UnRegisterTickFunction(); - OnPostUpdateTickFunction.UnRegisterTickFunction(); - - UnrealCLR::ManagedCommand(UnrealCLR::Command(CommandType::UnloadAssemblies)); - UnrealCLR::Status = UnrealCLR::StatusType::Idle; - } - - UnrealCLR::Engine::World = nullptr; - UnrealCLR::WorldTickState = UnrealCLR::TickState::Stopped; - - FMemory::Memset(UnrealCLR::Shared::Events, 0, sizeof(UnrealCLR::Shared::Events)); - } -} - -void UnrealCLR::Module::RegisterTickFunction(FTickFunction& TickFunction, ETickingGroup TickGroup, AWorldSettings* LevelActor) { - TickFunction.bCanEverTick = true; - TickFunction.bTickEvenWhenPaused = false; - TickFunction.bStartWithTickEnabled = true; - TickFunction.bHighPriority = true; - TickFunction.bAllowTickOnDedicatedServer = true; - TickFunction.bRunOnAnyThread = false; - TickFunction.TickGroup = TickGroup; - TickFunction.RegisterTickFunction(UnrealCLR::Engine::World->PersistentLevel); - LevelActor->PrimaryActorTick.AddPrerequisite(UnrealCLR::Engine::Manager, TickFunction); -} - -void UnrealCLR::Module::HostError(const char_t* Message) { - UE_LOG(LogUnrealCLR, Error, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *FString(Message)); -} - -void UnrealCLR::Module::Exception(const char* Message) { - FString message(ANSI_TO_TCHAR(Message)); - - UE_LOG(LogUnrealCLR, Error, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *message); - - GEngine->AddOnScreenDebugMessage((uint64)-1, 10.0f, FColor::Red, *message); -} - -void UnrealCLR::Module::Log(UnrealCLR::LogLevel Level, const char* Message) { - #define UNREALCLR_LOG(Verbosity) UE_LOG(LogUnrealCLR, Verbosity, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *message); - - FString message(ANSI_TO_TCHAR(Message)); - - if (Level == UnrealCLR::LogLevel::Display) { - UNREALCLR_LOG(Display); - } else if (Level == UnrealCLR::LogLevel::Warning) { - UNREALCLR_LOG(Warning); - - GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Yellow, *message); - } else if (Level == UnrealCLR::LogLevel::Error) { - UNREALCLR_LOG(Error); - - GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Red, *message); - } else if (Level == UnrealCLR::LogLevel::Fatal) { - UNREALCLR_LOG(Error); - - GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Red, *message); - - UnrealCLR::Status = UnrealCLR::StatusType::Idle; - } -} - -void UnrealCLR::PrePhysicsTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { - if (UnrealCLR::WorldTickState != UnrealCLR::TickState::Started && UnrealCLR::Shared::Events[OnWorldPostBegin]) { - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPostBegin])); - UnrealCLR::WorldTickState = UnrealCLR::TickState::Started; - } - - if (UnrealCLR::Shared::Events[OnWorldPrePhysicsTick]) - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPrePhysicsTick], DeltaTime)); -} - -void UnrealCLR::DuringPhysicsTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { - if (UnrealCLR::Shared::Events[OnWorldDuringPhysicsTick]) - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldDuringPhysicsTick], DeltaTime)); -} - -void UnrealCLR::PostPhysicsTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { - if (UnrealCLR::Shared::Events[OnWorldPostPhysicsTick]) - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPostPhysicsTick], DeltaTime)); -} - -void UnrealCLR::PostUpdateTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { - if (UnrealCLR::Shared::Events[OnWorldPostUpdateTick]) - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPostUpdateTick], DeltaTime)); -} - -FString UnrealCLR::PrePhysicsTickFunction::DiagnosticMessage() { - return TEXT("PrePhysicsTickFunction"); -} - -FString UnrealCLR::DuringPhysicsTickFunction::DiagnosticMessage() { - return TEXT("DuringPhysicsTickFunction"); -} - -FString UnrealCLR::PostPhysicsTickFunction::DiagnosticMessage() { - return TEXT("PostPhysicsTickFunction"); -} - -FString UnrealCLR::PostUpdateTickFunction::DiagnosticMessage() { - return TEXT("PostUpdateTickFunction"); -} - -size_t UnrealCLR::Utility::Strcpy(char* Destination, const char* Source, size_t Length) { - char* destination = Destination; - const char* source = Source; - size_t length = Length; - - if (length != 0 && --length != 0) { - do { - if ((*destination++ = *source++) == 0) - break; - } - - while (--length != 0); - } - - if (length == 0) { - if (Length != 0) - *destination = '\0'; - - while (*source++); - } - - return (source - Source - 1); -} - -size_t UnrealCLR::Utility::Strlen(const char* Source) { - return strlen(Source) + 1; -} - -#undef LOCTEXT_NAMESPACE - -IMPLEMENT_MODULE(UnrealCLR::Module, UnrealCLR) diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRFramework.cpp b/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRFramework.cpp deleted file mode 100644 index 402b9890..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRFramework.cpp +++ /dev/null @@ -1,3920 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "UnrealCLRFramework.h" - -DEFINE_LOG_CATEGORY(LogUnrealManaged); - -namespace UnrealCLRFramework { - #define UNREALCLR_GET_ATTACHMENT_RULE(Rule, Result) {\ - switch (Rule) {\ - case AttachmentTransformRule::KeepRelativeTransform:\ - Result = FAttachmentTransformRules::KeepRelativeTransform;\ - break;\ - case AttachmentTransformRule::KeepWorldTransform:\ - Result = FAttachmentTransformRules::KeepWorldTransform;\ - break;\ - case AttachmentTransformRule::SnapToTargetIncludingScale:\ - Result = FAttachmentTransformRules::SnapToTargetIncludingScale;\ - break;\ - case AttachmentTransformRule::SnapToTargetNotIncludingScale:\ - Result = FAttachmentTransformRules::SnapToTargetNotIncludingScale;\ - break;\ - default:\ - break;\ - }\ - } - - #define UNREALCLR_GET_DETACHMENT_RULE(Rule, Result) {\ - switch (Rule) {\ - case DetachmentTransformRule::KeepRelativeTransform:\ - Result = FDetachmentTransformRules::KeepRelativeTransform;\ - break;\ - case DetachmentTransformRule::KeepWorldTransform:\ - Result = FDetachmentTransformRules::KeepWorldTransform;\ - break;\ - default:\ - break;\ - }\ - } - - #define UNREALCLR_GET_ACTOR_TYPE(Type, Head, Tail, Result) {\ - switch (Type) {\ - case ActorType::Base:\ - Result = Head AActor Tail;\ - break;\ - case ActorType::Camera:\ - Result = Head ACameraActor Tail;\ - break;\ - case ActorType::TriggerBox:\ - Result = Head ATriggerBox Tail;\ - break;\ - case ActorType::TriggerSphere:\ - Result = Head ATriggerSphere Tail;\ - break;\ - case ActorType::TriggerCapsule:\ - Result = Head ATriggerCapsule Tail;\ - break;\ - case ActorType::Pawn:\ - Result = Head APawn Tail;\ - break;\ - case ActorType::Character:\ - Result = Head ACharacter Tail;\ - break;\ - case ActorType::AIController:\ - Result = Head AAIController Tail;\ - break;\ - case ActorType::PlayerController:\ - Result = Head APlayerController Tail;\ - break;\ - case ActorType::Brush:\ - Result = Head ABrush Tail;\ - break;\ - case ActorType::AmbientSound:\ - Result = Head AAmbientSound Tail;\ - break;\ - case ActorType::DirectionalLight:\ - Result = Head ADirectionalLight Tail;\ - break;\ - case ActorType::PointLight:\ - Result = Head APointLight Tail;\ - break;\ - case ActorType::RectLight:\ - Result = Head ARectLight Tail;\ - break;\ - case ActorType::SpotLight:\ - Result = Head ASpotLight Tail;\ - break;\ - case ActorType::TriggerVolume:\ - Result = Head ATriggerVolume Tail;\ - break;\ - case ActorType::PostProcessVolume:\ - Result = Head APostProcessVolume Tail;\ - break;\ - case ActorType::LevelScript:\ - Result = Head ALevelScriptActor Tail;\ - break;\ - case ActorType::GameModeBase:\ - Result = Head AGameModeBase Tail;\ - break;\ - default:\ - break;\ - }\ - } - - #define UNREALCLR_GET_COMPONENT_TYPE(Type, Head, Tail, Result) {\ - switch (Type) {\ - case ComponentType::Actor:\ - Result = Head UActorComponent Tail;\ - break;\ - case ComponentType::Input:\ - Result = Head UInputComponent Tail;\ - break;\ - case ComponentType::Scene:\ - Result = Head USceneComponent Tail;\ - break;\ - case ComponentType::Audio:\ - Result = Head UAudioComponent Tail;\ - break;\ - case ComponentType::Camera:\ - Result = Head UCameraComponent Tail;\ - break;\ - case ComponentType::Light:\ - Result = Head ULightComponent Tail;\ - break;\ - case ComponentType::DirectionalLight:\ - Result = Head UDirectionalLightComponent Tail;\ - break;\ - case ComponentType::MotionController:\ - Result = Head UMotionControllerComponent Tail;\ - break;\ - case ComponentType::StaticMesh:\ - Result = Head UStaticMeshComponent Tail;\ - break;\ - case ComponentType::InstancedStaticMesh:\ - Result = Head UInstancedStaticMeshComponent Tail;\ - break;\ - case ComponentType::HierarchicalInstancedStaticMesh:\ - Result = Head UHierarchicalInstancedStaticMeshComponent Tail;\ - break;\ - case ComponentType::ChildActor:\ - Result = Head UChildActorComponent Tail;\ - break;\ - case ComponentType::SpringArm:\ - Result = Head USpringArmComponent Tail;\ - break;\ - case ComponentType::PostProcess:\ - Result = Head UPostProcessComponent Tail;\ - break;\ - case ComponentType::Box:\ - Result = Head UBoxComponent Tail;\ - break;\ - case ComponentType::Sphere:\ - Result = Head USphereComponent Tail;\ - break;\ - case ComponentType::Capsule:\ - Result = Head UCapsuleComponent Tail;\ - break;\ - case ComponentType::SkeletalMesh:\ - Result = Head USkeletalMeshComponent Tail;\ - break;\ - case ComponentType::TextRender:\ - Result = Head UTextRenderComponent Tail;\ - break;\ - case ComponentType::Spline:\ - Result = Head USplineComponent Tail;\ - break;\ - case ComponentType::RadialForce:\ - Result = Head URadialForceComponent Tail;\ - break;\ - default:\ - break;\ - }\ - } - - #define UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, Head, Tail, Result) {\ - switch (Type) {\ - case ComponentType::Scene:\ - Result = Head USceneComponent Tail;\ - break;\ - case ComponentType::Audio:\ - Result = Head UAudioComponent Tail;\ - break;\ - case ComponentType::Camera:\ - Result = Head UCameraComponent Tail;\ - break;\ - case ComponentType::Light:\ - Result = Head ULightComponent Tail;\ - break;\ - case ComponentType::DirectionalLight:\ - Result = Head UDirectionalLightComponent Tail;\ - break;\ - case ComponentType::MotionController:\ - Result = Head UMotionControllerComponent Tail;\ - break;\ - case ComponentType::StaticMesh:\ - Result = Head UStaticMeshComponent Tail;\ - break;\ - case ComponentType::InstancedStaticMesh:\ - Result = Head UInstancedStaticMeshComponent Tail;\ - break;\ - case ComponentType::HierarchicalInstancedStaticMesh:\ - Result = Head UHierarchicalInstancedStaticMeshComponent Tail;\ - break;\ - case ComponentType::ChildActor:\ - Result = Head UChildActorComponent Tail;\ - break;\ - case ComponentType::SpringArm:\ - Result = Head USpringArmComponent Tail;\ - break;\ - case ComponentType::PostProcess:\ - Result = Head UPostProcessComponent Tail;\ - break;\ - case ComponentType::Box:\ - Result = Head UBoxComponent Tail;\ - break;\ - case ComponentType::Sphere:\ - Result = Head USphereComponent Tail;\ - break;\ - case ComponentType::Capsule:\ - Result = Head UCapsuleComponent Tail;\ - break;\ - case ComponentType::SkeletalMesh:\ - Result = Head USkeletalMeshComponent Tail;\ - break;\ - case ComponentType::TextRender:\ - Result = Head UTextRenderComponent Tail;\ - break;\ - case ComponentType::Spline:\ - Result = Head USplineComponent Tail;\ - break;\ - case ComponentType::RadialForce:\ - Result = Head URadialForceComponent Tail;\ - break;\ - default:\ - break;\ - }\ - } - - #define UNREALCLR_GET_PROPERTY_VALUE(Type, Object, Name, Value)\ - FName name(ANSI_TO_TCHAR(Name));\ - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) {\ - Type* property = *currentProperty;\ - if (property->GetFName() == name) {\ - *Value = property->GetPropertyValue_InContainer(Object);\ - return true;\ - }\ - }\ - return false; - - #define UNREALCLR_SET_PROPERTY_VALUE(Type, Object, Name, Value)\ - FName name(ANSI_TO_TCHAR(Name));\ - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) {\ - Type* property = *currentProperty;\ - if (property->GetFName() == name) {\ - property->SetPropertyValue_InContainer(Object, Value);\ - return true;\ - }\ - }\ - return false; - - #define UNREALCLR_GET_BONE_NAME(Hit, Name)\ - if (Name && Hit.BoneName.GetStringLength() > 0) {\ - const char* boneName = TCHAR_TO_ANSI(*Hit.BoneName.ToString());\ - UnrealCLR::Utility::Strcpy(Name, boneName, UnrealCLR::Utility::Strlen(boneName));\ - } - - #define UNREALCLR_SET_BONE_NAME(Name)\ - FName boneName;\ - if (!Name)\ - boneName = NAME_None;\ - else\ - boneName = FName(ANSI_TO_TCHAR(Name)); - - #define UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent)\ - FCollisionQueryParams queryParams;\ - if (IgnoredActor)\ - queryParams.AddIgnoredActor(IgnoredActor);\ - if (IgnoredComponent)\ - queryParams.AddIgnoredComponent(IgnoredComponent); - - #define UNREALCLR_SET_ACTOR_EVENT(Type, Condition, Method) {\ - switch (Type) {\ - case ActorEventType::OnActorBeginOverlap:\ - if (Condition Actor->OnActorBeginOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginOverlap))\ - Actor->OnActorBeginOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginOverlap);\ - break;\ - case ActorEventType::OnActorEndOverlap:\ - if (Condition Actor->OnActorEndOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndOverlap))\ - Actor->OnActorEndOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndOverlap);\ - break;\ - case ActorEventType::OnActorHit:\ - if (Condition Actor->OnActorHit.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorHit))\ - Actor->OnActorHit. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorHit);\ - break;\ - case ActorEventType::OnActorBeginCursorOver:\ - if (Condition Actor->OnBeginCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginCursorOver))\ - Actor->OnBeginCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginCursorOver);\ - break;\ - case ActorEventType::OnActorEndCursorOver:\ - if (Condition Actor->OnEndCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndCursorOver))\ - Actor->OnEndCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndCursorOver);\ - break;\ - case ActorEventType::OnActorClicked:\ - if (Condition Actor->OnClicked.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorClicked))\ - Actor->OnClicked. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorClicked);\ - break;\ - case ActorEventType::OnActorReleased:\ - if (Condition Actor->OnReleased.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorReleased))\ - Actor->OnReleased. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorReleased);\ - break;\ - default:\ - break;\ - }\ - } - - #define UNREALCLR_SET_COMPONENT_EVENT(Type, Condition, Method) {\ - switch (Type) {\ - case ComponentEventType::OnComponentBeginOverlap:\ - if (Condition PrimitiveComponent->OnComponentBeginOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginOverlap))\ - PrimitiveComponent->OnComponentBeginOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginOverlap);\ - break;\ - case ComponentEventType::OnComponentEndOverlap:\ - if (Condition PrimitiveComponent->OnComponentEndOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndOverlap))\ - PrimitiveComponent->OnComponentEndOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndOverlap);\ - break;\ - case ComponentEventType::OnComponentHit:\ - if (Condition PrimitiveComponent->OnComponentHit.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentHit))\ - PrimitiveComponent->OnComponentHit. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentHit);\ - break;\ - case ComponentEventType::OnComponentBeginCursorOver:\ - if (Condition PrimitiveComponent->OnBeginCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginCursorOver))\ - PrimitiveComponent->OnBeginCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginCursorOver);\ - break;\ - case ComponentEventType::OnComponentEndCursorOver:\ - if (Condition PrimitiveComponent->OnEndCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndCursorOver))\ - PrimitiveComponent->OnEndCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndCursorOver);\ - break;\ - case ComponentEventType::OnComponentClicked:\ - if (Condition PrimitiveComponent->OnClicked.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentClicked))\ - PrimitiveComponent->OnClicked. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentClicked);\ - break;\ - case ComponentEventType::OnComponentReleased:\ - if (Condition PrimitiveComponent->OnReleased.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentReleased))\ - PrimitiveComponent->OnReleased. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentReleased);\ - break;\ - default:\ - break;\ - }\ - } - - #define UNREALCLR_COLOR_TO_INTEGER(Color) (Color.A << 24) + (Color.R << 16) + (Color.G << 8) + Color.B - - #if ENGINE_MAJOR_VERSION == 4 - #if ENGINE_MINOR_VERSION <= 26 - #define UNREALCLR_BLEND_TYPE 5 - #elif ENGINE_MINOR_VERSION >= 27 - #define UNREALCLR_BLEND_TYPE 6 - #endif - - #if ENGINE_MINOR_VERSION <= 25 - #define UNREALCLR_PIXEL_FORMAT 71 - #elif ENGINE_MINOR_VERSION >= 26 - #define UNREALCLR_PIXEL_FORMAT 72 - #endif - #elif ENGINE_MAJOR_VERSION == 5 - #define UNREALCLR_PIXEL_FORMAT 72 - #define UNREALCLR_BLEND_TYPE 6 - #endif - - static_assert(AudioFadeCurve::Count == AudioFadeCurve(4), "Invalid elements count of the [AudioFadeCurve] enumeration"); - static_assert(BlendType::VTBlend_MAX == BlendType(UNREALCLR_BLEND_TYPE), "Invalid elements count of the [BlendType] enumeration"); - static_assert(CollisionChannel::ECC_MAX == CollisionChannel(33), "Invalid elements count of the [CollisionChannel] enumeration"); - static_assert(CollisionResponse::ECR_MAX == CollisionResponse(3), "Invalid elements count of the [CollisionResponse] enumeration"); - static_assert(ControllerHand::ControllerHand_Count == ControllerHand(17), "Invalid elements count of the [ControllerHand] enumeration"); - static_assert(InputEvent::IE_MAX == InputEvent(5), "Invalid elements count of the [InputEvent] enumeration"); - static_assert(NetMode::NM_MAX == NetMode(4), "Invalid elements count of the [NetMode] enumeration"); - static_assert(PixelFormat::PF_MAX == PixelFormat(UNREALCLR_PIXEL_FORMAT), "Invalid elements count of the [PixelFormat] enumeration"); - - static_assert(sizeof(Bounds) == 28, "Invalid size of the [Bounds] structure"); - static_assert(sizeof(CollisionShape) == 16, "Invalid size of the [CollisionShape] structure"); - - namespace Assert { - void OutputMessage(const uint8* Message) { - FString message(UTF8_TO_TCHAR(Message)); - - UE_LOG(LogUnrealManaged, Error, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *message); - - GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Red, *message); - } - } - - namespace CommandLine { - void Get(char* Arguments) { - const char* arguments = TCHAR_TO_ANSI(FCommandLine::Get()); - - UnrealCLR::Utility::Strcpy(Arguments, arguments, UnrealCLR::Utility::Strlen(arguments)); - } - - void Set(const char* Arguments) { - FCommandLine::Set(ANSI_TO_TCHAR(Arguments)); - } - - void Append(const char* Arguments) { - FCommandLine::Append(ANSI_TO_TCHAR(Arguments)); - } - } - - namespace Debug { - void Log(LogLevel Level, const uint8* Message) { - #define UNREALCLR_FRAMEWORK_LOG(Verbosity) UE_LOG(LogUnrealManaged, Verbosity, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *FString(UTF8_TO_TCHAR(Message))); - - if (Level == LogLevel::Display) { - UNREALCLR_FRAMEWORK_LOG(Display); - } else if (Level == LogLevel::Warning) { - UNREALCLR_FRAMEWORK_LOG(Warning); - } else if (Level == LogLevel::Error) { - UNREALCLR_FRAMEWORK_LOG(Error); - } else if (Level == LogLevel::Fatal) { - UNREALCLR_FRAMEWORK_LOG(Fatal); - } - } - - void Exception(const uint8* Message) { - GEngine->AddOnScreenDebugMessage((uint64)-1, 10.0f, FColor::Red, *FString(UTF8_TO_TCHAR(Message))); - } - - void AddOnScreenMessage(int32 Key, float TimeToDisplay, Color DisplayColor, const uint8* Message) { - GEngine->AddOnScreenDebugMessage((uint64)Key, TimeToDisplay, DisplayColor, *FString(UTF8_TO_TCHAR(Message))); - } - - void ClearOnScreenMessages() { - GEngine->ClearOnScreenDebugMessages(); - } - - void DrawBox(const Vector3* Center, const Vector3* Extent, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { - DrawDebugBox(UnrealCLR::Engine::World, *Center, *Extent, *Rotation, Color, PersistentLines, LifeTime, DepthPriority, Thickness); - } - - void DrawCapsule(const Vector3* Center, float HalfHeight, float Radius, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { - DrawDebugCapsule(UnrealCLR::Engine::World, *Center, HalfHeight, Radius, *Rotation, Color, PersistentLines, LifeTime, DepthPriority, Thickness); - } - - void DrawCone(const Vector3* Origin, const Vector3* Direction, float Length, float AngleWidth, float AngleHeight, int32 Sides, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { - DrawDebugCone(UnrealCLR::Engine::World, *Origin, *Direction, Length, AngleWidth, AngleHeight, Sides, Color, PersistentLines, LifeTime, DepthPriority, Thickness); - } - - void DrawCylinder(const Vector3* Start, const Vector3* End, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { - DrawDebugCylinder(UnrealCLR::Engine::World, *Start, *End, Radius, Segments, Color, PersistentLines, LifeTime, DepthPriority, Thickness); - } - - void DrawSphere(const Vector3* Center, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { - DrawDebugSphere(UnrealCLR::Engine::World, *Center, Radius, Segments, Color, PersistentLines, LifeTime, DepthPriority, Thickness); - } - - void DrawLine(const Vector3* Start, const Vector3* End, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { - DrawDebugLine(UnrealCLR::Engine::World, *Start, *End, Color, PersistentLines, LifeTime, DepthPriority, Thickness); - } - - void DrawPoint(const Vector3* Location, float Size, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority) { - DrawDebugPoint(UnrealCLR::Engine::World, *Location, Size, Color, PersistentLines, LifeTime, DepthPriority); - } - - void FlushPersistentLines() { - FlushPersistentDebugLines(UnrealCLR::Engine::World); - } - } - - namespace Object { - bool IsPendingKill(UObject* Object) { - return Object->IsPendingKill(); - } - - bool IsValid(UObject* Object) { - return Object->IsValidLowLevel(); - } - - UObject* Load(ObjectType Type, const char* Name) { - UObject* object = nullptr; - - switch (Type) { - case ObjectType::Blueprint: { - #if WITH_EDITOR - object = StaticLoadObject(UBlueprint::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - #else - FString name(ANSI_TO_TCHAR(Name)); - int32 index = INDEX_NONE; - - if (name.FindLastChar(TCHAR('/'), index)) { - name.AppendChar(TCHAR('.')); - name.Append(name.Mid(index + 1, name.Len() - index - 2)); - } - - name.Append(TEXT("_C")); - - object = StaticLoadObject(UClass::StaticClass(), nullptr, *name); - #endif - break; - } - - case ObjectType::SoundWave: { - object = StaticLoadObject(USoundWave::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - case ObjectType::AnimationSequence: { - object = StaticLoadObject(UAnimSequence::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - case ObjectType::AnimationMontage: { - object = StaticLoadObject(UAnimMontage::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - case ObjectType::StaticMesh: { - object = StaticLoadObject(UStaticMesh::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - case ObjectType::SkeletalMesh: { - object = StaticLoadObject(USkeletalMesh::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - case ObjectType::Material: { - object = StaticLoadObject(UMaterial::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - case ObjectType::Font: { - object = StaticLoadObject(UFont::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - case ObjectType::Texture2D: { - object = StaticLoadObject(UTexture2D::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); - break; - } - - default: - break; - } - - return object; - } - - void Rename(UObject* Object, const char* Name) { - FString name(ANSI_TO_TCHAR(Name)); - - Object->Rename(*name); - } - - bool Invoke(UObject* Object, const uint8* Command) { - static FOutputDeviceNull outputDevice; - - return Object->CallFunctionByNameWithArguments(UTF8_TO_TCHAR(Command), outputDevice, nullptr, true); - } - - AActor* ToActor(UObject* Object, ActorType Type) { - AActor* actor = nullptr; - - UNREALCLR_GET_ACTOR_TYPE(Type, Cast<, >(Object), actor); - - return actor; - } - - UActorComponent* ToComponent(UObject* Object, ComponentType Type) { - UActorComponent* component = nullptr; - - UNREALCLR_GET_COMPONENT_TYPE(Type, Cast<, >(Object), component); - - return component; - } - - uint32 GetID(UObject* Object) { - return Object->GetUniqueID(); - } - - void GetName(UObject* Object, char* Name) { - const char* name = TCHAR_TO_ANSI(*Object->GetName()); - - UnrealCLR::Utility::Strcpy(Name, name, UnrealCLR::Utility::Strlen(name)); - } - - bool GetBool(UObject* Object, const char* Name, bool* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FBoolProperty, Object, Name, Value); - } - - bool GetByte(UObject* Object, const char* Name, uint8* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FByteProperty, Object, Name, Value); - } - - bool GetShort(UObject* Object, const char* Name, int16* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FInt16Property, Object, Name, Value); - } - - bool GetInt(UObject* Object, const char* Name, int32* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FIntProperty, Object, Name, Value); - } - - bool GetLong(UObject* Object, const char* Name, int64* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FInt64Property, Object, Name, Value); - } - - bool GetUShort(UObject* Object, const char* Name, uint16* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FUInt16Property, Object, Name, Value); - } - - bool GetUInt(UObject* Object, const char* Name, uint32* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FUInt32Property, Object, Name, Value); - } - - bool GetULong(UObject* Object, const char* Name, uint64* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FUInt64Property, Object, Name, Value); - } - - bool GetFloat(UObject* Object, const char* Name, float* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FFloatProperty, Object, Name, Value); - } - - bool GetDouble(UObject* Object, const char* Name, double* Value) { - UNREALCLR_GET_PROPERTY_VALUE(FDoubleProperty, Object, Name, Value); - } - - bool GetEnum(UObject* Object, const char* Name, int32* Value) { - FName name(ANSI_TO_TCHAR(Name)); - - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { - FNumericProperty* property = *currentProperty; - - if (property->GetFName() == name) { - *Value = static_cast(property->GetSignedIntPropertyValue(property->ContainerPtrToValuePtr(Object))); - - return true; - } - } - - return false; - } - - bool GetString(UObject* Object, const char* Name, char* Value) { - FName name(ANSI_TO_TCHAR(Name)); - - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { - FStrProperty* property = *currentProperty; - - if (property->GetFName() == name) { - const char* string = TCHAR_TO_ANSI(*property->GetPropertyValue_InContainer(Object)); - - UnrealCLR::Utility::Strcpy(Value, string, UnrealCLR::Utility::Strlen(string)); - - return true; - } - } - - return false; - } - - bool GetText(UObject* Object, const char* Name, char* Value) { - FName name(ANSI_TO_TCHAR(Name)); - - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { - FTextProperty* property = *currentProperty; - - if (property->GetFName() == name) { - const char* string = TCHAR_TO_ANSI(*property->GetPropertyValue_InContainer(Object).ToString()); - - UnrealCLR::Utility::Strcpy(Value, string, UnrealCLR::Utility::Strlen(string)); - - return true; - } - } - - return false; - } - - bool SetBool(UObject* Object, const char* Name, bool Value) { - UNREALCLR_SET_PROPERTY_VALUE(FBoolProperty, Object, Name, Value); - } - - bool SetByte(UObject* Object, const char* Name, uint8 Value) { - UNREALCLR_SET_PROPERTY_VALUE(FByteProperty, Object, Name, Value); - } - - bool SetShort(UObject* Object, const char* Name, int16 Value) { - UNREALCLR_SET_PROPERTY_VALUE(FInt16Property, Object, Name, Value); - } - - bool SetInt(UObject* Object, const char* Name, int32 Value) { - UNREALCLR_SET_PROPERTY_VALUE(FIntProperty, Object, Name, Value); - } - - bool SetLong(UObject* Object, const char* Name, int64 Value) { - UNREALCLR_SET_PROPERTY_VALUE(FInt64Property, Object, Name, Value); - } - - bool SetUShort(UObject* Object, const char* Name, uint16 Value) { - UNREALCLR_SET_PROPERTY_VALUE(FUInt16Property, Object, Name, Value); - } - - bool SetUInt(UObject* Object, const char* Name, uint32 Value) { - UNREALCLR_SET_PROPERTY_VALUE(FUInt32Property, Object, Name, Value); - } - - bool SetULong(UObject* Object, const char* Name, uint64 Value) { - UNREALCLR_SET_PROPERTY_VALUE(FUInt64Property, Object, Name, Value); - } - - bool SetFloat(UObject* Object, const char* Name, float Value) { - UNREALCLR_SET_PROPERTY_VALUE(FFloatProperty, Object, Name, Value); - } - - bool SetDouble(UObject* Object, const char* Name, double Value) { - UNREALCLR_SET_PROPERTY_VALUE(FDoubleProperty, Object, Name, Value); - } - - bool SetEnum(UObject* Object, const char* Name, int32 Value) { - FName name(ANSI_TO_TCHAR(Name)); - - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { - FNumericProperty* property = *currentProperty; - - if (property->GetFName() == name) { - property->SetIntPropertyValue(property->ContainerPtrToValuePtr(Object), static_cast(Value)); - - return true; - } - } - - return false; - } - - bool SetString(UObject* Object, const char* Name, const char* Value) { - FName name(ANSI_TO_TCHAR(Name)); - - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { - FStrProperty* property = *currentProperty; - - if (property->GetFName() == name) { - property->SetPropertyValue_InContainer(Object, FString(ANSI_TO_TCHAR(Value))); - - return true; - } - } - - return false; - } - - bool SetText(UObject* Object, const char* Name, const char* Value) { - FName name(ANSI_TO_TCHAR(Name)); - - for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { - FTextProperty* property = *currentProperty; - - if (property->GetFName() == name) { - property->SetPropertyValue_InContainer(Object, FText::FromString(FString(ANSI_TO_TCHAR(Value)))); - - return true; - } - } - - return false; - } - } - - namespace Asset { - bool IsValid(FAssetData* Asset) { - return Asset->IsValid(); - } - - void GetName(FAssetData* Asset, char* Name) { - const char* name = TCHAR_TO_ANSI(*Asset->AssetName.ToString()); - - UnrealCLR::Utility::Strcpy(Name, name, UnrealCLR::Utility::Strlen(name)); - } - - void GetPath(FAssetData* Asset, char* Path) { - FString objectPath = Asset->ObjectPath.ToString(); - - int32 index = INDEX_NONE; - - if (objectPath.FindLastChar(TCHAR('.'), index)) - objectPath = FString(index, *objectPath); - - const char* path = TCHAR_TO_ANSI(*objectPath); - - UnrealCLR::Utility::Strcpy(Path, path, UnrealCLR::Utility::Strlen(path)); - } - } - - namespace AssetRegistry { - IAssetRegistry* Get() { - static IAssetRegistry* assetRegistry; - - if (!assetRegistry) - assetRegistry = &FModuleManager::Get().LoadModuleChecked(TEXT("AssetRegistry")).Get(); - - return assetRegistry; - } - - bool HasAssets(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive) { - return AssetRegistry->HasAssets(FName(ANSI_TO_TCHAR(Path)), Recursive); - } - - void ForEachAsset(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive, bool IncludeOnlyOnDiskAssets, FAssetData** Array, int32* Elements) { - static TArray assets; - static TArray references; - - assets.Reset(); - references.Reset(); - - AssetRegistry->GetAssetsByPath(FName(ANSI_TO_TCHAR(Path)), assets, Recursive, IncludeOnlyOnDiskAssets); - - int32 elements = assets.Num(); - - if (elements > 0) { - for (int32 i = 0; i < elements; i++) { - references.Add(&assets[i]); - } - - *Array = reinterpret_cast(references.GetData()); - *Elements = references.Num(); - } - } - } - - namespace Blueprint { - bool IsValidActorClass(UBlueprint* Blueprint, ActorType Type) { - #if WITH_EDITOR - TSubclassOf type; - - UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - return Blueprint->ParentClass == type; - #else - return true; - #endif - } - - bool IsValidComponentClass(UBlueprint* Blueprint, ComponentType Type) { - #if WITH_EDITOR - TSubclassOf type; - - UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - return Blueprint->ParentClass == type; - #else - return true; - #endif - } - } - - namespace Application { - bool IsCanEverRender() { - return FApp::CanEverRender(); - } - - bool IsPackagedForDistribution() { - return FGenericPlatformMisc::IsPackagedForDistribution(); - } - - bool IsPackagedForShipping() { - #if UE_BUILD_SHIPPING - return true; - #else - return false; - #endif - } - - void GetProjectDirectory(char* Directory) { - const char* directory = TCHAR_TO_ANSI(*FPaths::ConvertRelativePathToFull(FPaths::ProjectDir())); - - UnrealCLR::Utility::Strcpy(Directory, directory, UnrealCLR::Utility::Strlen(directory)); - } - - void GetDefaultLanguage(char* Language) { - const char* language = TCHAR_TO_ANSI(*FGenericPlatformMisc::GetDefaultLanguage()); - - UnrealCLR::Utility::Strcpy(Language, language, UnrealCLR::Utility::Strlen(language)); - } - - void GetProjectName(char* ProjectName) { - const char* projectName = TCHAR_TO_ANSI(FApp::GetProjectName()); - - UnrealCLR::Utility::Strcpy(ProjectName, projectName, UnrealCLR::Utility::Strlen(projectName)); - } - - float GetVolumeMultiplier() { - return FApp::GetVolumeMultiplier(); - } - - void SetProjectName(const char* ProjectName) { - FApp::SetProjectName(ANSI_TO_TCHAR(ProjectName)); - } - - void SetVolumeMultiplier(float Value) { - FApp::SetVolumeMultiplier(Value); - } - - void RequestExit(bool Force) { - FGenericPlatformMisc::RequestExit(Force); - } - } - - namespace ConsoleManager { - bool IsRegisteredVariable(const char* Name) { - return IConsoleManager::Get().IsNameRegistered(ANSI_TO_TCHAR(Name)); - } - - IConsoleVariable* FindVariable(const char* Name) { - return IConsoleManager::Get().FindConsoleVariable(ANSI_TO_TCHAR(Name)); - } - - IConsoleVariable* RegisterVariableBool(const char* Name, const char* Help, bool DefaultValue, bool ReadOnly) { - return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), DefaultValue, ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); - } - - IConsoleVariable* RegisterVariableInt(const char* Name, const char* Help, int32 DefaultValue, bool ReadOnly) { - return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), DefaultValue, ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); - } - - IConsoleVariable* RegisterVariableFloat(const char* Name, const char* Help, float DefaultValue, bool ReadOnly) { - return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), DefaultValue, ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); - } - - IConsoleVariable* RegisterVariableString(const char* Name, const char* Help, const char* DefaultValue, bool ReadOnly) { - return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), ANSI_TO_TCHAR(DefaultValue), ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); - } - - void RegisterCommand(const char* Name, const char* Help, ConsoleCommandDelegate Callback, bool ReadOnly) { - auto callback = [Callback](const TArray& Arguments) { - if (UnrealCLR::Status == UnrealCLR::StatusType::Running) { - float value = 0.0f; - - if (Arguments.Num() > 0) - FDefaultValueHelper::ParseFloat(Arguments[0], value); - - UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback, value)); - } - }; - - IConsoleManager::Get().RegisterConsoleCommand(ANSI_TO_TCHAR(Name), ANSI_TO_TCHAR(Help), FConsoleCommandWithArgsDelegate::CreateLambda(callback), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); - } - - void UnregisterObject(const char* Name) { - IConsoleManager::Get().UnregisterConsoleObject(ANSI_TO_TCHAR(Name), false); - } - } - - namespace Engine { - bool IsSplitScreen() { - return GEngine->IsSplitScreen(UnrealCLR::Engine::World); - } - - bool IsEditor() { - return UnrealCLR::Engine::World->IsPlayInEditor(); - } - - bool IsForegroundWindow() { - return UnrealCLR::Engine::World->GetGameViewport()->Viewport->IsForegroundWindow(); - } - - bool IsExitRequested() { - return IsEngineExitRequested(); - } - - NetMode GetNetMode() { - return UnrealCLR::Engine::World->GetNetMode(); - } - - uint32 GetFrameNumber() { - return GFrameNumber; - } - - void GetViewportSize(Vector2* Value) { - *Value = FVector2D(GEngine->GameViewport->Viewport->GetSizeXY()); - } - - void GetScreenResolution(Vector2* Value) { - *Value = FVector2D(static_cast(GSystemResolution.ResX), static_cast(GSystemResolution.ResY)); - } - - WindowMode GetWindowMode() { - return UnrealCLR::Engine::World->GetGameViewport()->Viewport->GetWindowMode(); - } - - void GetVersion(char* Version) { - const char* version = TCHAR_TO_ANSI(*FEngineVersion::Current().ToString()); - - UnrealCLR::Utility::Strcpy(Version, version, UnrealCLR::Utility::Strlen(version)); - } - - float GetMaxFPS() { - return GEngine->GetMaxFPS(); - } - - void SetMaxFPS(float MaxFPS) { - GEngine->SetMaxFPS(MaxFPS); - } - - void SetTitle(const char* Title) { - UGameEngine* gameEngine = Cast(GEngine); - - if (gameEngine) { - TSharedPtr gameViewportWindow = gameEngine->GameViewportWindow.Pin(); - - if (gameViewportWindow.IsValid()) - gameViewportWindow->SetTitle(FText::FromString(FString(ANSI_TO_TCHAR(Title)))); - } - } - - void AddActionMapping(const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd) { - UPlayerInput::AddEngineDefinedActionMapping(FInputActionKeyMapping(FName(ANSI_TO_TCHAR(ActionName)), FKey(ANSI_TO_TCHAR(Key)), Shift, Ctrl, Alt, Cmd)); - } - - void AddAxisMapping(const char* AxisName, const char* Key, float Scale) { - UPlayerInput::AddEngineDefinedAxisMapping(FInputAxisKeyMapping(FName(ANSI_TO_TCHAR(AxisName)), FKey(ANSI_TO_TCHAR(Key)), Scale)); - } - - void ForceGarbageCollection(bool FullPurge) { - GEngine->ForceGarbageCollection(FullPurge); - } - - void DelayGarbageCollection() { - GEngine->DelayGarbageCollection(); - } - } - - namespace HeadMountedDisplay { - bool IsConnected() { - return UHeadMountedDisplayFunctionLibrary::IsHeadMountedDisplayConnected(); - } - - bool GetEnabled() { - return UHeadMountedDisplayFunctionLibrary::IsHeadMountedDisplayEnabled(); - } - - bool GetLowPersistenceMode() { - return UHeadMountedDisplayFunctionLibrary::IsInLowPersistenceMode(); - } - - void GetDeviceName(char* Name) { - FName deviceName = UHeadMountedDisplayFunctionLibrary::GetHMDDeviceName(); - - const char* name = TCHAR_TO_ANSI(*deviceName.ToString()); - - UnrealCLR::Utility::Strcpy(Name, name, UnrealCLR::Utility::Strlen(name)); - } - - void SetEnable(bool Value) { - UHeadMountedDisplayFunctionLibrary::EnableHMD(Value); - } - - void SetLowPersistenceMode(bool Value) { - UHeadMountedDisplayFunctionLibrary::EnableLowPersistenceMode(Value); - } - } - - namespace World { - void ForEachActor(AActor** Array, int32* Elements) { - static TArray actors; - - actors.Reset(); - - for (TActorIterator currentActor(UnrealCLR::Engine::World); currentActor; ++currentActor) { - actors.Add(*currentActor); - } - - int32 elements = actors.Num(); - - if (elements > 0) { - *Array = reinterpret_cast(actors.GetData()); - *Elements = elements; - } - } - - int32 GetActorCount() { - return UnrealCLR::Engine::World->GetActorCount(); - } - - float GetDeltaSeconds() { - return UnrealCLR::Engine::World->GetDeltaSeconds(); - } - - float GetRealTimeSeconds() { - return UnrealCLR::Engine::World->GetRealTimeSeconds(); - } - - float GetTimeSeconds() { - return UnrealCLR::Engine::World->GetTimeSeconds(); - } - - void GetCurrentLevelName(char* LevelName) { - FString mapName = UnrealCLR::Engine::World->GetMapName(); - - mapName.RemoveFromStart(UnrealCLR::Engine::World->StreamingLevelsPrefix); - - const char* levelName = TCHAR_TO_ANSI(*mapName); - - UnrealCLR::Utility::Strcpy(LevelName, levelName, UnrealCLR::Utility::Strlen(levelName)); - } - - bool GetSimulatePhysics() { - return UnrealCLR::Engine::World->bShouldSimulatePhysics; - } - - void GetWorldOrigin(Vector3* Value) { - *Value = FVector(UnrealCLR::Engine::World->OriginLocation); - } - - AActor* GetActor(const char* Name, ActorType Type) { - FString name; - AActor* actor = nullptr; - TSubclassOf type; - - if (Name) - name = FString(ANSI_TO_TCHAR(Name)); - - UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - for (TActorIterator currentActor(UnrealCLR::Engine::World, type); currentActor; ++currentActor) { - if (!Name || (Name && *currentActor->GetName() == name)) { - actor = *currentActor; - break; - } - } - - return actor; - } - - AActor* GetActorByTag(const char* Tag, ActorType Type) { - AActor* actor = nullptr; - TSubclassOf type; - FName tag(ANSI_TO_TCHAR(Tag)); - - UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - for (TActorIterator currentActor(UnrealCLR::Engine::World, type); currentActor; ++currentActor) { - if (currentActor->ActorHasTag(tag)) { - actor = *currentActor; - break; - } - } - - return actor; - } - - AActor* GetActorByID(uint32 ID, ActorType Type) { - AActor* actor = nullptr; - TSubclassOf type; - - UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - for (TActorIterator currentActor(UnrealCLR::Engine::World, type); currentActor; ++currentActor) { - if (currentActor->GetUniqueID() == ID) { - actor = *currentActor; - break; - } - } - - return actor; - } - - APlayerController* GetFirstPlayerController() { - return UnrealCLR::Engine::World->GetFirstPlayerController(); - } - - AGameModeBase* GetGameMode() { - return UnrealCLR::Engine::World->GetAuthGameMode(); - } - - void SetOnActorBeginOverlapCallback(ActorOverlapDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginOverlap] = (void*)Callback; - } - - void SetOnActorEndOverlapCallback(ActorOverlapDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnActorEndOverlap] = (void*)Callback; - } - - void SetOnActorHitCallback(ActorHitDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnActorHit] = (void*)Callback; - } - - void SetOnActorBeginCursorOverCallback(ActorCursorDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver] = (void*)Callback; - } - - void SetOnActorEndCursorOverCallback(ActorCursorDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnActorEndCursorOver] = (void*)Callback; - } - - void SetOnActorClickedCallback(ActorKeyDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnActorClicked] = (void*)Callback; - } - - void SetOnActorReleasedCallback(ActorKeyDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnActorReleased] = (void*)Callback; - } - - void SetOnComponentBeginOverlapCallback(ComponentOverlapDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginOverlap] = (void*)Callback; - } - - void SetOnComponentEndOverlapCallback(ComponentOverlapDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndOverlap] = (void*)Callback; - } - - void SetOnComponentHitCallback(ComponentHitDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnComponentHit] = (void*)Callback; - } - - void SetOnComponentBeginCursorOverCallback(ComponentCursorDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginCursorOver] = (void*)Callback; - } - - void SetOnComponentEndCursorOverCallback(ComponentCursorDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndCursorOver] = (void*)Callback; - } - - void SetOnComponentClickedCallback(ComponentKeyDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnComponentClicked] = (void*)Callback; - } - - void SetOnComponentReleasedCallback(ComponentKeyDelegate Callback) { - UnrealCLR::Shared::Events[UnrealCLR::OnComponentReleased] = (void*)Callback; - } - - void SetSimulatePhysics(bool Value) { - UnrealCLR::Engine::World->bShouldSimulatePhysics = Value; - } - - void SetGravity(float Value) { - AWorldSettings* worldSettings = UnrealCLR::Engine::World->GetWorldSettings(); - - worldSettings->bGlobalGravitySet = true; - worldSettings->GlobalGravityZ = Value; - } - - bool SetWorldOrigin(const Vector3* Value) { - return UnrealCLR::Engine::World->SetNewWorldOrigin(FIntVector(*Value)); - } - - void OpenLevel(const char* LevelName) { - GEngine->SetClientTravel(UnrealCLR::Engine::World, ANSI_TO_TCHAR(LevelName), TRAVEL_Absolute); - } - - bool LineTraceTestByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - return UnrealCLR::Engine::World->LineTraceTestByChannel(*Start, *End, Channel, queryParams); - } - - bool LineTraceTestByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - return UnrealCLR::Engine::World->LineTraceTestByProfile(*Start, *End, FName(ANSI_TO_TCHAR(ProfileName)), queryParams); - } - - bool LineTraceSingleByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - FHitResult hit; - - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - bool result = UnrealCLR::Engine::World->LineTraceSingleByChannel(hit, *Start, *End, Channel, queryParams); - - UNREALCLR_GET_BONE_NAME(hit, BoneName); - - *Hit = hit; - - return result; - } - - bool LineTraceSingleByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - FHitResult hit; - - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - bool result = UnrealCLR::Engine::World->LineTraceSingleByProfile(hit, *Start, *End, FName(ANSI_TO_TCHAR(ProfileName)), queryParams); - - UNREALCLR_GET_BONE_NAME(hit, BoneName); - - *Hit = hit; - - return result; - } - - bool SweepTestByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - return UnrealCLR::Engine::World->SweepTestByChannel(*Start, *End, *Rotation, Channel, *Shape, queryParams); - } - - bool SweepTestByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - return UnrealCLR::Engine::World->SweepTestByProfile( *Start, *End, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); - } - - bool SweepSingleByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - FHitResult hit; - - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - bool result = UnrealCLR::Engine::World->SweepSingleByChannel(hit, *Start, *End, *Rotation, Channel, *Shape, queryParams); - - UNREALCLR_GET_BONE_NAME(hit, BoneName); - - *Hit = hit; - - return result; - } - - bool SweepSingleByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - FHitResult hit; - - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - queryParams.bTraceComplex = TraceComplex; - - bool result = UnrealCLR::Engine::World->SweepSingleByProfile(hit, *Start, *End, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); - - UNREALCLR_GET_BONE_NAME(hit, BoneName); - - *Hit = hit; - - return result; - } - - bool OverlapAnyTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - return UnrealCLR::Engine::World->OverlapAnyTestByChannel(*Location, *Rotation, Channel, *Shape, queryParams); - } - - bool OverlapAnyTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - return UnrealCLR::Engine::World->OverlapAnyTestByProfile(*Location, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); - } - - bool OverlapBlockingTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - return UnrealCLR::Engine::World->OverlapBlockingTestByChannel(*Location, *Rotation, Channel, *Shape, queryParams); - } - - bool OverlapBlockingTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { - UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); - - return UnrealCLR::Engine::World->OverlapBlockingTestByProfile(*Location, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); - } - } - - namespace ConsoleObject { - bool IsBool(IConsoleObject* ConsoleObject) { - return ConsoleObject->IsVariableBool(); - } - - bool IsInt(IConsoleObject* ConsoleObject) { - return ConsoleObject->IsVariableInt(); - } - - bool IsFloat(IConsoleObject* ConsoleObject) { - return ConsoleObject->IsVariableFloat(); - } - - bool IsString(IConsoleObject* ConsoleObject) { - return ConsoleObject->IsVariableString(); - } - } - - namespace ConsoleVariable { - bool GetBool(IConsoleVariable* ConsoleVariable) { - return ConsoleVariable->GetBool(); - } - - int32 GetInt(IConsoleVariable* ConsoleVariable) { - return ConsoleVariable->GetInt(); - } - - float GetFloat(IConsoleVariable* ConsoleVariable) { - return ConsoleVariable->GetFloat(); - } - - void GetString(IConsoleVariable* ConsoleVariable, char* Value) { - const char* value = TCHAR_TO_ANSI(*ConsoleVariable->GetString()); - - UnrealCLR::Utility::Strcpy(Value, value, UnrealCLR::Utility::Strlen(value)); - } - - void SetBool(IConsoleVariable* ConsoleVariable, bool Value) { - ConsoleVariable->Set(Value); - } - - void SetInt(IConsoleVariable* ConsoleVariable, int32 Value) { - ConsoleVariable->Set(Value); - } - - void SetFloat(IConsoleVariable* ConsoleVariable, float Value) { - ConsoleVariable->Set(Value); - } - - void SetString(IConsoleVariable* ConsoleVariable, const char* Value) { - ConsoleVariable->Set(ANSI_TO_TCHAR(Value)); - } - - void SetOnChangedCallback(IConsoleVariable* ConsoleVariable, ConsoleVariableDelegate Callback) { - auto callback = [Callback](IConsoleVariable* ConsoleVariable) { - UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback)); - }; - - ConsoleVariable->SetOnChangedCallback(FConsoleVariableDelegate::CreateLambda(callback)); - } - - void ClearOnChangedCallback(IConsoleVariable* ConsoleVariable) { - FConsoleVariableDelegate emptyDelegate; - - ConsoleVariable->SetOnChangedCallback(emptyDelegate); - } - } - - namespace Actor { - bool IsPendingKill(AActor* Actor) { - return Actor->IsPendingKillPending(); - } - - bool IsRootComponentMovable(AActor* Actor) { - return Actor->IsRootComponentMovable(); - } - - bool IsOverlappingActor(AActor* Actor, AActor* Other) { - return Actor->IsOverlappingActor(Other); - } - - void ForEachComponent(AActor* Actor, UActorComponent** Array, int32* Elements) { - static TArray components; - - components.Reset(); - - Actor->GetComponents(components); - - int32 elements = components.Num(); - - if (elements > 0) { - *Array = reinterpret_cast(components.GetData()); - *Elements = elements; - } - } - - void ForEachAttachedActor(AActor* Actor, AActor** Array, int32* Elements) { - static TArray actors; - - actors.Reset(); - - Actor->GetAttachedActors(actors); - - int32 elements = actors.Num(); - - if (elements > 0) { - *Array = reinterpret_cast(actors.GetData()); - *Elements = elements; - } - } - - void ForEachChildActor(AActor* Actor, AActor** Array, int32* Elements) { - static TArray actors; - - actors.Reset(); - - Actor->GetAllChildActors(actors); - - int32 elements = actors.Num(); - - if (elements > 0) { - *Array = reinterpret_cast(actors.GetData()); - *Elements = elements; - } - } - - void ForEachOverlappingActor(AActor* Actor, AActor** Array, int32* Elements) { - static TArray overlappingActors; - - overlappingActors.Reset(); - - Actor->GetOverlappingActors(overlappingActors); - - int32 elements = overlappingActors.Num(); - - if (elements > 0) { - *Array = reinterpret_cast(overlappingActors.GetData()); - *Elements = elements; - } - } - - AActor* Spawn(const char* Name, ActorType Type, UObject* Blueprint) { - AActor* actor = nullptr; - - if (!Blueprint) { - UNREALCLR_GET_ACTOR_TYPE(Type, UnrealCLR::Engine::World->SpawnActor UNREALCLR_BRACKET_LEFT, ::StaticClass() UNREALCLR_BRACKET_RIGHT, actor); - } else { - #if !WITH_EDITOR - UNREALCLR_GET_ACTOR_TYPE(Type, UnrealCLR::Engine::World->SpawnActor<, >(Cast(Blueprint)), actor); - #else - UNREALCLR_GET_ACTOR_TYPE(Type, UnrealCLR::Engine::World->SpawnActor<, >(Cast(Blueprint)->GeneratedClass), actor); - #endif - } - - if (actor && Name) { - FString name(ANSI_TO_TCHAR(Name)); - - actor->Rename(*name); - - #if WITH_EDITOR - actor->SetActorLabel(*name); - #endif - } - - return actor; - } - - bool Destroy(AActor* Actor) { - return UnrealCLR::Engine::World->DestroyActor(Actor); - } - - void Rename(AActor* Actor, const char* Name) { - FString name(ANSI_TO_TCHAR(Name)); - - Actor->Rename(*name); - - #if WITH_EDITOR - Actor->SetActorLabel(*name); - #endif - } - - void Hide(AActor* Actor, bool Value) { - Actor->SetActorHiddenInGame(Value); - } - - bool TeleportTo(AActor* Actor, const Vector3* DestinationLocation, const Quaternion* DestinationRotation, bool IsATest, bool NoCheck) { - return Actor->TeleportTo(*DestinationLocation, FRotator(*DestinationRotation), IsATest, NoCheck); - } - - UActorComponent* GetComponent(AActor* Actor, const char* Name, ComponentType Type) { - FString name; - UActorComponent* component = nullptr; - TSubclassOf type; - - if (Name) - name = FString(ANSI_TO_TCHAR(Name)); - - UNREALCLR_GET_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - for (UActorComponent* currentComponent : Actor->GetComponents()) { - if (currentComponent && currentComponent->IsA(type) && (!Name || (Name && *currentComponent->GetName() == name))) { - component = currentComponent; - break; - } - } - - return component; - } - - UActorComponent* GetComponentByTag(AActor* Actor, const char* Tag, ComponentType Type) { - UActorComponent* component = nullptr; - TSubclassOf type; - FName tag(ANSI_TO_TCHAR(Tag)); - - UNREALCLR_GET_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - for (UActorComponent* currentComponent : Actor->GetComponents()) { - if (currentComponent->ComponentHasTag(tag)) { - component = currentComponent; - break; - } - } - - return component; - } - - UActorComponent* GetComponentByID(AActor* Actor, uint32 ID, ComponentType Type) { - UActorComponent* component = nullptr; - TSubclassOf type; - - UNREALCLR_GET_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - for (UActorComponent* currentComponent : Actor->GetComponents()) { - if (currentComponent->GetUniqueID() == ID) { - component = currentComponent; - break; - } - } - - return component; - } - - USceneComponent* GetRootComponent(AActor* Actor, ComponentType Type) { - USceneComponent* component = nullptr; - USceneComponent* rootComponent = Actor->GetRootComponent(); - TSubclassOf type; - - UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - if (rootComponent->IsA(type)) - component = rootComponent; - - return component; - } - - UInputComponent* GetInputComponent(AActor* Actor) { - return Actor->InputComponent; - } - - float GetCreationTime(AActor* Actor) { - return Actor->CreationTime; - } - - bool GetBlockInput(AActor* Actor) { - return Actor->bBlockInput; - } - - float GetDistanceTo(AActor* Actor, AActor* Other) { - return Actor->GetDistanceTo(Other); - } - - float GetHorizontalDistanceTo(AActor* Actor, AActor* Other) { - return Actor->GetDistanceTo(Other); - } - - void GetBounds(AActor* Actor, bool OnlyCollidingComponents, Vector3* Origin, Vector3* Extent) { - FVector origin, extent; - - Actor->GetActorBounds(OnlyCollidingComponents, origin, extent); - - *Origin = origin; - *Extent = extent; - } - - void GetEyesViewPoint(AActor* Actor, Vector3* Location, Quaternion* Rotation) { - FVector location; - FRotator rotation; - - Actor->GetActorEyesViewPoint(location, rotation); - - *Location = location; - *Rotation = rotation.Quaternion(); - } - - bool SetRootComponent(AActor* Actor, USceneComponent* RootComponent) { - return Actor->SetRootComponent(RootComponent); - } - - void SetInputComponent(AActor* Actor, UInputComponent* InputComponent) { - Actor->InputComponent = InputComponent; - } - - void SetBlockInput(AActor* Actor, bool Value) { - Actor->bBlockInput = Value; - } - - void SetLifeSpan(AActor* Actor, float LifeSpan) { - Actor->SetLifeSpan(LifeSpan); - } - - void SetEnableInput(AActor* Actor, APlayerController* PlayerController, bool Value) { - if (Value) - Actor->EnableInput(PlayerController); - else - Actor->DisableInput(PlayerController); - } - - void SetEnableCollision(AActor* Actor, bool Value) { - Actor->SetActorEnableCollision(Value); - } - - void AddTag(AActor* Actor, const char* Tag) { - Actor->Tags.AddUnique(FName(ANSI_TO_TCHAR(Tag))); - } - - void RemoveTag(AActor* Actor, const char* Tag) { - Actor->Tags.Remove(FName(ANSI_TO_TCHAR(Tag))); - } - - bool HasTag(AActor* Actor, const char* Tag) { - return Actor->ActorHasTag(FName(ANSI_TO_TCHAR(Tag))); - } - - void RegisterEvent(AActor* Actor, ActorEventType Type) { - UNREALCLR_SET_ACTOR_EVENT(Type, !, AddDynamic); - } - - void UnregisterEvent(AActor* Actor, ActorEventType Type) { - UNREALCLR_SET_ACTOR_EVENT(Type, UNREALCLR_NONE, RemoveDynamic); - } - } - - namespace GameModeBase { - bool GetUseSeamlessTravel(AGameModeBase* GameModeBase) { - return GameModeBase->bUseSeamlessTravel; - } - - void SetUseSeamlessTravel(AGameModeBase* GameModeBase, bool Value) { - GameModeBase->bUseSeamlessTravel = Value; - } - - void SwapPlayerControllers(AGameModeBase* GameModeBase, APlayerController* PlayerController, APlayerController* NewPlayerController) { - GameModeBase->SwapPlayerControllers(PlayerController, NewPlayerController); - } - } - - namespace Pawn { - bool IsControlled(APawn* Pawn) { - return Pawn->IsPawnControlled(); - } - - bool IsPlayerControlled(APawn* Pawn) { - return Pawn->IsPlayerControlled(); - } - - AutoPossessAI GetAutoPossessAI(APawn* Pawn) { - return Pawn->AutoPossessAI; - } - - AutoReceiveInput GetAutoPossessPlayer(APawn* Pawn) { - return Pawn->AutoPossessPlayer; - } - - bool GetUseControllerRotationYaw(APawn* Pawn) { - return Pawn->bUseControllerRotationYaw; - } - - bool GetUseControllerRotationPitch(APawn* Pawn) { - return Pawn->bUseControllerRotationPitch; - } - - bool GetUseControllerRotationRoll(APawn* Pawn) { - return Pawn->bUseControllerRotationRoll; - } - - void GetGravityDirection(APawn* Pawn, Vector3* Value) { - *Value = Pawn->GetGravityDirection(); - } - - AAIController* GetAIController(APawn* Pawn) { - return Cast(Pawn->GetController()); - } - - APlayerController* GetPlayerController(APawn* Pawn) { - return Cast(Pawn->GetController()); - } - - void SetAutoPossessAI(APawn* Pawn, AutoPossessAI Value) { - Pawn->AutoPossessAI = Value; - } - - void SetAutoPossessPlayer(APawn* Pawn, AutoReceiveInput Value) { - Pawn->AutoPossessPlayer = Value; - } - - void SetUseControllerRotationYaw(APawn* Pawn, bool Value) { - Pawn->bUseControllerRotationYaw = Value; - } - - void SetUseControllerRotationPitch(APawn* Pawn, bool Value) { - Pawn->bUseControllerRotationPitch = Value; - } - - void SetUseControllerRotationRoll(APawn* Pawn, bool Value) { - Pawn->bUseControllerRotationRoll = Value; - } - - void AddControllerYawInput(APawn* Pawn, float Value) { - Pawn->AddControllerYawInput(Value); - } - - void AddControllerPitchInput(APawn* Pawn, float Value) { - Pawn->AddControllerPitchInput(Value); - } - - void AddControllerRollInput(APawn* Pawn, float Value) { - Pawn->AddControllerRollInput(Value); - } - - void AddMovementInput(APawn* Pawn, const Vector3* WorldDirection, float ScaleValue, bool Force) { - Pawn->AddMovementInput(*WorldDirection, ScaleValue, Force); - } - } - - namespace Character { - bool IsCrouched(ACharacter* Character) { - return Character->bIsCrouched; - } - - bool CanCrouch(ACharacter* Character) { - return Character->CanCrouch(); - } - - bool CanJump(ACharacter* Character) { - return Character->CanJump(); - } - - void CheckJumpInput(ACharacter* Character, float DeltaTime) { - Character->CheckJumpInput(DeltaTime); - } - - void ClearJumpInput(ACharacter* Character, float DeltaTime) { - Character->ClearJumpInput(DeltaTime); - } - - void Launch(ACharacter* Character, const Vector3* Velocity, bool OverrideXY, bool OverrideZ) { - Character->LaunchCharacter(*Velocity, OverrideXY, OverrideZ); - } - - void Crouch(ACharacter* Character) { - Character->Crouch(); - } - - void StopCrouching(ACharacter* Character) { - Character->UnCrouch(); - } - - void Jump(ACharacter* Character) { - Character->Jump(); - } - - void StopJumping(ACharacter* Character) { - Character->StopJumping(); - } - - void SetOnLandedCallback(ACharacter* Character, CharacterLandedDelegate Callback) { - UUnrealCLRCharacter* character = NewObject(Character); - - character->LandedCallback = (void*)Callback; - - Character->LandedDelegate.AddDynamic(character, &UUnrealCLRCharacter::Landed); - } - } - - namespace Controller { - bool IsLookInputIgnored(AController* Controller) { - return Controller->IsLookInputIgnored(); - } - - bool IsMoveInputIgnored(AController* Controller) { - return Controller->IsMoveInputIgnored(); - } - - bool IsPlayerController(AController* Controller) { - return Controller->IsPlayerController(); - } - - APawn* GetPawn(AController* Controller) { - return Controller->GetPawn(); - } - - ACharacter* GetCharacter(AController* Controller) { - return Controller->GetCharacter(); - } - - AActor* GetViewTarget(AController* Controller) { - return Controller->GetViewTarget(); - } - - void GetControlRotation(AController* Controller, Quaternion* Value) { - *Value = Controller->GetControlRotation().Quaternion(); - } - - void GetDesiredRotation(AController* Controller, Quaternion* Value) { - *Value = Controller->GetDesiredRotation().Quaternion(); - } - - bool LineOfSightTo(AController* Controller, AActor* Actor, const Vector3* ViewPoint, bool AlternateChecks) { - return Controller->LineOfSightTo(Actor, *ViewPoint, AlternateChecks); - } - - void SetControlRotation(AController* Controller, const Quaternion* Value) { - Controller->SetControlRotation(FRotator(*Value)); - } - - void SetInitialLocationAndRotation(AController* Controller, const Vector3* NewLocation, const Quaternion* NewRotation) { - Controller->SetInitialLocationAndRotation(*NewLocation, FRotator(*NewRotation)); - } - - void SetIgnoreLookInput(AController* Controller, bool Value) { - Controller->SetIgnoreLookInput(Value); - } - - void SetIgnoreMoveInput(AController* Controller, bool Value) { - Controller->SetIgnoreMoveInput(Value); - } - - void ResetIgnoreLookInput(AController* Controller) { - Controller->ResetIgnoreLookInput(); - } - - void ResetIgnoreMoveInput(AController* Controller) { - Controller->ResetIgnoreMoveInput(); - } - - void Possess(AController* Controller, APawn* Pawn) { - Controller->Possess(Pawn); - } - - void Unpossess(AController* Controller) { - Controller->UnPossess(); - } - } - - namespace AIController { - void ClearFocus(AAIController* AIController, AIFocusPriority Priority) { - AIController->ClearFocus(static_cast(Priority)); - } - - void GetFocalPoint(AAIController* AIController, Vector3* Value) { - *Value = AIController->GetFocalPoint(); - } - - void SetFocalPoint(AAIController* AIController, const Vector3* NewFocus, AIFocusPriority Priority) { - AIController->SetFocalPoint(*NewFocus, static_cast(Priority)); - } - - AActor* GetFocusActor(AAIController* AIController) { - return AIController->GetFocusActor(); - } - - bool GetAllowStrafe(AAIController* AIController) { - return AIController->bAllowStrafe; - } - - void SetAllowStrafe(AAIController* AIController, bool Value) { - AIController->bAllowStrafe = Value; - } - - void SetFocus(AAIController* AIController, AActor* NewFocus, AIFocusPriority Priority) { - AIController->SetFocus(NewFocus, static_cast(Priority)); - } - } - - namespace PlayerController { - bool IsPaused(APlayerController* PlayerController) { - return PlayerController->IsPaused(); - } - - bool GetShowMouseCursor(APlayerController* PlayerController) { - return PlayerController->bShowMouseCursor; - } - - bool GetEnableClickEvents(APlayerController* PlayerController) { - return PlayerController->bEnableClickEvents; - } - - bool GetEnableMouseOverEvents(APlayerController* PlayerController) { - return PlayerController->bEnableMouseOverEvents; - } - - bool GetMousePosition(APlayerController* PlayerController, float* X, float* Y) { - return PlayerController->GetMousePosition(*X, *Y); - } - - UPlayer* GetPlayer(APlayerController* PlayerController) { - return PlayerController->Player; - } - - UPlayerInput* GetPlayerInput(APlayerController* PlayerController) { - return PlayerController->PlayerInput; - } - - bool GetHitResultAtScreenPosition(APlayerController* PlayerController, const Vector2* ScreenPosition, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex) { - FHitResult hit; - - bool result = PlayerController->GetHitResultAtScreenPosition(*ScreenPosition, TraceChannel, TraceComplex, hit); - - *Hit = hit; - - return result; - } - - bool GetHitResultUnderCursor(APlayerController* PlayerController, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex) { - FHitResult hit; - - bool result = PlayerController->GetHitResultUnderCursor(TraceChannel, TraceComplex, hit); - - *Hit = hit; - - return result; - } - - void SetShowMouseCursor(APlayerController* PlayerController, bool Value) { - PlayerController->bShowMouseCursor = Value; - } - - void SetEnableClickEvents(APlayerController* PlayerController, bool Value) { - PlayerController->bEnableClickEvents = Value; - } - - void SetEnableMouseOverEvents(APlayerController* PlayerController, bool Value) { - PlayerController->bEnableMouseOverEvents = Value; - } - - void SetMousePosition(APlayerController* PlayerController, float X, float Y) { - PlayerController->SetMouseLocation(static_cast(X), static_cast(Y)); - } - - void ConsoleCommand(APlayerController* PlayerController, const char* Command, bool WriteToLog) { - PlayerController->ConsoleCommand(FString(ANSI_TO_TCHAR(Command)), WriteToLog); - } - - bool SetPause(APlayerController* PlayerController, bool Value) { - return PlayerController->SetPause(Value); - } - - void SetViewTarget(APlayerController* PlayerController, AActor* NewViewTarget) { - PlayerController->SetViewTarget(NewViewTarget); - } - - void SetViewTargetWithBlend(APlayerController* PlayerController, AActor* NewViewTarget, float Time, float Exponent, BlendType Type, bool LockOutgoing) { - PlayerController->SetViewTargetWithBlend(NewViewTarget, Time, Type, Exponent, LockOutgoing); - } - - void AddYawInput(APlayerController* PlayerController, float Value) { - PlayerController->AddYawInput(Value); - } - - void AddPitchInput(APlayerController* PlayerController, float Value) { - PlayerController->AddPitchInput(Value); - } - - void AddRollInput(APlayerController* PlayerController, float Value) { - PlayerController->AddRollInput(Value); - } - } - - namespace Volume { - bool EncompassesPoint(AVolume* Volume, const Vector3* Point, float SphereRadius, float* DistanceToPoint) { - return Volume->EncompassesPoint(*Point, SphereRadius, DistanceToPoint); - } - } - - namespace PostProcessVolume { - bool GetEnabled(APostProcessVolume* PostProcessVolume) { - return PostProcessVolume->bEnabled; - } - - float GetBlendRadius(APostProcessVolume* PostProcessVolume) { - return PostProcessVolume->BlendRadius; - } - - float GetBlendWeight(APostProcessVolume* PostProcessVolume) { - return PostProcessVolume->BlendWeight; - } - - bool GetUnbound(APostProcessVolume* PostProcessVolume) { - return PostProcessVolume->bUnbound; - } - - float GetPriority(APostProcessVolume* PostProcessVolume) { - return PostProcessVolume->Priority; - } - - void SetEnabled(APostProcessVolume* PostProcessVolume, bool Value) { - PostProcessVolume->bEnabled = Value; - } - - void SetBlendRadius(APostProcessVolume* PostProcessVolume, float Value) { - PostProcessVolume->BlendRadius = Value; - } - - void SetBlendWeight(APostProcessVolume* PostProcessVolume, float Value) { - PostProcessVolume->BlendWeight = Value; - } - - void SetUnbound(APostProcessVolume* PostProcessVolume, bool Value) { - PostProcessVolume->bUnbound = Value; - } - - void SetPriority(APostProcessVolume* PostProcessVolume, float Priority) { - PostProcessVolume->Priority = Priority; - } - } - - namespace SoundBase { - float GetDuration(USoundBase* SoundBase) { - return SoundBase->Duration; - } - } - - namespace SoundWave { - bool GetLoop(USoundWave* SoundWave) { - return SoundWave->bLooping; - } - - void SetLoop(USoundWave* SoundWave, bool Value) { - SoundWave->bLooping = Value; - } - } - - namespace AnimationInstance { - UAnimMontage* GetCurrentActiveMontage(UAnimInstance* AnimationInstance) { - return AnimationInstance->GetCurrentActiveMontage(); - } - - bool IsPlaying(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { - return AnimationInstance->Montage_IsPlaying(Montage); - } - - float GetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { - return AnimationInstance->Montage_GetPlayRate(Montage); - } - - float GetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { - return AnimationInstance->Montage_GetPosition(Montage); - } - - float GetBlendTime(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { - return AnimationInstance->Montage_GetBlendTime(Montage); - } - - void GetCurrentSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, char* SectionName) { - const char* sectionName = TCHAR_TO_ANSI(*AnimationInstance->Montage_GetCurrentSection(Montage).ToString()); - - UnrealCLR::Utility::Strcpy(SectionName, sectionName, UnrealCLR::Utility::Strlen(sectionName)); - } - - void SetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Value) { - AnimationInstance->Montage_SetPlayRate(Montage, Value); - } - - void SetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Position) { - AnimationInstance->Montage_SetPosition(Montage, Position); - } - - void SetNextSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionToChange, const char* NextSection) { - AnimationInstance->Montage_SetNextSection(FName(ANSI_TO_TCHAR(SectionToChange)), FName(ANSI_TO_TCHAR(NextSection)), Montage); - } - - float PlayMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float PlayRate, float TimeToStartMontageAt, bool StopAllMontages) { - return AnimationInstance->Montage_Play(Montage, PlayRate, EMontagePlayReturnType::MontageLength, TimeToStartMontageAt, StopAllMontages); - } - - void PauseMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { - AnimationInstance->Montage_Pause(Montage); - } - - void ResumeMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { - AnimationInstance->Montage_Resume(Montage); - } - - void StopMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float BlendOutTime) { - AnimationInstance->Montage_Stop(BlendOutTime, Montage); - } - - void JumpToSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName) { - AnimationInstance->Montage_JumpToSection(FName(ANSI_TO_TCHAR(SectionName)), Montage); - } - - void JumpToSectionsEnd(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName) { - AnimationInstance->Montage_JumpToSectionsEnd(FName(ANSI_TO_TCHAR(SectionName)), Montage); - } - } - - namespace Player { - APlayerController* GetPlayerController(UPlayer* Player) { - return Player->GetPlayerController(UnrealCLR::Engine::World); - } - } - - namespace PlayerInput { - bool IsKeyPressed(UPlayerInput* PlayerInput, const char* Key) { - return PlayerInput->IsPressed(FKey(ANSI_TO_TCHAR(Key))); - } - - float GetTimeKeyPressed(UPlayerInput* PlayerInput, const char* Key) { - return PlayerInput->GetTimeDown(FKey(ANSI_TO_TCHAR(Key))); - } - - void GetMouseSensitivity(UPlayerInput* PlayerInput, Vector2* Value) { - Value->X = PlayerInput->GetMouseSensitivityX(); - Value->Y = PlayerInput->GetMouseSensitivityY(); - } - - void SetMouseSensitivity(UPlayerInput* PlayerInput, const Vector2* Value) { - PlayerInput->SetMouseSensitivity(Value->X, Value->Y); - } - - void AddActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd) { - PlayerInput->AddActionMapping(FInputActionKeyMapping(FName(ANSI_TO_TCHAR(ActionName)), FKey(ANSI_TO_TCHAR(Key)), Shift, Ctrl, Alt, Cmd)); - } - - void AddAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key, float Scale) { - PlayerInput->AddAxisMapping(FInputAxisKeyMapping(FName(ANSI_TO_TCHAR(AxisName)), FKey(ANSI_TO_TCHAR(Key)), Scale)); - } - - void RemoveActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key) { - PlayerInput->RemoveActionMapping(FInputActionKeyMapping(FName(ANSI_TO_TCHAR(ActionName)), FKey(ANSI_TO_TCHAR(Key)))); - } - - void RemoveAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key) { - PlayerInput->RemoveAxisMapping(FInputAxisKeyMapping(FName(ANSI_TO_TCHAR(AxisName)), FKey(ANSI_TO_TCHAR(Key)))); - } - } - - namespace Font { - void GetStringSize(UFont* Font, const char* Text, int32* Height, int32* Width) { - int32 height, width; - - Font->GetStringHeightAndWidth(ANSI_TO_TCHAR(Text), height, width); - - *Height = height; - *Width = width; - } - } - - namespace Texture2D { - UTexture2D* CreateFromFile(const char* FilePath) { - return FImageUtils::ImportFileAsTexture2D(FString(ANSI_TO_TCHAR(FilePath))); - } - - UTexture2D* CreateFromBuffer(const uint8* Buffer, int32 Length) { - return FImageUtils::ImportBufferAsTexture2D(TArray(Buffer, Length)); - } - - bool HasAlphaChannel(UTexture2D* Texture2D) { - return Texture2D->HasAlphaChannel(); - } - - void GetSize(UTexture2D* Texture2D, Vector2* Value) { - Value->X = Texture2D->GetSizeX(); - Value->Y = Texture2D->GetSizeY(); - } - - PixelFormat GetPixelFormat(UTexture2D* Texture2D) { - return Texture2D->GetPixelFormat(); - } - } - - namespace ActorComponent { - bool IsOwnerSelected(UActorComponent* ActorComponent) { - return ActorComponent->IsOwnerSelected(); - } - - AActor* GetOwner(UActorComponent* ActorComponent, ActorType Type) { - AActor* actor = nullptr; - - UNREALCLR_GET_ACTOR_TYPE(Type, Cast<, >(ActorComponent->GetOwner()), actor); - - return actor; - } - - void Destroy(UActorComponent* ActorComponent, bool PromoteChild) { - ActorComponent->DestroyComponent(PromoteChild); - } - - void AddTag(UActorComponent* ActorComponent, const char* Tag) { - ActorComponent->ComponentTags.AddUnique(FName(ANSI_TO_TCHAR(Tag))); - } - - void RemoveTag(UActorComponent* ActorComponent, const char* Tag) { - ActorComponent->ComponentTags.Remove(FName(ANSI_TO_TCHAR(Tag))); - } - - bool HasTag(UActorComponent* ActorComponent, const char* Tag) { - return ActorComponent->ComponentHasTag(FName(ANSI_TO_TCHAR(Tag))); - } - } - - namespace InputComponent { - bool HasBindings(UInputComponent* InputComponent) { - return InputComponent->HasBindings(); - } - - int32 GetActionBindingsNumber(UInputComponent* InputComponent) { - return InputComponent->GetNumActionBindings(); - } - - void ClearActionBindings(UInputComponent* InputComponent) { - InputComponent->ClearActionBindings(); - } - - void BindAction(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent, bool ExecutedWhenPaused, InputDelegate Callback) { - FInputActionBinding actionBinding(FName(ANSI_TO_TCHAR(ActionName)), KeyEvent); - - actionBinding.bExecuteWhenPaused = ExecutedWhenPaused; - actionBinding.ActionDelegate.GetDelegateForManualSet().BindLambda([Callback]() { - UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback)); - }); - - InputComponent->AddActionBinding(actionBinding); - } - - void BindAxis(UInputComponent* InputComponent, const char* AxisName, bool ExecutedWhenPaused, InputAxisDelegate Callback) { - FInputAxisBinding axisBinding(FName(ANSI_TO_TCHAR(AxisName))); - - axisBinding.bExecuteWhenPaused = ExecutedWhenPaused; - axisBinding.AxisDelegate.GetDelegateForManualSet().BindLambda([Callback](float AxisValue) { - UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback, AxisValue)); - }); - - InputComponent->AxisBindings.Emplace(axisBinding); - } - - void RemoveActionBinding(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent) { - InputComponent->RemoveActionBinding(FName(ANSI_TO_TCHAR(ActionName)), KeyEvent); - } - - bool GetBlockInput(UInputComponent* InputComponent) { - return InputComponent->bBlockInput; - } - - void SetBlockInput(UInputComponent* InputComponent, bool Value) { - InputComponent->bBlockInput = Value; - } - - int32 GetPriority(UInputComponent* InputComponent) { - return InputComponent->Priority; - } - - void SetPriority(UInputComponent* InputComponent, int32 Value) { - InputComponent->Priority = Value; - } - } - - namespace SceneComponent { - bool IsAttachedToComponent(USceneComponent* SceneComponent, USceneComponent* Component) { - return SceneComponent->IsAttachedTo(Component); - } - - bool IsAttachedToActor(USceneComponent* SceneComponent, AActor* Actor) { - USceneComponent* Component = SceneComponent; - - while (Component) { - if (Component->GetOwner() == Actor) - return true; - - Component = Component->GetAttachParent(); - } - - return false; - } - - bool IsVisible(USceneComponent* SceneComponent) { - return SceneComponent->IsVisible(); - } - - bool IsSocketExists(USceneComponent* SceneComponent, const char* SocketName) { - return SceneComponent->DoesSocketExist(FName(ANSI_TO_TCHAR(SocketName))); - } - - bool HasAnySockets(USceneComponent* SceneComponent) { - return SceneComponent->HasAnySockets(); - } - - bool CanAttachAsChild(USceneComponent* SceneComponent, USceneComponent* ChildComponent, const char* SocketName) { - return SceneComponent->CanAttachAsChild(ChildComponent, FName(ANSI_TO_TCHAR(SocketName))); - } - - void ForEachAttachedChild(USceneComponent* SceneComponent, USceneComponent** Array, int32* Elements) { - static TArray attachedComponents; - - attachedComponents.Reset(); - - attachedComponents = SceneComponent->GetAttachChildren(); - - int32 elements = attachedComponents.Num(); - - if (elements > 0) { - *Array = reinterpret_cast(attachedComponents.GetData()); - *Elements = elements; - } - } - - USceneComponent* Create(AActor* Actor, ComponentType Type, const char* Name, bool SetAsRoot, UObject* Blueprint) { - USceneComponent* component = nullptr; - - if (!Blueprint) { - UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, NewObject<, >(Actor), component); - } else { - #if !WITH_EDITOR - UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, NewObject<, >(Actor, Cast(Blueprint)), component); - #else - UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, NewObject<, >(Actor, Cast(Blueprint)->GeneratedClass), component); - #endif - } - - if (component) { - USceneComponent* rootComponent = Actor->GetRootComponent(); - - if (!rootComponent || SetAsRoot) - Actor->SetRootComponent(component); - else - component->AttachToComponent(rootComponent, FAttachmentTransformRules::KeepRelativeTransform); - - Actor->AddInstanceComponent(component); - component->OnComponentCreated(); - component->RegisterComponent(); - - if (Name) - component->Rename(*FString(ANSI_TO_TCHAR(Name))); - } - - return component; - } - - bool AttachToComponent(USceneComponent* SceneComponent, USceneComponent* Parent, AttachmentTransformRule AttachmentRule, const char* SocketName) { - FAttachmentTransformRules attachmentRules = FAttachmentTransformRules::KeepRelativeTransform; - FName socketName; - - UNREALCLR_GET_ATTACHMENT_RULE(AttachmentRule, attachmentRules); - - if (SocketName) - socketName = FName(ANSI_TO_TCHAR(SocketName)); - - return SceneComponent->AttachToComponent(Parent, attachmentRules, socketName); - } - - void DetachFromComponent(USceneComponent* SceneComponent, DetachmentTransformRule DetachmentRule) { - FDetachmentTransformRules detachmentRules = FDetachmentTransformRules::KeepRelativeTransform; - - UNREALCLR_GET_DETACHMENT_RULE(DetachmentRule, detachmentRules); - - SceneComponent->DetachFromComponent(detachmentRules); - } - - void Activate(USceneComponent* SceneComponent) { - SceneComponent->Activate(); - } - - void Deactivate(USceneComponent* SceneComponent) { - SceneComponent->Deactivate(); - } - - void UpdateToWorld(USceneComponent* SceneComponent, TeleportType Type, UpdateTransformFlags Flags) { - SceneComponent->UpdateComponentToWorld(static_cast(Flags), Type); - } - - void AddLocalOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation) { - SceneComponent->AddLocalOffset(*DeltaLocation); - } - - void AddLocalRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation) { - SceneComponent->AddLocalRotation(*DeltaRotation); - } - - void AddRelativeLocation(USceneComponent* SceneComponent, const Vector3* DeltaLocation) { - SceneComponent->AddRelativeLocation(*DeltaLocation); - } - - void AddRelativeRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation) { - SceneComponent->AddRelativeRotation(*DeltaRotation); - } - - void AddLocalTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform) { - SceneComponent->AddLocalTransform(*DeltaTransform); - } - - void AddWorldOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation) { - SceneComponent->AddWorldOffset(*DeltaLocation); - } - - void AddWorldRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation) { - SceneComponent->AddWorldRotation(*DeltaRotation); - } - - void AddWorldTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform) { - SceneComponent->AddWorldTransform(*DeltaTransform); - } - - void GetAttachedSocketName(USceneComponent* SceneComponent, char* SocketName) { - const char* socketName = TCHAR_TO_ANSI(*SceneComponent->GetAttachSocketName().ToString()); - - UnrealCLR::Utility::Strcpy(SocketName, socketName, UnrealCLR::Utility::Strlen(socketName)); - } - - void GetBounds(USceneComponent* SceneComponent, const Transform* LocalToWorld, Bounds* Value) { - *Value = SceneComponent->CalcBounds(*LocalToWorld); - } - - void GetSocketLocation(USceneComponent* SceneComponent, const char* SocketName, Vector3* Value) { - *Value = SceneComponent->GetSocketLocation(FName(ANSI_TO_TCHAR(SocketName))); - } - - void GetSocketRotation(USceneComponent* SceneComponent, const char* SocketName, Quaternion* Value) { - *Value = SceneComponent->GetSocketQuaternion(FName(ANSI_TO_TCHAR(SocketName))); - } - - void GetComponentVelocity(USceneComponent* SceneComponent, Vector3* Value) { - *Value = SceneComponent->GetComponentVelocity(); - } - - void GetComponentLocation(USceneComponent* SceneComponent, Vector3* Value) { - *Value = SceneComponent->GetComponentLocation(); - } - - void GetComponentRotation(USceneComponent* SceneComponent, Quaternion* Value) { - *Value = SceneComponent->GetComponentQuat(); - } - - void GetComponentScale(USceneComponent* SceneComponent, Vector3* Value) { - *Value = SceneComponent->GetComponentScale(); - } - - void GetComponentTransform(USceneComponent* SceneComponent, Transform* Value) { - *Value = SceneComponent->GetComponentTransform(); - } - - void GetForwardVector(USceneComponent* SceneComponent, Vector3* Value) { - *Value = SceneComponent->GetForwardVector(); - } - - void GetRightVector(USceneComponent* SceneComponent, Vector3* Value) { - *Value = SceneComponent->GetRightVector(); - } - - void GetUpVector(USceneComponent* SceneComponent, Vector3* Value) { - *Value = SceneComponent->GetUpVector(); - } - - void SetMobility(USceneComponent* SceneComponent, ComponentMobility Mobility) { - SceneComponent->SetMobility(Mobility); - } - - void SetVisibility(USceneComponent* SceneComponent, bool NewVisibility, bool PropagateToChildren) { - SceneComponent->SetVisibility(NewVisibility, PropagateToChildren); - } - - void SetRelativeLocation(USceneComponent* SceneComponent, const Vector3* Location) { - SceneComponent->SetRelativeLocation(*Location); - } - - void SetRelativeRotation(USceneComponent* SceneComponent, const Quaternion* Rotation) { - SceneComponent->SetRelativeRotation(*Rotation); - } - - void SetRelativeTransform(USceneComponent* SceneComponent, const Transform* Transform) { - SceneComponent->SetRelativeTransform(*Transform); - } - - void SetWorldLocation(USceneComponent* SceneComponent, const Vector3* Location) { - SceneComponent->SetWorldLocation(*Location); - } - - void SetWorldRotation(USceneComponent* SceneComponent, const Quaternion* Rotation) { - SceneComponent->SetWorldRotation(*Rotation); - } - - void SetWorldScale(USceneComponent* SceneComponent, const Vector3* Scale) { - SceneComponent->SetWorldScale3D(*Scale); - } - - void SetWorldTransform(USceneComponent* SceneComponent, const Transform* Transform) { - SceneComponent->SetWorldTransform(*Transform); - } - } - - namespace AudioComponent { - bool IsPlaying(UAudioComponent* AudioComponent) { - return AudioComponent->IsPlaying(); - } - - bool GetPaused(UAudioComponent* AudioComponent) { - return AudioComponent->bIsPaused; - } - - void SetSound(UAudioComponent* AudioComponent, USoundBase* Sound) { - AudioComponent->SetSound(Sound); - } - - void SetPaused(UAudioComponent* AudioComponent, bool Value) { - AudioComponent->SetPaused(Value); - } - - void Play(UAudioComponent* AudioComponent) { - AudioComponent->Play(); - } - - void Stop(UAudioComponent* AudioComponent) { - AudioComponent->Stop(); - } - - void FadeIn(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, float StartTime, AudioFadeCurve FadeCurve) { - AudioComponent->FadeIn(Duration, VolumeLevel, StartTime, FadeCurve); - } - - void FadeOut(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, AudioFadeCurve FadeCurve) { - AudioComponent->FadeOut(Duration, VolumeLevel, FadeCurve); - } - } - - namespace CameraComponent { - bool GetConstrainAspectRatio(UCameraComponent* CameraComponent) { - return CameraComponent->bConstrainAspectRatio; - } - - float GetAspectRatio(UCameraComponent* CameraComponent) { - return CameraComponent->AspectRatio; - } - - float GetFieldOfView(UCameraComponent* CameraComponent) { - return CameraComponent->FieldOfView; - } - - float GetOrthoFarClipPlane(UCameraComponent* CameraComponent) { - return CameraComponent->OrthoFarClipPlane; - } - - float GetOrthoNearClipPlane(UCameraComponent* CameraComponent) { - return CameraComponent->OrthoNearClipPlane; - } - - float GetOrthoWidth(UCameraComponent* CameraComponent) { - return CameraComponent->OrthoWidth; - } - - bool GetLockToHeadMountedDisplay(UCameraComponent* CameraComponent) { - return CameraComponent->bLockToHmd; - } - - void SetProjectionMode(UCameraComponent* CameraComponent, CameraProjectionMode Mode) { - CameraComponent->SetProjectionMode(Mode); - } - - void SetConstrainAspectRatio(UCameraComponent* CameraComponent, bool Value) { - CameraComponent->bConstrainAspectRatio = Value; - } - - void SetAspectRatio(UCameraComponent* CameraComponent, float Value) { - CameraComponent->AspectRatio = Value; - } - - void SetFieldOfView(UCameraComponent* CameraComponent, float Value) { - CameraComponent->FieldOfView = Value; - } - - void SetOrthoFarClipPlane(UCameraComponent* CameraComponent, float Value) { - CameraComponent->OrthoFarClipPlane = Value; - } - - void SetOrthoNearClipPlane(UCameraComponent* CameraComponent, float Value) { - CameraComponent->OrthoNearClipPlane = Value; - } - - void SetOrthoWidth(UCameraComponent* CameraComponent, float Value) { - CameraComponent->OrthoWidth = Value; - } - - void SetLockToHeadMountedDisplay(UCameraComponent* CameraComponent, bool Value) { - CameraComponent->bLockToHmd = Value; - } - } - - namespace ChildActorComponent { - AActor* GetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type) { - AActor* actor = nullptr; - - UNREALCLR_GET_ACTOR_TYPE(Type, Cast<, >(ChildActorComponent->GetChildActor()), actor); - - return actor; - } - - AActor* SetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type) { - TSubclassOf type; - - UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); - - ChildActorComponent->SetChildActorClass(type); - - return ChildActorComponent->GetChildActor(); - } - } - - namespace SpringArmComponent { - bool IsCollisionFixApplied(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->IsCollisionFixApplied(); - } - - bool GetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bDrawDebugLagMarkers; - } - - bool GetCollisionTest(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bDoCollisionTest; - } - - bool GetCameraPositionLag(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bEnableCameraLag; - } - - bool GetCameraRotationLag(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bEnableCameraRotationLag; - } - - bool GetCameraLagSubstepping(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bUseCameraLagSubstepping; - } - - bool GetInheritPitch(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bInheritPitch; - } - - bool GetInheritRoll(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bInheritRoll; - } - - bool GetInheritYaw(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bInheritYaw; - } - - float GetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->CameraLagMaxDistance; - } - - float GetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->CameraLagMaxTimeStep; - } - - float GetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->CameraLagSpeed; - } - - float GetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->CameraRotationLagSpeed; - } - - CollisionChannel GetProbeChannel(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->ProbeChannel; - } - - float GetProbeSize(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->ProbeSize; - } - - void GetSocketOffset(USpringArmComponent* SpringArmComponent, Vector3* Value) { - *Value = SpringArmComponent->SocketOffset; - } - - float GetTargetArmLength(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->TargetArmLength; - } - - void GetTargetOffset(USpringArmComponent* SpringArmComponent, Vector3* Value) { - *Value = SpringArmComponent->TargetOffset; - } - - void GetUnfixedCameraPosition(USpringArmComponent* SpringArmComponent, Vector3* Value) { - *Value = SpringArmComponent->GetUnfixedCameraPosition(); - } - - void GetDesiredRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value) { - *Value = SpringArmComponent->GetDesiredRotation().Quaternion(); - } - - void GetTargetRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value) { - *Value = SpringArmComponent->GetTargetRotation().Quaternion(); - } - - bool GetUsePawnControlRotation(USpringArmComponent* SpringArmComponent) { - return SpringArmComponent->bUsePawnControlRotation; - } - - void SetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bDrawDebugLagMarkers = Value; - } - - void SetCollisionTest(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bDoCollisionTest = Value; - } - - void SetCameraPositionLag(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bEnableCameraLag = Value; - } - - void SetCameraRotationLag(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bEnableCameraRotationLag = Value; - } - - void SetCameraLagSubstepping(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bUseCameraLagSubstepping = Value; - } - - void SetInheritPitch(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bInheritPitch = Value; - } - - void SetInheritRoll(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bInheritRoll = Value; - } - - void SetInheritYaw(USpringArmComponent* SpringArmComponent, bool Value) { - SpringArmComponent->bInheritYaw = Value; - } - - void SetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent, float Value) { - SpringArmComponent->CameraLagMaxDistance = Value; - } - - void SetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent, float Value) { - SpringArmComponent->CameraLagMaxTimeStep = Value; - } - - void SetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent, float Value) { - SpringArmComponent->CameraLagSpeed = Value; - } - - void SetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent, float Value) { - SpringArmComponent->CameraRotationLagSpeed = Value; - } - - void SetProbeChannel(USpringArmComponent* SpringArmComponent, CollisionChannel Value) { - SpringArmComponent->ProbeChannel = Value; - } - - void SetProbeSize(USpringArmComponent* SpringArmComponent, float Value) { - SpringArmComponent->ProbeSize = Value; - } - - void SetSocketOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value) { - SpringArmComponent->SocketOffset = *Value; - } - - void SetTargetArmLength(USpringArmComponent* SpringArmComponent, float Value) { - SpringArmComponent->TargetArmLength = Value; - } - - void SetTargetOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value) { - SpringArmComponent->TargetOffset = *Value; - } - - void SetUsePawnControlRotation(USpringArmComponent* SpringArmComponent, bool value) { - SpringArmComponent->bUsePawnControlRotation = value; - } - } - - namespace PostProcessComponent { - bool GetEnabled(UPostProcessComponent* PostProcessComponent) { - return PostProcessComponent->bEnabled; - } - - float GetBlendRadius(UPostProcessComponent* PostProcessComponent) { - return PostProcessComponent->BlendRadius; - } - - float GetBlendWeight(UPostProcessComponent* PostProcessComponent) { - return PostProcessComponent->BlendWeight; - } - - bool GetUnbound(UPostProcessComponent* PostProcessComponent) { - return PostProcessComponent->bUnbound; - } - - float GetPriority(UPostProcessComponent* PostProcessComponent) { - return PostProcessComponent->Priority; - } - - void SetEnabled(UPostProcessComponent* PostProcessComponent, bool Value) { - PostProcessComponent->bEnabled = Value; - } - - void SetBlendRadius(UPostProcessComponent* PostProcessComponent, float Value) { - PostProcessComponent->BlendRadius = Value; - } - - void SetBlendWeight(UPostProcessComponent* PostProcessComponent, float Value) { - PostProcessComponent->BlendWeight = Value; - } - - void SetUnbound(UPostProcessComponent* PostProcessComponent, bool Value) { - PostProcessComponent->bUnbound = Value; - } - - void SetPriority(UPostProcessComponent* PostProcessComponent, float Priority) { - PostProcessComponent->Priority = Priority; - } - } - - namespace PrimitiveComponent { - bool IsGravityEnabled(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->IsGravityEnabled(); - } - - bool IsOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Other) { - return PrimitiveComponent->IsOverlappingComponent(Other); - } - - void ForEachOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent** Array, int32* Elements) { - static TArray overlappingComponents; - - overlappingComponents.Reset(); - - PrimitiveComponent->GetOverlappingComponents(overlappingComponents); - - int32 elements = overlappingComponents.Num(); - - if (elements > 0) { - *Array = reinterpret_cast(overlappingComponents.GetData()); - *Elements = elements; - } - } - - void AddAngularImpulseInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->AddAngularImpulseInDegrees(*Impulse, boneName, VelocityChange); - } - - void AddAngularImpulseInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->AddAngularImpulseInRadians(*Impulse, boneName, VelocityChange); - } - - void AddForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const char* BoneName, bool AccelerationChange) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->AddForce(*Force, boneName, AccelerationChange); - } - - void AddForceAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const Vector3* Location, const char* BoneName, bool LocalSpace) { - UNREALCLR_SET_BONE_NAME(BoneName); - - if (!LocalSpace) - PrimitiveComponent->AddForceAtLocation(*Force, *Location, boneName); - else - PrimitiveComponent->AddForceAtLocationLocal(*Force, *Location, boneName); - } - - void AddImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->AddImpulse(*Impulse, boneName, VelocityChange); - } - - void AddImpulseAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const Vector3* Location, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->AddImpulseAtLocation(*Impulse, *Location, boneName); - } - - void AddRadialForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange) { - PrimitiveComponent->AddRadialForce(*Origin, Radius, Strength, LinearFalloff ? ERadialImpulseFalloff::RIF_Linear : ERadialImpulseFalloff::RIF_Constant, AccelerationChange); - } - - void AddRadialImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange) { - PrimitiveComponent->AddRadialImpulse(*Origin, Radius, Strength, LinearFalloff ? ERadialImpulseFalloff::RIF_Linear : ERadialImpulseFalloff::RIF_Constant, AccelerationChange); - } - - void AddTorqueInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->AddTorqueInDegrees(*Torque, boneName, AccelerationChange); - } - - void AddTorqueInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->AddTorqueInRadians(*Torque, boneName, AccelerationChange); - } - - float GetMass(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->GetMass(); - } - - void GetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->GetPhysicsLinearVelocity(boneName); - } - - void GetPhysicsLinearVelocityAtPoint(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const Vector3* Point, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->GetPhysicsLinearVelocityAtPoint(*Point, boneName); - } - - void GetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->GetPhysicsAngularVelocityInDegrees(boneName); - } - - void GetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->GetPhysicsAngularVelocityInRadians(boneName); - } - - bool GetCastShadow(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->CastShadow; - } - - bool GetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->bOnlyOwnerSee; - } - - bool GetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->bOwnerNoSee; - } - - bool GetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->bIgnoreRadialForce; - } - - bool GetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->bIgnoreRadialImpulse; - } - - UMaterialInstanceDynamic* GetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex) { - return Cast(PrimitiveComponent->GetMaterial(ElementIndex)); - } - - int32 GetMaterialsNumber(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->GetNumMaterials(); - } - - float GetDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, Vector3* ClosestPointOnCollision) { - FVector closestPointOnCollision; - - float result = PrimitiveComponent->GetDistanceToCollision(*Point, closestPointOnCollision); - - *ClosestPointOnCollision = closestPointOnCollision; - - return result; - } - - bool GetSquaredDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, float* SquaredDistance, Vector3* ClosestPointOnCollision) { - FVector closestPointOnCollision; - float squaredDistance = 0.0f; - - bool result = PrimitiveComponent->GetSquaredDistanceToCollision(*Point, squaredDistance, closestPointOnCollision); - - *SquaredDistance = squaredDistance; - *ClosestPointOnCollision = closestPointOnCollision; - - return result; - } - - float GetAngularDamping(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->GetAngularDamping(); - } - - float GetLinearDamping(UPrimitiveComponent* PrimitiveComponent) { - return PrimitiveComponent->GetLinearDamping(); - } - - void SetGenerateOverlapEvents(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->SetGenerateOverlapEvents(Value); - } - - void SetGenerateHitEvents(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->SetNotifyRigidBodyCollision(Value); - } - - void SetMass(UPrimitiveComponent* PrimitiveComponent, float Mass, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->SetMassOverrideInKg(boneName, Mass); - } - - void SetCenterOfMass(UPrimitiveComponent* PrimitiveComponent, const Vector3* Offset, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->SetCenterOfMass(*Offset, boneName); - } - - void SetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, const Vector3* Velocity, bool AddToCurrent, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->SetPhysicsLinearVelocity(*Velocity, AddToCurrent, boneName); - } - - void SetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->SetPhysicsAngularVelocityInDegrees(*AngularVelocity, AddToCurrent, boneName); - } - - void SetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->SetPhysicsAngularVelocityInRadians(*AngularVelocity, AddToCurrent, boneName); - } - - void SetPhysicsMaxAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->SetPhysicsMaxAngularVelocityInDegrees(MaxAngularVelocity, AddToCurrent, boneName); - } - - void SetPhysicsMaxAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName) { - UNREALCLR_SET_BONE_NAME(BoneName); - - PrimitiveComponent->SetPhysicsMaxAngularVelocityInRadians(MaxAngularVelocity, AddToCurrent, boneName); - } - - void SetCastShadow(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->CastShadow = Value; - } - - void SetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->bOnlyOwnerSee = Value; - } - - void SetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->bOwnerNoSee = Value; - } - - void SetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->bIgnoreRadialForce = Value; - } - - void SetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->bIgnoreRadialImpulse = Value; - } - - void SetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex, UMaterialInterface* Material) { - PrimitiveComponent->SetMaterial(ElementIndex, Material); - } - - void SetSimulatePhysics(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->SetSimulatePhysics(Value); - } - - void SetAngularDamping(UPrimitiveComponent* PrimitiveComponent, float Value) { - PrimitiveComponent->SetAngularDamping(Value); - } - - void SetLinearDamping(UPrimitiveComponent* PrimitiveComponent, float Value) { - PrimitiveComponent->SetLinearDamping(Value); - } - - void SetEnableGravity(UPrimitiveComponent* PrimitiveComponent, bool Value) { - PrimitiveComponent->SetEnableGravity(Value); - } - - void SetCollisionMode(UPrimitiveComponent* PrimitiveComponent, CollisionMode Mode) { - PrimitiveComponent->SetCollisionEnabled(Mode); - } - - void SetCollisionChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel) { - PrimitiveComponent->SetCollisionObjectType(Channel); - } - - void SetCollisionProfileName(UPrimitiveComponent* PrimitiveComponent, const char* ProfileName, bool UpdateOverlaps) { - PrimitiveComponent->SetCollisionProfileName(FName(ANSI_TO_TCHAR(ProfileName)), UpdateOverlaps); - } - - void SetCollisionResponseToChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel, CollisionResponse Response) { - PrimitiveComponent->SetCollisionResponseToChannel(Channel, Response); - } - - void SetCollisionResponseToAllChannels(UPrimitiveComponent* PrimitiveComponent, CollisionResponse Response) { - PrimitiveComponent->SetCollisionResponseToAllChannels(Response); - } - - void SetIgnoreActorWhenMoving(UPrimitiveComponent* PrimitiveComponent, AActor* Actor, bool Value) { - PrimitiveComponent->IgnoreActorWhenMoving(Actor, Value); - } - - void SetIgnoreComponentWhenMoving(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Component, bool Value) { - PrimitiveComponent->IgnoreComponentWhenMoving(Component, Value); - } - - void ClearMoveIgnoreActors(UPrimitiveComponent* PrimitiveComponent) { - PrimitiveComponent->ClearMoveIgnoreActors(); - } - - void ClearMoveIgnoreComponents(UPrimitiveComponent* PrimitiveComponent) { - PrimitiveComponent->ClearMoveIgnoreComponents(); - } - - UMaterialInstanceDynamic* CreateAndSetMaterialInstanceDynamic(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex) { - return PrimitiveComponent->CreateAndSetMaterialInstanceDynamic(ElementIndex); - } - - void RegisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type) { - UNREALCLR_SET_COMPONENT_EVENT(Type, !, AddDynamic); - } - - void UnregisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type) { - UNREALCLR_SET_COMPONENT_EVENT(Type, UNREALCLR_NONE, RemoveDynamic); - } - } - - namespace ShapeComponent { - bool GetDynamicObstacle(UShapeComponent* ShapeComponent) { - return ShapeComponent->bDynamicObstacle; - } - - int32 GetShapeColor(UShapeComponent* ShapeComponent) { - return UNREALCLR_COLOR_TO_INTEGER(ShapeComponent->ShapeColor); - } - - void SetDynamicObstacle(UShapeComponent* ShapeComponent, bool Value) { - ShapeComponent->bDynamicObstacle = Value; - } - - void SetShapeColor(UShapeComponent* ShapeComponent, Color Value) { - ShapeComponent->ShapeColor = Value; - } - } - - namespace BoxComponent { - void GetScaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value) { - *Value = BoxComponent->GetScaledBoxExtent(); - } - - void GetUnscaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value) { - *Value = BoxComponent->GetUnscaledBoxExtent(); - } - - void SetBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent, bool UpdateOverlaps) { - BoxComponent->SetBoxExtent(*Extent, UpdateOverlaps); - } - - void InitBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent) { - BoxComponent->InitBoxExtent(*Extent); - } - } - - namespace SphereComponent { - float GetScaledSphereRadius(USphereComponent* SphereComponent) { - return SphereComponent->GetScaledSphereRadius(); - } - - float GetUnscaledSphereRadius(USphereComponent* SphereComponent) { - return SphereComponent->GetUnscaledSphereRadius(); - } - - float GetShapeScale(USphereComponent* SphereComponent) { - return SphereComponent->GetShapeScale(); - } - - void SetSphereRadius(USphereComponent* SphereComponent, float SphereRadius, bool UpdateOverlaps) { - SphereComponent->SetSphereRadius(SphereRadius, UpdateOverlaps); - } - - void InitSphereRadius(USphereComponent* SphereComponent, float SphereRadius) { - SphereComponent->InitSphereRadius(SphereRadius); - } - } - - namespace CapsuleComponent { - float GetScaledCapsuleRadius(UCapsuleComponent* CapsuleComponent) { - return CapsuleComponent->GetScaledCapsuleRadius(); - } - - float GetUnscaledCapsuleRadius(UCapsuleComponent* CapsuleComponent) { - return CapsuleComponent->GetUnscaledCapsuleRadius(); - } - - float GetShapeScale(UCapsuleComponent* CapsuleComponent) { - return CapsuleComponent->GetShapeScale(); - } - - void GetScaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight) { - CapsuleComponent->GetScaledCapsuleSize(*Radius, *HalfHeight); - } - - void GetUnscaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight) { - CapsuleComponent->GetUnscaledCapsuleSize(*Radius, *HalfHeight); - } - - void SetCapsuleRadius(UCapsuleComponent* CapsuleComponent, float Radius, bool UpdateOverlaps) { - CapsuleComponent->SetCapsuleRadius(Radius, UpdateOverlaps); - } - - void SetCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight, bool UpdateOverlaps) { - CapsuleComponent->SetCapsuleSize(Radius, HalfHeight, UpdateOverlaps); - } - - void InitCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight) { - CapsuleComponent->InitCapsuleSize(Radius, HalfHeight); - } - } - - namespace MeshComponent { - bool IsValidMaterialSlotName(UMeshComponent* MeshComponent, const char* MaterialSlotName) { - return MeshComponent->IsMaterialSlotNameValid(FName(ANSI_TO_TCHAR(MaterialSlotName))); - } - - int32 GetMaterialIndex(UMeshComponent* MeshComponent, const char* MaterialSlotName) { - return MeshComponent->GetMaterialIndex(FName(ANSI_TO_TCHAR(MaterialSlotName))); - } - } - - namespace TextRenderComponent { - void SetFont(UTextRenderComponent* TextRenderComponent, UFont* Value) { - TextRenderComponent->SetFont(Value); - } - - void SetText(UTextRenderComponent* TextRenderComponent, const char* Value) { - TextRenderComponent->SetText(FText::FromString(FString(ANSI_TO_TCHAR(Value)))); - } - - void SetTextMaterial(UTextRenderComponent* TextRenderComponent, UMaterialInterface* Material) { - TextRenderComponent->SetTextMaterial(Material); - } - - void SetTextRenderColor(UTextRenderComponent* TextRenderComponent, Color Value) { - TextRenderComponent->SetTextRenderColor(Value); - } - - void SetHorizontalAlignment(UTextRenderComponent* TextRenderComponent, HorizontalTextAligment Value) { - TextRenderComponent->SetHorizontalAlignment(Value); - } - - void SetHorizontalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value) { - TextRenderComponent->SetHorizSpacingAdjust(Value); - } - - void SetVerticalAlignment(UTextRenderComponent* TextRenderComponent, VerticalTextAligment Value) { - TextRenderComponent->SetVerticalAlignment(Value); - } - - void SetVerticalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value) { - TextRenderComponent->SetVertSpacingAdjust(Value); - } - - void SetScale(UTextRenderComponent* TextRenderComponent, const Vector2* Value) { - TextRenderComponent->SetXScale(Value->X); - TextRenderComponent->SetYScale(Value->Y); - } - - void SetWorldSize(UTextRenderComponent* TextRenderComponent, float Value) { - TextRenderComponent->SetWorldSize(Value); - } - } - - namespace LightComponentBase { - float GetIntensity(ULightComponentBase* LightComponentBase) { - return LightComponentBase->Intensity; - } - - bool GetCastShadows(ULightComponentBase* LightComponentBase) { - return LightComponentBase->CastShadows; - } - - void SetCastShadows(ULightComponentBase* LightComponentBase, bool Value) { - LightComponentBase->SetCastShadows(Value); - } - } - - namespace LightComponent { - void SetIntensity(ULightComponent* LightComponent, float Value) { - LightComponent->SetIntensity(Value); - } - - void SetLightColor(ULightComponent* LightComponent, const LinearColor* Value) { - LightComponent->SetLightColor(*Value); - } - } - - namespace MotionControllerComponent { - bool IsTracked(UMotionControllerComponent* MotionControllerComponent) { - return MotionControllerComponent->IsTracked(); - } - - bool GetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent) { - return MotionControllerComponent->bDisplayDeviceModel; - } - - bool GetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent) { - return MotionControllerComponent->bDisableLowLatencyUpdate; - } - - ControllerHand GetTrackingSource(UMotionControllerComponent* MotionControllerComponent) { - return MotionControllerComponent->GetTrackingSource(); - } - - void SetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent, bool Value) { - MotionControllerComponent->bDisplayDeviceModel = true; - } - - void SetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent, bool Value) { - MotionControllerComponent->bDisableLowLatencyUpdate = Value; - } - - void SetTrackingSource(UMotionControllerComponent* MotionControllerComponent, ControllerHand Value) { - MotionControllerComponent->SetTrackingSource(Value); - } - - void SetTrackingMotionSource(UMotionControllerComponent* MotionControllerComponent, const char* Source) { - MotionControllerComponent->SetTrackingMotionSource(FName(ANSI_TO_TCHAR(Source))); - } - - void SetAssociatedPlayerIndex(UMotionControllerComponent* MotionControllerComponent, int32 PlayerIndex) { - MotionControllerComponent->SetAssociatedPlayerIndex(PlayerIndex); - } - - void SetCustomDisplayMesh(UMotionControllerComponent* MotionControllerComponent, UStaticMesh* StaticMesh) { - MotionControllerComponent->SetCustomDisplayMesh(StaticMesh); - } - - void SetDisplayModelSource(UMotionControllerComponent* MotionControllerComponent, const char* Source) { - MotionControllerComponent->SetDisplayModelSource(FName(ANSI_TO_TCHAR(Source))); - } - } - - namespace StaticMeshComponent { - void GetLocalBounds(UStaticMeshComponent* StaticMeshComponent, Vector3* Min, Vector3* Max) { - FVector min, max; - - StaticMeshComponent->GetLocalBounds(min, max); - - *Min = min; - *Max = max; - } - - UStaticMesh* GetStaticMesh(UStaticMeshComponent* StaticMeshComponent) { - return StaticMeshComponent->GetStaticMesh(); - } - - bool SetStaticMesh(UStaticMeshComponent* StaticMeshComponent, UStaticMesh* StaticMesh) { - return StaticMeshComponent->SetStaticMesh(StaticMesh); - } - } - - namespace InstancedStaticMeshComponent { - int32 GetInstanceCount(UInstancedStaticMeshComponent* InstancedStaticMeshComponent) { - return InstancedStaticMeshComponent->GetInstanceCount(); - } - - bool GetInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, Transform* Value, bool WorldSpace) { - FTransform transform; - - bool result = InstancedStaticMeshComponent->GetInstanceTransform(InstanceIndex, transform, WorldSpace); - - if (result) - *Value = transform; - - return result; - } - - void AddInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, const Transform* InstanceTransform) { - InstancedStaticMeshComponent->AddInstance(*InstanceTransform); - } - - void AddInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 EndInstanceIndex, const Transform InstanceTransforms[]) { - static TArray instanceTransforms; - - instanceTransforms.Reserve(EndInstanceIndex + 1); - instanceTransforms.Reset(); - - for (int32 i = 0; i < EndInstanceIndex; i++) { - instanceTransforms.Add(InstanceTransforms[i]); - } - - InstancedStaticMeshComponent->AddInstances(instanceTransforms, false); - } - - bool UpdateInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, const Transform* InstanceTransform, bool WorldSpace, bool MarkRenderStateDirty, bool Teleport) { - return InstancedStaticMeshComponent->UpdateInstanceTransform(InstanceIndex, *InstanceTransform, WorldSpace, MarkRenderStateDirty, Teleport); - } - - bool BatchUpdateInstanceTransforms(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 StartInstanceIndex, int32 EndInstanceIndex, const Transform InstanceTransforms[], bool WorldSpace, bool MarkRenderStateDirty, bool Teleport) { - static TArray instanceTransforms; - - instanceTransforms.Reserve(EndInstanceIndex + 1); - instanceTransforms.Reset(); - - for (int32 i = 0; i < EndInstanceIndex; i++) { - instanceTransforms.Add(InstanceTransforms[i]); - } - - return InstancedStaticMeshComponent->BatchUpdateInstancesTransforms(StartInstanceIndex, instanceTransforms, WorldSpace, MarkRenderStateDirty, Teleport); - } - - bool RemoveInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex) { - return InstancedStaticMeshComponent->RemoveInstance(InstanceIndex); - } - - void ClearInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent) { - InstancedStaticMeshComponent->ClearInstances(); - } - } - - namespace HierarchicalInstancedStaticMeshComponent { - bool GetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent) { - return HierarchicalInstancedStaticMeshComponent->bDisableCollision; - } - - void SetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent, bool Value) { - HierarchicalInstancedStaticMeshComponent->bDisableCollision = Value; - } - } - - namespace SkinnedMeshComponent { - int32 GetBonesNumber(USkinnedMeshComponent* SkinnedMeshComponent) { - return SkinnedMeshComponent->GetNumBones(); - } - - int32 GetBoneIndex(USkinnedMeshComponent* SkinnedMeshComponent, const char* BoneName) { - return SkinnedMeshComponent->GetBoneIndex(FName(ANSI_TO_TCHAR(BoneName))); - } - - void GetBoneName(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, char* BoneName) { - const char* boneName = TCHAR_TO_ANSI(*SkinnedMeshComponent->GetBoneName(BoneIndex).ToString()); - - UnrealCLR::Utility::Strcpy(BoneName, boneName, UnrealCLR::Utility::Strlen(boneName)); - } - - void GetBoneTransform(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, Transform* Value) { - *Value = SkinnedMeshComponent->GetBoneTransform(BoneIndex); - } - - void SetSkeletalMesh(USkinnedMeshComponent* SkinnedMeshComponent, USkeletalMesh* SkeletalMesh, bool ReinitializePose) { - SkinnedMeshComponent->SetSkeletalMesh(SkeletalMesh, ReinitializePose); - } - } - - namespace SkeletalMeshComponent { - bool IsPlaying(USkeletalMeshComponent* SkeletalMeshComponent) { - return SkeletalMeshComponent->IsPlaying(); - } - - UAnimInstance* GetAnimationInstance(USkeletalMeshComponent* SkeletalMeshComponent) { - return SkeletalMeshComponent->GetAnimInstance(); - } - - void SetAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset) { - SkeletalMeshComponent->SetAnimation(Asset); - } - - void SetAnimationMode(USkeletalMeshComponent* SkeletalMeshComponent, AnimationMode Mode) { - SkeletalMeshComponent->SetAnimationMode(Mode); - } - - void SetAnimationBlueprint(USkeletalMeshComponent* SkeletalMeshComponent, UObject* Blueprint) { - #if !WITH_EDITOR - SkeletalMeshComponent->SetAnimInstanceClass(Cast(Blueprint)); - #else - SkeletalMeshComponent->SetAnimInstanceClass(Cast(Blueprint)->GeneratedClass); - #endif - } - - void Play(USkeletalMeshComponent* SkeletalMeshComponent, bool Loop) { - SkeletalMeshComponent->Play(Loop); - } - - void PlayAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset, bool Loop) { - SkeletalMeshComponent->PlayAnimation(Asset, Loop); - } - - void Stop(USkeletalMeshComponent* SkeletalMeshComponent) { - SkeletalMeshComponent->Stop(); - } - } - - namespace SplineComponent { - bool IsClosedLoop(USplineComponent* SplineComponent) { - return SplineComponent->IsClosedLoop(); - } - - float GetDuration(USplineComponent* SplineComponent) { - return SplineComponent->Duration; - } - - SplinePointType GetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex) { - return SplineComponent->GetSplinePointType(PointIndex); - } - - int32 GetSplinePointsNumber(USplineComponent* SplineComponent) { - return SplineComponent->GetNumberOfSplinePoints(); - } - - int32 GetSplineSegmentsNumber(USplineComponent* SplineComponent) { - return SplineComponent->GetNumberOfSplineSegments(); - } - - void GetTangentAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetTangentAtDistanceAlongSpline(Distance, CoordinateSpace); - } - - void GetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetTangentAtSplinePoint(PointIndex, CoordinateSpace); - } - - void GetTangentAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { - *Value = SplineComponent->GetTangentAtTime(Time, CoordinateSpace, UseConstantVelocity); - } - - void GetTransformAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Transform* Value) { - *Value = SplineComponent->GetTransformAtDistanceAlongSpline(Distance, CoordinateSpace); - } - - void GetTransformAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value) { - *Value = SplineComponent->GetTransformAtSplinePoint(PointIndex, CoordinateSpace, UseScale); - } - - void GetArriveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetArriveTangentAtSplinePoint(PointIndex, CoordinateSpace); - } - - void GetDefaultUpVector(USplineComponent* SplineComponent, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetDefaultUpVector(CoordinateSpace); - } - - void GetDirectionAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetDirectionAtDistanceAlongSpline(Distance, CoordinateSpace); - } - - void GetDirectionAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetDirectionAtSplinePoint(PointIndex, CoordinateSpace); - } - - void GetDirectionAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { - *Value = SplineComponent->GetDirectionAtTime(Time, CoordinateSpace, UseConstantVelocity); - } - - float GetDistanceAlongSplineAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex) { - return SplineComponent->GetDistanceAlongSplineAtSplinePoint(PointIndex); - } - - void GetLeaveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetLeaveTangentAtSplinePoint(PointIndex, CoordinateSpace); - } - - void GetLocationAndTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Location, Vector3* Tangent) { - FVector location, tangent; - - SplineComponent->GetLocationAndTangentAtSplinePoint(PointIndex, location, tangent, CoordinateSpace); - - *Location = location; - *Tangent = tangent; - } - - void GetLocationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetLocationAtDistanceAlongSpline(Distance, CoordinateSpace); - } - - void GetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetLocationAtSplinePoint(PointIndex, CoordinateSpace); - } - - void GetLocationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetLocationAtTime(Time, CoordinateSpace); - } - - void GetRightVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetRightVectorAtDistanceAlongSpline(Distance, CoordinateSpace); - } - - void GetRightVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetRightVectorAtSplinePoint(PointIndex, CoordinateSpace); - } - - void GetRightVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { - *Value = SplineComponent->GetRightVectorAtTime(Time, CoordinateSpace, UseConstantVelocity); - } - - float GetRollAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace) { - return SplineComponent->GetRollAtDistanceAlongSpline(Distance, CoordinateSpace); - } - - float GetRollAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace) { - return SplineComponent->GetRollAtSplinePoint(PointIndex, CoordinateSpace); - } - - float GetRollAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity) { - return SplineComponent->GetRollAtTime(Time, CoordinateSpace, UseConstantVelocity); - } - - void GetRotationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Quaternion* Value) { - *Value = SplineComponent->GetRotationAtDistanceAlongSpline(Distance, CoordinateSpace).Quaternion(); - } - - void GetRotationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Quaternion* Value) { - *Value = SplineComponent->GetRotationAtSplinePoint(PointIndex, CoordinateSpace).Quaternion(); - } - - void GetRotationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Quaternion* Value) { - *Value = SplineComponent->GetRotationAtTime(Time, CoordinateSpace, UseConstantVelocity).Quaternion(); - } - - void GetScaleAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, Vector3* Value) { - *Value = SplineComponent->GetScaleAtDistanceAlongSpline(Distance); - } - - void GetScaleAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, Vector3* Value) { - *Value = SplineComponent->GetScaleAtSplinePoint(PointIndex); - } - - void GetScaleAtTime(USplineComponent* SplineComponent, float Time, bool UseConstantVelocity, Vector3* Value) { - *Value = SplineComponent->GetScaleAtTime(Time, UseConstantVelocity); - } - - float GetSplineLength(USplineComponent* SplineComponent) { - return SplineComponent->GetSplineLength(); - } - - void GetTransformAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, bool UseScale, Transform* Value) { - *Value = SplineComponent->GetTransformAtTime(Time, CoordinateSpace, UseConstantVelocity, UseScale); - } - - void GetUpVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetUpVectorAtDistanceAlongSpline(Distance, CoordinateSpace); - } - - void GetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->GetUpVectorAtSplinePoint(PointIndex, CoordinateSpace); - } - - void GetUpVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { - *Value = SplineComponent->GetUpVectorAtTime(Time, CoordinateSpace, UseConstantVelocity); - } - - void SetDuration(USplineComponent* SplineComponent, float Value) { - SplineComponent->Duration = Value; - } - - void SetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex, SplinePointType Type, bool UpdateSpline) { - SplineComponent->SetSplinePointType(PointIndex, Type, UpdateSpline); - } - - void SetClosedLoop(USplineComponent* SplineComponent, bool Value, bool UpdateSpline) { - SplineComponent->SetClosedLoop(Value, UpdateSpline); - } - - void SetDefaultUpVector(USplineComponent* SplineComponent, const Vector3* Value, SplineCoordinateSpace CoordinateSpace) { - SplineComponent->SetDefaultUpVector(*Value, CoordinateSpace); - } - - void SetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Value, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { - SplineComponent->SetLocationAtSplinePoint(PointIndex, *Value, CoordinateSpace, UpdateSpline); - } - - void SetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Tangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { - SplineComponent->SetTangentAtSplinePoint(PointIndex, *Tangent, CoordinateSpace, UpdateSpline); - } - - void SetTangentsAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* ArriveTangent, const Vector3* LeaveTangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { - SplineComponent->SetTangentsAtSplinePoint(PointIndex, *ArriveTangent, *LeaveTangent, CoordinateSpace, UpdateSpline); - } - - void SetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* UpVector, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { - SplineComponent->SetUpVectorAtSplinePoint(PointIndex, *UpVector, CoordinateSpace, UpdateSpline); - } - - void AddSplinePoint(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { - SplineComponent->AddSplinePoint(*Location, CoordinateSpace, UpdateSpline); - } - - void AddSplinePointAtIndex(USplineComponent* SplineComponent, const Vector3* Location, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { - SplineComponent->AddSplinePointAtIndex(*Location, PointIndex, CoordinateSpace, UpdateSpline); - } - - void ClearSplinePoints(USplineComponent* SplineComponent, bool UpdateSpline) { - SplineComponent->ClearSplinePoints(UpdateSpline); - } - - void FindDirectionClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->FindDirectionClosestToWorldLocation(*Location, CoordinateSpace); - } - - void FindLocationClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->FindLocationClosestToWorldLocation(*Location, CoordinateSpace); - } - - void FindUpVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->FindUpVectorClosestToWorldLocation(*Location, CoordinateSpace); - } - - void FindRightVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->FindRightVectorClosestToWorldLocation(*Location, CoordinateSpace); - } - - float FindRollClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace) { - return SplineComponent->FindRollClosestToWorldLocation(*Location, CoordinateSpace); - } - - void FindScaleClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, Vector3* Value) { - *Value = SplineComponent->FindScaleClosestToWorldLocation(*Location); - } - - void FindTangentClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { - *Value = SplineComponent->FindTangentClosestToWorldLocation(*Location, CoordinateSpace); - } - - void FindTransformClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value) { - *Value = SplineComponent->FindTransformClosestToWorldLocation(*Location, CoordinateSpace, UseScale); - } - - void RemoveSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, bool UpdateSpline) { - SplineComponent->RemoveSplinePoint(PointIndex, UpdateSpline); - } - - void UpdateSpline(USplineComponent* SplineComponent) { - SplineComponent->UpdateSpline(); - } - } - - namespace RadialForceComponent { - bool GetIgnoreOwningActor(URadialForceComponent* RadialForceComponent) { - return RadialForceComponent->bIgnoreOwningActor; - } - - bool GetImpulseVelocityChange(URadialForceComponent* RadialForceComponent) { - return RadialForceComponent->bImpulseVelChange; - } - - bool GetLinearFalloff(URadialForceComponent* RadialForceComponent) { - return RadialForceComponent->Falloff == ERadialImpulseFalloff::RIF_Linear; - } - - float GetForceStrength(URadialForceComponent* RadialForceComponent) { - return RadialForceComponent->ForceStrength; - } - - float GetImpulseStrength(URadialForceComponent* RadialForceComponent) { - return RadialForceComponent->ImpulseStrength; - } - - float GetRadius(URadialForceComponent* RadialForceComponent) { - return RadialForceComponent->Radius; - } - - void SetIgnoreOwningActor(URadialForceComponent* RadialForceComponent, bool Value) { - RadialForceComponent->bIgnoreOwningActor = Value; - } - - void SetImpulseVelocityChange(URadialForceComponent* RadialForceComponent, bool Value) { - RadialForceComponent->bImpulseVelChange = Value; - } - - void SetLinearFalloff(URadialForceComponent* RadialForceComponent, bool Value) { - RadialForceComponent->Falloff = Value ? ERadialImpulseFalloff::RIF_Linear : ERadialImpulseFalloff::RIF_Constant; - } - - void SetForceStrength(URadialForceComponent* RadialForceComponent, float Value) { - RadialForceComponent->ForceStrength = Value; - } - - void SetImpulseStrength(URadialForceComponent* RadialForceComponent, float Value) { - RadialForceComponent->ImpulseStrength = Value; - } - - void SetRadius(URadialForceComponent* RadialForceComponent, float Value) { - RadialForceComponent->Radius = Value; - } - - void AddCollisionChannelToAffect(URadialForceComponent* RadialForceComponent, CollisionChannel Channel) { - RadialForceComponent->AddCollisionChannelToAffect(Channel); - } - - void FireImpulse(URadialForceComponent* RadialForceComponent) { - RadialForceComponent->FireImpulse(); - } - } - - namespace MaterialInterface { - bool IsTwoSided(UMaterialInterface* MaterialInterface) { - return MaterialInterface->IsTwoSided(); - } - } - - namespace Material { - bool IsDefaultMaterial(UMaterial* Material) { - return Material->IsDefaultMaterial(); - } - } - - namespace MaterialInstance { - bool IsChildOf(UMaterialInstance* MaterialInstance, UMaterialInterface* Material) { - return MaterialInstance->IsChildOf(Material); - } - - UMaterialInstanceDynamic* GetParent(UMaterialInstance* MaterialInstance) { - return UMaterialInstanceDynamic::Create(MaterialInstance->Parent, MaterialInstance); - } - } - - namespace MaterialInstanceDynamic { - void ClearParameterValues(UMaterialInstanceDynamic* MaterialInstanceDynamic) { - MaterialInstanceDynamic->ClearParameterValues(); - } - - void SetTextureParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, UTexture* Value) { - MaterialInstanceDynamic->SetTextureParameterValue(FName(ANSI_TO_TCHAR(ParameterName)), Value); - } - - void SetVectorParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, const LinearColor* Value) { - MaterialInstanceDynamic->SetVectorParameterValue(FName(ANSI_TO_TCHAR(ParameterName)), *Value); - } - - void SetScalarParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, float Value) { - MaterialInstanceDynamic->SetScalarParameterValue(FName(ANSI_TO_TCHAR(ParameterName)), Value); - } - } -} diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRLibrary.cpp b/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRLibrary.cpp deleted file mode 100644 index b2985dfd..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRLibrary.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "UnrealCLRLibrary.h" - -FManagedFunction::FManagedFunction() : Pointer() { } - -UUnrealCLRLibrary::UUnrealCLRLibrary(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { } - -void UUnrealCLRLibrary::ExecuteManagedFunction(FManagedFunction ManagedFunction, UObject* Object = nullptr) { - if (UnrealCLR::Status == UnrealCLR::StatusType::Running && ManagedFunction.Pointer) - UnrealCLR::ManagedCommand(UnrealCLR::Command(ManagedFunction.Pointer, Object)); -} - -FManagedFunction UUnrealCLRLibrary::FindManagedFunction(FString Method, bool Optional, bool& Result) { - FManagedFunction managedFunction; - - if (UnrealCLR::Status == UnrealCLR::StatusType::Running && !Method.IsEmpty()) - managedFunction.Pointer = UnrealCLR::ManagedCommand(UnrealCLR::Command(TCHAR_TO_ANSI(*Method), Optional)); - - Result = managedFunction.Pointer != nullptr; - - return managedFunction; -} - -UUnrealCLRCharacter::UUnrealCLRCharacter(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { } - -void UUnrealCLRCharacter::Landed(const FHitResult& Hit) { - UnrealCLRFramework::Hit hit(Hit); - - void* parameters[1] = { - &hit - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(LandedCallback, UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::CharacterLandedDelegate))); -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRManager.cpp b/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRManager.cpp deleted file mode 100644 index b2000c03..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRManager.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "UnrealCLRManager.h" - -void UUnrealCLRManager::ActorBeginOverlap(AActor* OverlapActor, AActor* OtherActor) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginOverlap]) { - void* parameters[2] = { - OverlapActor, - OtherActor - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorOverlapDelegate))); - } -} - -void UUnrealCLRManager::ActorEndOverlap(AActor* OverlapActor, AActor* OtherActor) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorEndOverlap]) { - void* parameters[2] = { - OverlapActor, - OtherActor - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorEndOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorOverlapDelegate))); - } -} - -void UUnrealCLRManager::ActorHit(AActor* HitActor, AActor* OtherActor, FVector NormalImpulse, const FHitResult& Hit) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorHit]) { - UnrealCLRFramework::Vector3 normalImpulse(NormalImpulse); - UnrealCLRFramework::Hit hit(Hit); - - void* parameters[4] = { - HitActor, - OtherActor, - &normalImpulse, - &hit - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorHit], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorHitDelegate))); - } -} - -void UUnrealCLRManager::ActorBeginCursorOver(AActor* Actor) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver]) { - void* parameters[1] = { - Actor - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorCursorDelegate))); - } -} - -void UUnrealCLRManager::ActorEndCursorOver(AActor* Actor) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorEndCursorOver]) { - void* parameters[1] = { - Actor - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorEndCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorCursorDelegate))); - } -} - -void UUnrealCLRManager::ActorClicked(AActor* Actor, FKey Key) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorClicked]) { - FString key = Key.ToString(); - - void* parameters[2] = { - Actor, - TCHAR_TO_ANSI(*key) - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorClicked], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorKeyDelegate))); - } -} - -void UUnrealCLRManager::ActorReleased(AActor* Actor, FKey Key) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorReleased]) { - FString key = Key.ToString(); - - void* parameters[2] = { - Actor, - TCHAR_TO_ANSI(*key) - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorReleased], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorKeyDelegate))); - } -} - -void UUnrealCLRManager::ComponentBeginOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex, bool FromSweep, const FHitResult& SweepResult) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginOverlap]) { - void* parameters[2] = { - OverlapComponent, - OtherComponent - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentOverlapDelegate))); - } -} - -void UUnrealCLRManager::ComponentEndOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndOverlap]) { - void* parameters[2] = { - OverlapComponent, - OtherComponent - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentOverlapDelegate))); - } -} - -void UUnrealCLRManager::ComponentHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, FVector NormalImpulse, const FHitResult& Hit) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentHit]) { - UnrealCLRFramework::Vector3 normalImpulse(NormalImpulse); - UnrealCLRFramework::Hit hit(Hit); - - void* parameters[4] = { - HitComponent, - OtherComponent, - &normalImpulse, - &hit - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentHit], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentHitDelegate))); - } -} - -void UUnrealCLRManager::ComponentBeginCursorOver(UPrimitiveComponent* Component) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver]) { - void* parameters[1] = { - Component - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentCursorDelegate))); - } -} - -void UUnrealCLRManager::ComponentEndCursorOver(UPrimitiveComponent* Component) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndCursorOver]) { - void* parameters[1] = { - Component - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentCursorDelegate))); - } -} - -void UUnrealCLRManager::ComponentClicked(UPrimitiveComponent* Component, FKey Key) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentClicked]) { - FString key = Key.ToString(); - - void* parameters[2] = { - Component, - TCHAR_TO_ANSI(*key) - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentClicked], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentKeyDelegate))); - } -} - -void UUnrealCLRManager::ComponentReleased(UPrimitiveComponent* Component, FKey Key) { - if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentReleased]) { - FString key = Key.ToString(); - - void* parameters[2] = { - Component, - TCHAR_TO_ANSI(*key) - }; - - UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentReleased], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentKeyDelegate))); - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLR.h b/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLR.h deleted file mode 100644 index a9029ee2..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLR.h +++ /dev/null @@ -1,406 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#pragma once - -// @third party code - BEGIN CoreCLR -#include "../../Dependencies/CoreCLR/includes/coreclr_delegates.h" -#include "../../Dependencies/CoreCLR/includes/hostfxr.h" -// @third party code - END CoreCLR - -#include "AIController.h" -#include "Animation/AnimInstance.h" -#include "AssetRegistryModule.h" -#include "Camera/CameraActor.h" -#include "Camera/CameraComponent.h" -#include "Components/AudioComponent.h" -#include "Components/BoxComponent.h" -#include "Components/CapsuleComponent.h" -#include "Components/DirectionalLightComponent.h" -#include "Components/HierarchicalInstancedStaticMeshComponent.h" -#include "Components/InputComponent.h" -#include "Components/LightComponent.h" -#include "Components/LightComponentBase.h" -#include "Components/PostProcessComponent.h" -#include "Components/ShapeComponent.h" -#include "Components/SphereComponent.h" -#include "Components/SplineComponent.h" -#include "Components/TextRenderComponent.h" -#include "DrawDebugHelpers.h" -#include "Engine/DirectionalLight.h" -#include "Engine/Font.h" -#include "Engine/GameEngine.h" -#include "Engine/LevelScriptActor.h" -#include "Engine/Light.h" -#include "Engine/Player.h" -#include "Engine/PointLight.h" -#include "Engine/PostProcessVolume.h" -#include "Engine/RectLight.h" -#include "Engine/SpotLight.h" -#include "Engine/TriggerBox.h" -#include "Engine/TriggerCapsule.h" -#include "Engine/TriggerSphere.h" -#include "Engine/TriggerVolume.h" -#include "EngineUtils.h" -#include "GameFramework/Actor.h" -#include "GameFramework/Character.h" -#include "GameFramework/GameModeBase.h" -#include "GameFramework/PlayerController.h" -#include "GameFramework/PlayerInput.h" -#include "GameFramework/SpringArmComponent.h" -#include "HeadMountedDisplayFunctionLibrary.h" -#include "IAssetRegistry.h" -#include "ImageUtils.h" -#include "Materials/MaterialInstanceDynamic.h" -#include "Misc/DefaultValueHelper.h" -#include "Misc/OutputDeviceNull.h" -#include "Modules/ModuleManager.h" -#include "MotionControllerComponent.h" -#include "PhysicsEngine/RadialForceComponent.h" -#include "Sound/AmbientSound.h" -#include "UnrealEngine.h" - -#include "UnrealCLRFramework.h" -#include "UnrealCLRLibrary.h" -#include "UnrealCLRManager.h" - -#if WITH_EDITOR - #include "Editor.h" - #include "Framework/Notifications/NotificationManager.h" - #include "Widgets/Notifications/SNotificationList.h" -#endif - -#ifdef _WIN32 - #define UNREALCLR_WINDOWS 1 -#elif defined(__unix__) - #define UNREALCLR_UNIX 2 -#elif defined(__APPLE__) - #define UNREALCLR_MAC 3 -#endif - -#define UNREALCLR_NONE -#define UNREALCLR_BRACKET_LEFT ( -#define UNREALCLR_BRACKET_RIGHT ) - -UNREALCLR_API DECLARE_LOG_CATEGORY_EXTERN(LogUnrealCLR, Log, All); - -namespace UnrealCLR { - enum struct StatusType : int32 { - Stopped, - Idle, - Running - }; - - enum struct TickState : int32 { - Stopped, - Registered, - Started - }; - - enum struct LogLevel : int32 { - Display, - Warning, - Error, - Fatal - }; - - enum struct CallbackType : int32 { - ActorOverlapDelegate, - ActorHitDelegate, - ActorCursorDelegate, - ActorKeyDelegate, - ComponentOverlapDelegate, - ComponentHitDelegate, - ComponentCursorDelegate, - ComponentKeyDelegate, - CharacterLandedDelegate - }; - - enum struct ArgumentType : int32 { - None, - Single, - Integer, - Pointer, - Callback - }; - - enum struct CommandType : int32 { - Initialize = 1, - LoadAssemblies = 2, - UnloadAssemblies = 3, - Find = 4, - Execute = 5 - }; - - enum { - OnWorldBegin, - OnWorldPostBegin, - OnWorldPrePhysicsTick, - OnWorldDuringPhysicsTick, - OnWorldPostPhysicsTick, - OnWorldPostUpdateTick, - OnWorldEnd, - OnActorBeginOverlap, - OnActorEndOverlap, - OnActorHit, - OnActorBeginCursorOver, - OnActorEndCursorOver, - OnActorClicked, - OnActorReleased, - OnComponentBeginOverlap, - OnComponentEndOverlap, - OnComponentHit, - OnComponentBeginCursorOver, - OnComponentEndCursorOver, - OnComponentClicked, - OnComponentReleased - }; - - struct Callback { - void** Parameters; - CallbackType Type; - - FORCEINLINE Callback(void** Parameters, CallbackType Type) { - this->Parameters = Parameters; - this->Type = Type; - } - }; - - struct Argument { - union { - float Single; - uint32_t Integer; - void* Pointer; - Callback Callback; - }; - ArgumentType Type; - - FORCEINLINE Argument(float Value) { - this->Single = Value; - this->Type = ArgumentType::Single; - } - - FORCEINLINE Argument(uint32_t Value) { - this->Integer = Value; - this->Type = ArgumentType::Integer; - } - - FORCEINLINE Argument(void* Value) { - this->Pointer = Value; - this->Type = !Value ? ArgumentType::None : ArgumentType::Pointer; - } - - FORCEINLINE Argument(UnrealCLR::Callback Value) { - this->Callback = Value; - this->Type = ArgumentType::Callback; - } - }; - - struct Command { - union { - struct { - void* Buffer; - int32 Checksum; - }; - struct { - char* Method; - int32 Optional; - }; - struct { - void* Function; - Argument Value; - }; - }; - CommandType Type; - - FORCEINLINE Command(void* const Functions[3], int32 Checksum) { - this->Buffer = (void*)Functions; - this->Checksum = Checksum; - this->Type = CommandType::Initialize; - } - - FORCEINLINE Command(CommandType Type) { - this->Type = Type; - } - - FORCEINLINE Command(const char* Method, bool Optional) { - this->Method = (char*)Method; - this->Optional = Optional; - this->Type = CommandType::Find; - } - - FORCEINLINE Command(void* Function) { - this->Function = Function; - this->Value = nullptr; - this->Type = CommandType::Execute; - } - - FORCEINLINE Command(void* Function, Argument Value) { - this->Function = Function; - this->Value = Value; - this->Type = CommandType::Execute; - } - }; - - static_assert(sizeof(Callback) == 16, "Invalid size of the [Callback] structure"); - static_assert(sizeof(Argument) == 24, "Invalid size of the [Argument] structure"); - static_assert(sizeof(Command) == 40, "Invalid size of the [Command] structure"); - - static void* (*ManagedCommand)(Command); - - static FString ProjectPath; - static FString UserAssembliesPath; - - static StatusType Status = StatusType::Stopped; - static TickState WorldTickState = TickState::Stopped; - - struct PrePhysicsTickFunction : public FTickFunction { - virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; - virtual FString DiagnosticMessage() override; - }; - - struct DuringPhysicsTickFunction : public FTickFunction { - virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; - virtual FString DiagnosticMessage() override; - }; - - struct PostPhysicsTickFunction : public FTickFunction { - virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; - virtual FString DiagnosticMessage() override; - }; - - struct PostUpdateTickFunction : public FTickFunction { - virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; - virtual FString DiagnosticMessage() override; - }; - - class Module : public IModuleInterface { - protected: - - virtual void StartupModule() override; - virtual void ShutdownModule() override; - - private: - - void OnWorldPostInitialization(UWorld* World, const UWorld::InitializationValues InitializationValues); - void OnWorldCleanup(UWorld* World, bool SessionEnded, bool CleanupResources); - - static void RegisterTickFunction(FTickFunction& TickFunction, ETickingGroup TickGroup, AWorldSettings* LevelActor); - static void HostError(const char_t* Message); - static void Exception(const char* Message); - static void Log(UnrealCLR::LogLevel Level, const char* Message); - - FDelegateHandle OnWorldPostInitializationHandle; - FDelegateHandle OnWorldCleanupHandle; - - PrePhysicsTickFunction OnPrePhysicsTickFunction; - DuringPhysicsTickFunction OnDuringPhysicsTickFunction; - PostPhysicsTickFunction OnPostPhysicsTickFunction; - PostUpdateTickFunction OnPostUpdateTickFunction; - - void* HostfxrLibrary; - }; - - namespace Engine { - static UUnrealCLRManager* Manager; - static UWorld* World; - } - - namespace Shared { - constexpr static int32 storageSize = 128; - - // Non-instantiable - - static void* AssertFunctions[storageSize]; - static void* CommandLineFunctions[storageSize]; - static void* DebugFunctions[storageSize]; - static void* ObjectFunctions[storageSize]; - static void* ApplicationFunctions[storageSize]; - static void* ConsoleManagerFunctions[storageSize]; - static void* EngineFunctions[storageSize]; - static void* WorldFunctions[storageSize]; - - // Instantiable - - static void* AssetFunctions[storageSize]; - static void* AssetRegistryFunctions[storageSize]; - static void* BlueprintFunctions[storageSize]; - static void* ConsoleObjectFunctions[storageSize]; - static void* ConsoleVariableFunctions[storageSize]; - static void* ActorFunctions[storageSize]; - static void* GameModeBaseFunctions[storageSize]; - static void* PawnFunctions[storageSize]; - static void* CharacterFunctions[storageSize]; - static void* ControllerFunctions[storageSize]; - static void* AIControllerFunctions[storageSize]; - static void* PlayerControllerFunctions[storageSize]; - static void* VolumeFunctions[storageSize]; - static void* PostProcessVolumeFunctions[storageSize]; - static void* SoundBaseFunctions[storageSize]; - static void* SoundWaveFunctions[storageSize]; - static void* AnimationInstanceFunctions[storageSize]; - static void* PlayerFunctions[storageSize]; - static void* PlayerInputFunctions[storageSize]; - static void* FontFunctions[storageSize]; - static void* Texture2DFunctions[storageSize]; - static void* ActorComponentFunctions[storageSize]; - static void* InputComponentFunctions[storageSize]; - static void* SceneComponentFunctions[storageSize]; - static void* AudioComponentFunctions[storageSize]; - static void* CameraComponentFunctions[storageSize]; - static void* ChildActorComponentFunctions[storageSize]; - static void* SpringArmComponentFunctions[storageSize]; - static void* PostProcessComponentFunctions[storageSize]; - static void* PrimitiveComponentFunctions[storageSize]; - static void* ShapeComponentFunctions[storageSize]; - static void* BoxComponentFunctions[storageSize]; - static void* SphereComponentFunctions[storageSize]; - static void* CapsuleComponentFunctions[storageSize]; - static void* MeshComponentFunctions[storageSize]; - static void* TextRenderComponentFunctions[storageSize]; - static void* LightComponentBaseFunctions[storageSize]; - static void* LightComponentFunctions[storageSize]; - static void* MotionControllerComponentFunctions[storageSize]; - static void* StaticMeshComponentFunctions[storageSize]; - static void* InstancedStaticMeshComponentFunctions[storageSize]; - static void* HierarchicalInstancedStaticMeshComponentFunctions[storageSize]; - static void* SkinnedMeshComponentFunctions[storageSize]; - static void* SkeletalMeshComponentFunctions[storageSize]; - static void* SplineComponentFunctions[storageSize]; - static void* RadialForceComponentFunctions[storageSize]; - static void* MaterialInterfaceFunctions[storageSize]; - static void* MaterialFunctions[storageSize]; - static void* MaterialInstanceFunctions[storageSize]; - static void* MaterialInstanceDynamicFunctions[storageSize]; - static void* HeadMountedDisplayFunctions[storageSize]; - - static void* RuntimeFunctions[2]; - static void* Events[128]; - static void* Functions[128]; - } - - namespace Utility { - FORCEINLINE static size_t Strcpy(char* Destination, const char* Source, size_t Length); - FORCEINLINE static size_t Strlen(const char* Source); - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRFramework.h b/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRFramework.h deleted file mode 100644 index 8d3ca065..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRFramework.h +++ /dev/null @@ -1,1216 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#pragma once - -UNREALCLR_API DECLARE_LOG_CATEGORY_EXTERN(LogUnrealManaged, Log, All); - -namespace UnrealCLRFramework { - using AnimationMode = EAnimationMode::Type; - using AutoReceiveInput = EAutoReceiveInput::Type; - using CameraProjectionMode = ECameraProjectionMode::Type; - using CollisionMode = ECollisionEnabled::Type; - using CollisionShapeType = ECollisionShape::Type; - using ComponentMobility = EComponentMobility::Type; - using SplineCoordinateSpace = ESplineCoordinateSpace::Type; - using SplinePointType = ESplinePointType::Type; - using WindowMode = EWindowMode::Type; - - using AudioFadeCurve = EAudioFaderCurve; - using AutoPossessAI = EAutoPossessAI; - using BlendType = EViewTargetBlendFunction; - using CollisionChannel = ECollisionChannel; - using CollisionResponse = ECollisionResponse; - using ControllerHand = EControllerHand; - using HorizontalTextAligment = EHorizTextAligment; - using InputEvent = EInputEvent; - using NetMode = ENetMode; - using PixelFormat = EPixelFormat; - using TeleportType = ETeleportType; - using VerticalTextAligment = EVerticalTextAligment; - - using Bounds = FBoxSphereBounds; - using CollisionShape = FCollisionShape; - - enum struct LogLevel : int32 { - Display, - Warning, - Error, - Fatal - }; - - enum struct AttachmentTransformRule : int32 { - KeepRelativeTransform, - KeepWorldTransform, - SnapToTargetIncludingScale, - SnapToTargetNotIncludingScale - }; - - enum struct DetachmentTransformRule : int32 { - KeepRelativeTransform, - KeepWorldTransform - }; - - enum struct UpdateTransformFlags : int32 { - None = 0, - SkipPhysicsUpdate = 1 << 0, - PropagateFromParent = 1 << 1, - OnlyUpdateIfUsingSocket = 1 << 2 - }; - - enum struct AIFocusPriority : int32 { - Default = 0, - Move = 1, - Gameplay = 2 - }; - - enum struct ActorEventType : int32 { - OnActorBeginOverlap, - OnActorEndOverlap, - OnActorHit, - OnActorBeginCursorOver, - OnActorEndCursorOver, - OnActorClicked, - OnActorReleased - }; - - enum struct ComponentEventType : int32 { - OnComponentBeginOverlap, - OnComponentEndOverlap, - OnComponentHit, - OnComponentBeginCursorOver, - OnComponentEndCursorOver, - OnComponentClicked, - OnComponentReleased - }; - - struct Color { - uint8 B; - uint8 G; - uint8 R; - uint8 A; - - FORCEINLINE Color(FColor Value) { - this->R = Value.R; - this->G = Value.G; - this->B = Value.B; - this->A = Value.A; - } - - FORCEINLINE operator FColor() const { return FColor(R, G, B, A); } - }; - - struct Vector2 { - float X; - float Y; - - FORCEINLINE Vector2(FVector2D Value) { - this->X = Value.X; - this->Y = Value.Y; - } - - FORCEINLINE operator FVector2D() const { return FVector2D(X, Y); } - }; - - struct Vector3 { - float X; - float Y; - float Z; - - FORCEINLINE Vector3(FVector Value) { - this->X = Value.X; - this->Y = Value.Y; - this->Z = Value.Z; - } - - FORCEINLINE operator FVector() const { return FVector(X, Y, Z); } - }; - - struct Quaternion { - float X; - float Y; - float Z; - float W; - - FORCEINLINE Quaternion(FQuat Value) { - this->X = Value.X; - this->Y = Value.Y; - this->Z = Value.Z; - this->W = Value.W; - } - - FORCEINLINE operator FQuat() const { return FQuat(X, Y, Z, W); } - }; - - struct Transform { - Vector3 Location; - Quaternion Rotation; - Vector3 Scale; - - FORCEINLINE Transform(const FTransform& Value) : - Location(Value.GetTranslation()), - Rotation(Value.GetRotation()), - Scale(Value.GetScale3D()) { } - - FORCEINLINE operator FTransform() const { return FTransform(Rotation, Location, Scale); } - }; - - struct LinearColor { - float R; - float G; - float B; - float A; - - FORCEINLINE LinearColor(FLinearColor Value) { - this->R = Value.R; - this->G = Value.G; - this->B = Value.B; - this->A = Value.A; - } - - FORCEINLINE operator FLinearColor() const { return FLinearColor(R, G, B, A); } - }; - - struct Hit { - Vector3 Location; - Vector3 ImpactLocation; - Vector3 Normal; - Vector3 ImpactNormal; - Vector3 TraceStart; - Vector3 TraceEnd; - AActor* Actor; - float Time; - float Distance; - float PenetrationDepth; - bool BlockingHit; - bool StartPenetrating; - - FORCEINLINE Hit(const FHitResult& Value) : - Location(FVector(Value.Location.X, Value.Location.Y, Value.Location.Z)), - ImpactLocation(FVector(Value.ImpactPoint.X, Value.ImpactPoint.Y, Value.ImpactPoint.Z)), - Normal(FVector(Value.Normal.X, Value.Normal.Y, Value.Normal.Z)), - ImpactNormal(FVector(Value.ImpactNormal.X, Value.ImpactNormal.Y, Value.ImpactNormal.Z)), - TraceStart(FVector(Value.TraceStart.X, Value.TraceStart.Y, Value.TraceStart.Z)), - TraceEnd(FVector(Value.TraceEnd.X, Value.TraceEnd.Y, Value.TraceEnd.Z)), - Actor(Value.GetActor()), - Time(Value.Time), - Distance(Value.Distance), - PenetrationDepth(Value.PenetrationDepth), - BlockingHit(Value.bBlockingHit), - StartPenetrating(Value.bStartPenetrating) { } - }; - - typedef void (*InputDelegate)(); - - typedef void (*InputAxisDelegate)(float); - - typedef void (*ConsoleVariableDelegate)(); - - typedef void (*ConsoleCommandDelegate)(float); - - typedef void (*ActorOverlapDelegate)(AActor*, AActor*); - - typedef void (*ActorHitDelegate)(AActor* HitActor, AActor* OtherActor, const Vector3* NormalImpulse, const Hit* Hit); - - typedef void (*ActorCursorDelegate)(AActor* Actor); - - typedef void (*ActorKeyDelegate)(AActor* Actor, const char* Key); - - typedef void (*ComponentOverlapDelegate)(UPrimitiveComponent*, UPrimitiveComponent*); - - typedef void (*ComponentHitDelegate)(UPrimitiveComponent* HitComponent, UPrimitiveComponent* OtherComponent, const Vector3* NormalImpulse, const Hit* Hit); - - typedef void (*ComponentCursorDelegate)(UPrimitiveComponent* Component); - - typedef void (*ComponentKeyDelegate)(UPrimitiveComponent* Component, const char* Key); - - typedef void (*CharacterLandedDelegate)(const Hit* Hit); - - // Enumerable - - enum struct ObjectType : int32 { - Blueprint, - SoundWave, - AnimationSequence, - AnimationMontage, - StaticMesh, - SkeletalMesh, - Material, - Font, - Texture2D - }; - - enum struct ActorType : int32 { - Base, - Camera, - TriggerBox, - TriggerSphere, - TriggerCapsule, - Pawn, - Character, - AIController, - PlayerController, - Brush, - AmbientSound, - DirectionalLight, - PointLight, - RectLight, - SpotLight, - TriggerVolume, - PostProcessVolume, - LevelScript, - GameModeBase - }; - - enum struct ComponentType : int32 { - // Non-attachable - Actor, - Input, - // Attachable - Scene, - Audio, - Camera, - Light, - DirectionalLight, - MotionController, - StaticMesh, - InstancedStaticMesh, - HierarchicalInstancedStaticMesh, - ChildActor, - SpringArm, - PostProcess, - Box, - Sphere, - Capsule, - TextRender, - SkeletalMesh, - Spline, - RadialForce - }; - - // Non-instantiable - - namespace Assert { - static void OutputMessage(const uint8* Message); - } - - namespace CommandLine { - static void Get(char* Arguments); - static void Set(const char* Arguments); - static void Append(const char* Arguments); - } - - namespace Debug { - static void Log(LogLevel Level, const uint8* Message); - static void Exception(const uint8* Exception); - static void AddOnScreenMessage(int32 Key, float TimeToDisplay, Color DisplayColor, const uint8* Message); - static void ClearOnScreenMessages(); - static void DrawBox(const Vector3* Center, const Vector3* Extent, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); - static void DrawCapsule(const Vector3* Center, float HalfHeight, float Radius, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); - static void DrawCone(const Vector3* Origin, const Vector3* Direction, float Length, float AngleWidth, float AngleHeight, int32 Sides, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); - static void DrawCylinder(const Vector3* Start, const Vector3* End, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); - static void DrawSphere(const Vector3* Center, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); - static void DrawLine(const Vector3* Start, const Vector3* End, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); - static void DrawPoint(const Vector3* Location, float Size, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority); - static void FlushPersistentLines(); - } - - namespace Object { - static bool IsPendingKill(UObject* Object); - static bool IsValid(UObject* Object); - static UObject* Load(ObjectType Type, const char* Name); - static void Rename(UObject* Object, const char* Name); - static bool Invoke(UObject* Object, const uint8* Command); - static AActor* ToActor(UObject* Object, ActorType Type); - static UActorComponent* ToComponent(UObject* Object, ComponentType Type); - static uint32 GetID(UObject* Object); - static void GetName(UObject* Object, char* Name); - static bool GetBool(UObject* Object, const char* Name, bool* value); - static bool GetByte(UObject* Object, const char* Name, uint8* Value); - static bool GetShort(UObject* Object, const char* Name, int16* Value); - static bool GetInt(UObject* Object, const char* Name, int32* Value); - static bool GetLong(UObject* Object, const char* Name, int64* Value); - static bool GetUShort(UObject* Object, const char* Name, uint16* Value); - static bool GetUInt(UObject* Object, const char* Name, uint32* Value); - static bool GetULong(UObject* Object, const char* Name, uint64* Value); - static bool GetFloat(UObject* Object, const char* Name, float* Value); - static bool GetDouble(UObject* Object, const char* Name, double* Value); - static bool GetEnum(UObject* Object, const char* Name, int32* Value); - static bool GetString(UObject* Object, const char* Name, char* Value); - static bool GetText(UObject* Object, const char* Name, char* Value); - static bool SetBool(UObject* Object, const char* Name, bool value); - static bool SetByte(UObject* Object, const char* Name, uint8 Value); - static bool SetShort(UObject* Object, const char* Name, int16 Value); - static bool SetInt(UObject* Object, const char* Name, int32 Value); - static bool SetLong(UObject* Object, const char* Name, int64 Value); - static bool SetUShort(UObject* Object, const char* Name, uint16 Value); - static bool SetUInt(UObject* Object, const char* Name, uint32 Value); - static bool SetULong(UObject* Object, const char* Name, uint64 Value); - static bool SetFloat(UObject* Object, const char* Name, float Value); - static bool SetDouble(UObject* Object, const char* Name, double Value); - static bool SetEnum(UObject* Object, const char* Name, int32 Value); - static bool SetString(UObject* Object, const char* Name, const char* Value); - static bool SetText(UObject* Object, const char* Name, const char* Value); - } - - namespace Application { - static bool IsCanEverRender(); - static bool IsPackagedForDistribution(); - static bool IsPackagedForShipping(); - static void GetProjectDirectory(char* Directory); - static void GetDefaultLanguage(char* Language); - static void GetProjectName(char* ProjectName); - static float GetVolumeMultiplier(); - static void SetProjectName(const char* ProjectName); - static void SetVolumeMultiplier(float Value); - static void RequestExit(bool Force); - } - - namespace ConsoleManager { - static bool IsRegisteredVariable(const char* Name); - static IConsoleVariable* FindVariable(const char* Name); - static IConsoleVariable* RegisterVariableBool(const char* Name, const char* Help, bool DefaultValue, bool ReadOnly); - static IConsoleVariable* RegisterVariableInt(const char* Name, const char* Help, int32 DefaultValue, bool ReadOnly); - static IConsoleVariable* RegisterVariableFloat(const char* Name, const char* Help, float DefaultValue, bool ReadOnly); - static IConsoleVariable* RegisterVariableString(const char* Name, const char* Help, const char* DefaultValue, bool ReadOnly); - static void RegisterCommand(const char* Name, const char* Help, ConsoleCommandDelegate Callback, bool ReadOnly); - static void UnregisterObject(const char* Name); - } - - namespace Engine { - static bool IsSplitScreen(); - static bool IsEditor(); - static bool IsForegroundWindow(); - static bool IsExitRequested(); - static NetMode GetNetMode(); - static uint32 GetFrameNumber(); - static void GetViewportSize(Vector2* Value); - static void GetScreenResolution(Vector2* Value); - static WindowMode GetWindowMode(); - static void GetVersion(char* Version); - static float GetMaxFPS(); - static void SetMaxFPS(float MaxFPS); - static void SetTitle(const char* Title); - static void AddActionMapping(const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd); - static void AddAxisMapping(const char* AxisName, const char* Key, float Scale); - static void ForceGarbageCollection(bool FullPurge); - static void DelayGarbageCollection(); - } - - namespace HeadMountedDisplay { - static bool IsConnected(); - static bool GetEnabled(); - static bool GetLowPersistenceMode(); - static void GetDeviceName(char* Name); - static void SetEnable(bool Value); - static void SetLowPersistenceMode(bool Value); - } - - namespace World { - static void ForEachActor(AActor** Array, int32* Elements); - static int32 GetActorCount(); - static float GetDeltaSeconds(); - static float GetRealTimeSeconds(); - static float GetTimeSeconds(); - static void GetCurrentLevelName(char* LevelName); - static bool GetSimulatePhysics(); - static void GetWorldOrigin(Vector3* Value); - static AActor* GetActor(const char* Name, ActorType Type); - static AActor* GetActorByTag(const char* Tag, ActorType Type); - static AActor* GetActorByID(uint32 ID, ActorType Type); - static APlayerController* GetFirstPlayerController(); - static AGameModeBase* GetGameMode(); - static void SetOnActorBeginOverlapCallback(ActorOverlapDelegate Callback); - static void SetOnActorEndOverlapCallback(ActorOverlapDelegate Callback); - static void SetOnActorHitCallback(ActorHitDelegate Callback); - static void SetOnActorBeginCursorOverCallback(ActorCursorDelegate Callback); - static void SetOnActorEndCursorOverCallback(ActorCursorDelegate Callback); - static void SetOnActorClickedCallback(ActorKeyDelegate Callback); - static void SetOnActorReleasedCallback(ActorKeyDelegate Callback); - static void SetOnComponentBeginOverlapCallback(ComponentOverlapDelegate Callback); - static void SetOnComponentEndOverlapCallback(ComponentOverlapDelegate Callback); - static void SetOnComponentHitCallback(ComponentHitDelegate Callback); - static void SetOnComponentBeginCursorOverCallback(ComponentCursorDelegate Callback); - static void SetOnComponentEndCursorOverCallback(ComponentCursorDelegate Callback); - static void SetOnComponentClickedCallback(ComponentKeyDelegate Callback); - static void SetOnComponentReleasedCallback(ComponentKeyDelegate Callback); - static void SetSimulatePhysics(bool Value); - static void SetGravity(float Value); - static bool SetWorldOrigin(const Vector3* Value); - static void OpenLevel(const char* LevelName); - static bool LineTraceTestByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool LineTraceTestByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool LineTraceSingleByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool LineTraceSingleByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool SweepTestByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool SweepTestByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool SweepSingleByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool SweepSingleByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool OverlapAnyTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool OverlapAnyTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool OverlapBlockingTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - static bool OverlapBlockingTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); - } - - // Instantiable - - namespace Asset { - static bool IsValid(FAssetData* Asset); - static void GetName(FAssetData* Asset, char* Name); - static void GetPath(FAssetData* Asset, char* Path); - } - - namespace AssetRegistry { - static IAssetRegistry* Get(); - static bool HasAssets(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive); - static void ForEachAsset(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive, bool IncludeOnlyOnDiskAssets, FAssetData** Array, int32* Elements); - } - - namespace Blueprint { - static bool IsValidActorClass(UBlueprint* Blueprint, ActorType Type); - static bool IsValidComponentClass(UBlueprint* Blueprint, ComponentType Type); - } - - namespace ConsoleObject { - static bool IsBool(IConsoleObject* ConsoleObject); - static bool IsInt(IConsoleObject* ConsoleObject); - static bool IsFloat(IConsoleObject* ConsoleObject); - static bool IsString(IConsoleObject* ConsoleObject); - } - - namespace ConsoleVariable { - static bool GetBool(IConsoleVariable* ConsoleVariable); - static int32 GetInt(IConsoleVariable* ConsoleVariable); - static float GetFloat(IConsoleVariable* ConsoleVariable); - static void GetString(IConsoleVariable* ConsoleVariable, char* Value); - static void SetBool(IConsoleVariable* ConsoleVariable, bool Value); - static void SetInt(IConsoleVariable* ConsoleVariable, int32 Value); - static void SetFloat(IConsoleVariable* ConsoleVariable, float Value); - static void SetString(IConsoleVariable* ConsoleVariable, const char* Value); - static void SetOnChangedCallback(IConsoleVariable* ConsoleVariable, ConsoleVariableDelegate Callback); - static void ClearOnChangedCallback(IConsoleVariable* ConsoleVariable); - } - - namespace Actor { - static bool IsPendingKill(AActor* Actor); - static bool IsRootComponentMovable(AActor* Actor); - static bool IsOverlappingActor(AActor* Actor, AActor* Other); - static void ForEachComponent(AActor* Actor, UActorComponent** Array, int32* Elements); - static void ForEachAttachedActor(AActor* Actor, AActor** Array, int32* Elements); - static void ForEachChildActor(AActor* Actor, AActor** Array, int32* Elements); - static void ForEachOverlappingActor(AActor* Actor, AActor** Array, int32* Elements); - static AActor* Spawn(const char* Name, ActorType Type, UObject* Blueprint); - static bool Destroy(AActor* Actor); - static void Rename(AActor* Actor, const char* Name); - static void Hide(AActor* Actor, bool Value); - static bool TeleportTo(AActor* Actor, const Vector3* DestinationLocation, const Quaternion* DestinationRotation, bool IsATest, bool NoCheck); - static UActorComponent* GetComponent(AActor* Actor, const char* Name, ComponentType Type); - static UActorComponent* GetComponentByTag(AActor* Actor, const char* Tag, ComponentType Type); - static UActorComponent* GetComponentByID(AActor* Actor, uint32 ID, ComponentType Type); - static USceneComponent* GetRootComponent(AActor* Actor, ComponentType Type); - static UInputComponent* GetInputComponent(AActor* Actor); - static float GetCreationTime(AActor* Actor); - static bool GetBlockInput(AActor* Actor); - static float GetDistanceTo(AActor* Actor, AActor* Other); - static float GetHorizontalDistanceTo(AActor* Actor, AActor* Other); - static void GetBounds(AActor* Actor, bool OnlyCollidingComponents, Vector3* Origin, Vector3* Extent); - static void GetEyesViewPoint(AActor* Actor, Vector3* Location, Quaternion* Rotation); - static bool SetRootComponent(AActor* Actor, USceneComponent* RootComponent); - static void SetInputComponent(AActor* Actor, UInputComponent* InputComponent); - static void SetBlockInput(AActor* Actor, bool Value); - static void SetLifeSpan(AActor* Actor, float LifeSpan); - static void SetEnableInput(AActor* Actor, APlayerController* PlayerController, bool Value); - static void SetEnableCollision(AActor* Actor, bool Value); - static void AddTag(AActor* Actor, const char* Tag); - static void RemoveTag(AActor* Actor, const char* Tag); - static bool HasTag(AActor* Actor, const char* Tag); - static void RegisterEvent(AActor* Actor, ActorEventType Type); - static void UnregisterEvent(AActor* Actor, ActorEventType Type); - } - - namespace GameModeBase { - static bool GetUseSeamlessTravel(AGameModeBase* GameModeBase); - static void SetUseSeamlessTravel(AGameModeBase* GameModeBase, bool Value); - static void SwapPlayerControllers(AGameModeBase* GameModeBase, APlayerController* PlayerController, APlayerController* NewPlayerController); - } - - namespace TriggerBase { } - - namespace TriggerBox { } - - namespace TriggerCapsule { } - - namespace TriggerSphere { } - - namespace Pawn { - static bool IsControlled(APawn* Pawn); - static bool IsPlayerControlled(APawn* Pawn); - static AutoPossessAI GetAutoPossessAI(APawn* Pawn); - static AutoReceiveInput GetAutoPossessPlayer(APawn* Pawn); - static bool GetUseControllerRotationYaw(APawn* Pawn); - static bool GetUseControllerRotationPitch(APawn* Pawn); - static bool GetUseControllerRotationRoll(APawn* Pawn); - static void GetGravityDirection(APawn* Pawn, Vector3* Value); - static AAIController* GetAIController(APawn* Pawn); - static APlayerController* GetPlayerController(APawn* Pawn); - static void SetAutoPossessAI(APawn* Pawn, AutoPossessAI Value); - static void SetAutoPossessPlayer(APawn* Pawn, AutoReceiveInput Value); - static void SetUseControllerRotationYaw(APawn* Pawn, bool Value); - static void SetUseControllerRotationPitch(APawn* Pawn, bool Value); - static void SetUseControllerRotationRoll(APawn* Pawn, bool Value); - static void AddControllerYawInput(APawn* Pawn, float Value); - static void AddControllerPitchInput(APawn* Pawn, float Value); - static void AddControllerRollInput(APawn* Pawn, float Value); - static void AddMovementInput(APawn* Pawn, const Vector3* WorldDirection, float ScaleValue, bool Force); - } - - namespace Character { - static bool IsCrouched(ACharacter* Character); - static bool CanCrouch(ACharacter* Character); - static bool CanJump(ACharacter* Character); - static void CheckJumpInput(ACharacter* Character, float DeltaTime); - static void ClearJumpInput(ACharacter* Character, float DeltaTime); - static void Launch(ACharacter* Character, const Vector3* Velocity, bool OverrideXY, bool OverrideZ); - static void Crouch(ACharacter* Character); - static void StopCrouching(ACharacter* Character); - static void Jump(ACharacter* Character); - static void StopJumping(ACharacter* Character); - static void SetOnLandedCallback(ACharacter* Character, CharacterLandedDelegate Callback); - } - - namespace Controller { - static bool IsLookInputIgnored(AController* Controller); - static bool IsMoveInputIgnored(AController* Controller); - static bool IsPlayerController(AController* Controller); - static APawn* GetPawn(AController* Controller); - static ACharacter* GetCharacter(AController* Controller); - static AActor* GetViewTarget(AController* Controller); - static void GetControlRotation(AController* Controller, Quaternion* Value); - static void GetDesiredRotation(AController* Controller, Quaternion* Value); - static bool LineOfSightTo(AController* Controller, AActor* Actor, const Vector3* ViewPoint, bool AlternateChecks); - static void SetControlRotation(AController* Controller, const Quaternion* Value); - static void SetInitialLocationAndRotation(AController* Controller, const Vector3* NewLocation, const Quaternion* NewRotation); - static void SetIgnoreLookInput(AController* Controller, bool Value); - static void SetIgnoreMoveInput(AController* Controller, bool Value); - static void ResetIgnoreLookInput(AController* Controller); - static void ResetIgnoreMoveInput(AController* Controller); - static void Possess(AController* Controller, APawn* Pawn); - static void Unpossess(AController* Controller); - } - - namespace AIController { - static void ClearFocus(AAIController* AIController, AIFocusPriority Priority); - static void GetFocalPoint(AAIController* AIController, Vector3* Value); - static void SetFocalPoint(AAIController* AIController, const Vector3* NewFocus, AIFocusPriority Priority); - static AActor* GetFocusActor(AAIController* AIController); - static bool GetAllowStrafe(AAIController* AIController); - static void SetAllowStrafe(AAIController* AIController, bool Value); - static void SetFocus(AAIController* AIController, AActor* NewFocus, AIFocusPriority Priority); - } - - namespace PlayerController { - static bool IsPaused(APlayerController* PlayerController); - static bool GetShowMouseCursor(APlayerController* PlayerController); - static bool GetEnableClickEvents(APlayerController* PlayerController); - static bool GetEnableMouseOverEvents(APlayerController* PlayerController); - static bool GetMousePosition(APlayerController* PlayerController, float* X, float* Y); - static UPlayer* GetPlayer(APlayerController* PlayerController); - static UPlayerInput* GetPlayerInput(APlayerController* PlayerController); - static bool GetHitResultAtScreenPosition(APlayerController* PlayerController, const Vector2* ScreenPosition, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex); - static bool GetHitResultUnderCursor(APlayerController* PlayerController, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex); - static void SetShowMouseCursor(APlayerController* PlayerController, bool Value); - static void SetEnableClickEvents(APlayerController* PlayerController, bool Value); - static void SetEnableMouseOverEvents(APlayerController* PlayerController, bool Value); - static void SetMousePosition(APlayerController* PlayerController, float X, float Y); - static void ConsoleCommand(APlayerController* PlayerController, const char* Command, bool WriteToLog); - static bool SetPause(APlayerController* PlayerController, bool Value); - static void SetViewTarget(APlayerController* PlayerController, AActor* NewViewTarget); - static void SetViewTargetWithBlend(APlayerController* PlayerController, AActor* NewViewTarget, float Time, float Exponent, BlendType Type, bool LockOutgoing); - static void AddYawInput(APlayerController* PlayerController, float Value); - static void AddPitchInput(APlayerController* PlayerController, float Value); - static void AddRollInput(APlayerController* PlayerController, float Value); - } - - namespace Volume { - static bool EncompassesPoint(AVolume* Volume, const Vector3* Point, float SphereRadius, float* OutDistanceToPoint); - } - - namespace TriggerVolume { } - - namespace PostProcessVolume { - static bool GetEnabled(APostProcessVolume* PostProcessVolume); - static float GetBlendRadius(APostProcessVolume* PostProcessVolume); - static float GetBlendWeight(APostProcessVolume* PostProcessVolume); - static bool GetUnbound(APostProcessVolume* PostProcessVolume); - static float GetPriority(APostProcessVolume* PostProcessVolume); - static void SetEnabled(APostProcessVolume* PostProcessVolume, bool Value); - static void SetBlendRadius(APostProcessVolume* PostProcessVolume, float Value); - static void SetBlendWeight(APostProcessVolume* PostProcessVolume, float Value); - static void SetUnbound(APostProcessVolume* PostProcessVolume, bool Value); - static void SetPriority(APostProcessVolume* PostProcessVolume, float Priority); - } - - namespace LevelScript { } - - namespace AmbientSound { } - - namespace Light { } - - namespace DirectionalLight { } - - namespace PointLight { } - - namespace RectLight { } - - namespace SpotLight { } - - namespace SoundBase { - static float GetDuration(USoundBase* SoundBase); - } - - namespace SoundWave { - static bool GetLoop(USoundWave* SoundWave); - static void SetLoop(USoundWave* SoundWave, bool Value); - } - - namespace AnimationAsset { - - } - - namespace AnimationSequenceBase { - - } - - namespace AnimationSequence { - - } - - namespace AnimationCompositeBase { - - } - - namespace AnimationMontage { - - } - - namespace AnimationInstance { - static UAnimMontage* GetCurrentActiveMontage(UAnimInstance* AnimationInstance); - static bool IsPlaying(UAnimInstance* AnimationInstance, UAnimMontage* Montage); - static float GetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage); - static float GetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage); - static float GetBlendTime(UAnimInstance* AnimationInstance, UAnimMontage* Montage); - static void GetCurrentSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, char* SectionName); - static void SetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Value); - static void SetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Position); - static void SetNextSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionToChange, const char* NextSection); - static float PlayMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float PlayRate, float TimeToStartMontageAt, bool StopAllMontages); - static void PauseMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage); - static void ResumeMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage); - static void StopMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float BlendOutTime); - static void JumpToSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName); - static void JumpToSectionsEnd(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName); - } - - namespace Player { - static APlayerController* GetPlayerController(UPlayer* Player); - } - - namespace PlayerInput { - static bool IsKeyPressed(UPlayerInput* PlayerInput, const char* Key); - static float GetTimeKeyPressed(UPlayerInput* PlayerInput, const char* Key); - static void GetMouseSensitivity(UPlayerInput* PlayerInput, Vector2* Value); - static void SetMouseSensitivity(UPlayerInput* PlayerInput, const Vector2* Value); - static void AddActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd); - static void AddAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key, float Scale); - static void RemoveActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key); - static void RemoveAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key); - } - - namespace Font { - static void GetStringSize(UFont* Font, const char* Text, int32* Height, int32* Width); - } - - namespace StreamableRenderAsset { - - } - - namespace StaticMesh { - - } - - namespace SkeletalMesh { - - } - - namespace Texture { - - } - - namespace Texture2D { - static UTexture2D* CreateFromFile(const char* FilePath); - static UTexture2D* CreateFromBuffer(const uint8* Buffer, int32 Length); - static bool HasAlphaChannel(UTexture2D* Texture2D); - static void GetSize(UTexture2D* Texture2D, Vector2* Value); - static PixelFormat GetPixelFormat(UTexture2D* Texture2D); - } - - namespace ActorComponent { - static bool IsOwnerSelected(UActorComponent* ActorComponent); - static AActor* GetOwner(UActorComponent* ActorComponent, ActorType Type); - static void Destroy(UActorComponent* ActorComponent, bool PromoteChild); - static void AddTag(UActorComponent* ActorComponent, const char* Tag); - static void RemoveTag(UActorComponent* ActorComponent, const char* Tag); - static bool HasTag(UActorComponent* ActorComponent, const char* Tag); - } - - namespace InputComponent { - static bool HasBindings(UInputComponent* InputComponent); - static int32 GetActionBindingsNumber(UInputComponent* InputComponent); - static void ClearActionBindings(UInputComponent* InputComponent); - static void BindAction(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent, bool ExecutedWhenPaused, InputDelegate Callback); - static void BindAxis(UInputComponent* InputComponent, const char* AxisName, bool ExecutedWhenPaused, InputAxisDelegate Callback); - static void RemoveActionBinding(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent); - static bool GetBlockInput(UInputComponent* InputComponent); - static void SetBlockInput(UInputComponent* InputComponent, bool Value); - static int32 GetPriority(UInputComponent* InputComponent); - static void SetPriority(UInputComponent* InputComponent, int32 Value); - } - - namespace SceneComponent { - static bool IsAttachedToComponent(USceneComponent* SceneComponent, USceneComponent* Component); - static bool IsAttachedToActor(USceneComponent* SceneComponent, AActor* Actor); - static bool IsVisible(USceneComponent* SceneComponent); - static bool IsSocketExists(USceneComponent* SceneComponent, const char* SocketName); - static bool HasAnySockets(USceneComponent* SceneComponent); - static bool CanAttachAsChild(USceneComponent* SceneComponent, USceneComponent* ChildComponent, const char* SocketName); - static void ForEachAttachedChild(USceneComponent* SceneComponent, USceneComponent** Array, int32* Elements); - static USceneComponent* Create(AActor* Actor, ComponentType Type, const char* Name, bool SetAsRoot, UObject* Blueprint); - static bool AttachToComponent(USceneComponent* SceneComponent, USceneComponent* Parent, AttachmentTransformRule AttachmentRule, const char* SocketName); - static void DetachFromComponent(USceneComponent* SceneComponent, DetachmentTransformRule DetachmentRule); - static void Activate(USceneComponent* SceneComponent); - static void Deactivate(USceneComponent* SceneComponent); - static void UpdateToWorld(USceneComponent* SceneComponent, TeleportType Type, UpdateTransformFlags Flags); - static void AddLocalOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation); - static void AddLocalRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation); - static void AddRelativeLocation(USceneComponent* SceneComponent, const Vector3* DeltaLocation); - static void AddRelativeRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation); - static void AddLocalTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform); - static void AddWorldOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation); - static void AddWorldRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation); - static void AddWorldTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform); - static void GetAttachedSocketName(USceneComponent* SceneComponent, char* SocketName); - static void GetBounds(USceneComponent* SceneComponent, const Transform* LocalToWorld, Bounds* Value); - static void GetSocketLocation(USceneComponent* SceneComponent, const char* SocketName, Vector3* Value); - static void GetSocketRotation(USceneComponent* SceneComponent, const char* SocketName, Quaternion* Value); - static void GetComponentVelocity(USceneComponent* SceneComponent, Vector3* Value); - static void GetComponentLocation(USceneComponent* SceneComponent, Vector3* Value); - static void GetComponentRotation(USceneComponent* SceneComponent, Quaternion* Value); - static void GetComponentScale(USceneComponent* SceneComponent, Vector3* Value); - static void GetComponentTransform(USceneComponent* SceneComponent, Transform* Value); - static void GetForwardVector(USceneComponent* SceneComponent, Vector3* Value); - static void GetRightVector(USceneComponent* SceneComponent, Vector3* Value); - static void GetUpVector(USceneComponent* SceneComponent, Vector3* Value); - static void SetMobility(USceneComponent* SceneComponent, ComponentMobility Mobility); - static void SetVisibility(USceneComponent* SceneComponent, bool NewVisibility, bool PropagateToChildren); - static void SetRelativeLocation(USceneComponent* SceneComponent, const Vector3* Location); - static void SetRelativeRotation(USceneComponent* SceneComponent, const Quaternion* Rotation); - static void SetRelativeTransform(USceneComponent* SceneComponent, const Transform* Transform); - static void SetWorldLocation(USceneComponent* SceneComponent, const Vector3* Location); - static void SetWorldRotation(USceneComponent* SceneComponent, const Quaternion* Rotation); - static void SetWorldScale(USceneComponent* SceneComponent, const Vector3* Scale); - static void SetWorldTransform(USceneComponent* SceneComponent, const Transform* Transform); - } - - namespace AudioComponent { - static bool IsPlaying(UAudioComponent* AudioComponent); - static bool GetPaused(UAudioComponent* AudioComponent); - static void SetSound(UAudioComponent* AudioComponent, USoundBase* Sound); - static void SetPaused(UAudioComponent* AudioComponent, bool Value); - static void Play(UAudioComponent* AudioComponent); - static void Stop(UAudioComponent* AudioComponent); - static void FadeIn(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, float StartTime, AudioFadeCurve FadeCurve); - static void FadeOut(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, AudioFadeCurve FadeCurve); - } - - namespace CameraComponent { - static bool GetConstrainAspectRatio(UCameraComponent* CameraComponent); - static float GetAspectRatio(UCameraComponent* CameraComponent); - static float GetFieldOfView(UCameraComponent* CameraComponent); - static float GetOrthoFarClipPlane(UCameraComponent* CameraComponent); - static float GetOrthoNearClipPlane(UCameraComponent* CameraComponent); - static float GetOrthoWidth(UCameraComponent* CameraComponent); - static bool GetLockToHeadMountedDisplay(UCameraComponent* CameraComponent); - static void SetProjectionMode(UCameraComponent* CameraComponent, CameraProjectionMode Mode); - static void SetConstrainAspectRatio(UCameraComponent* CameraComponent, bool Value); - static void SetAspectRatio(UCameraComponent* CameraComponent, float Value); - static void SetFieldOfView(UCameraComponent* CameraComponent, float Value); - static void SetOrthoFarClipPlane(UCameraComponent* CameraComponent, float Value); - static void SetOrthoNearClipPlane(UCameraComponent* CameraComponent, float Value); - static void SetOrthoWidth(UCameraComponent* CameraComponent, float Value); - static void SetLockToHeadMountedDisplay(UCameraComponent* CameraComponent, bool Value); - } - - namespace ChildActorComponent { - static AActor* GetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type); - static AActor* SetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type); - } - - namespace SpringArmComponent { - static bool IsCollisionFixApplied(USpringArmComponent* SpringArmComponent); - static bool GetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent); - static bool GetCollisionTest(USpringArmComponent* SpringArmComponent); - static bool GetCameraPositionLag(USpringArmComponent* SpringArmComponent); - static bool GetCameraRotationLag(USpringArmComponent* SpringArmComponent); - static bool GetCameraLagSubstepping(USpringArmComponent* SpringArmComponent); - static bool GetInheritPitch(USpringArmComponent* SpringArmComponent); - static bool GetInheritRoll(USpringArmComponent* SpringArmComponent); - static bool GetInheritYaw(USpringArmComponent* SpringArmComponent); - static float GetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent); - static float GetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent); - static float GetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent); - static float GetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent); - static CollisionChannel GetProbeChannel(USpringArmComponent* SpringArmComponent); - static float GetProbeSize(USpringArmComponent* SpringArmComponent); - static void GetSocketOffset(USpringArmComponent* SpringArmComponent, Vector3* Value); - static float GetTargetArmLength(USpringArmComponent* SpringArmComponent); - static void GetTargetOffset(USpringArmComponent* SpringArmComponent, Vector3* Value); - static void GetUnfixedCameraPosition(USpringArmComponent* SpringArmComponent, Vector3* Value); - static void GetDesiredRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value); - static void GetTargetRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value); - static bool GetUsePawnControlRotation(USpringArmComponent* SpringArmComponent); - static void SetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent, bool Value); - static void SetCollisionTest(USpringArmComponent* SpringArmComponent, bool Value); - static void SetCameraPositionLag(USpringArmComponent* SpringArmComponent, bool Value); - static void SetCameraRotationLag(USpringArmComponent* SpringArmComponent, bool Value); - static void SetCameraLagSubstepping(USpringArmComponent* SpringArmComponent, bool Value); - static void SetInheritPitch(USpringArmComponent* SpringArmComponent, bool Value); - static void SetInheritRoll(USpringArmComponent* SpringArmComponent, bool Value); - static void SetInheritYaw(USpringArmComponent* SpringArmComponent, bool Value); - static void SetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent, float Value); - static void SetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent, float Value); - static void SetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent, float Value); - static void SetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent, float Value); - static void SetProbeChannel(USpringArmComponent* SpringArmComponent, CollisionChannel Value); - static void SetProbeSize(USpringArmComponent* SpringArmComponent, float Value); - static void SetSocketOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value); - static void SetTargetArmLength(USpringArmComponent* SpringArmComponent, float Value); - static void SetTargetOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value); - static void SetUsePawnControlRotation(USpringArmComponent* SpringArmComponent, bool value); - } - - namespace PostProcessComponent { - static bool GetEnabled(UPostProcessComponent* PostProcessComponent); - static float GetBlendRadius(UPostProcessComponent* PostProcessComponent); - static float GetBlendWeight(UPostProcessComponent* PostProcessComponent); - static bool GetUnbound(UPostProcessComponent* PostProcessComponent); - static float GetPriority(UPostProcessComponent* PostProcessComponent); - static void SetEnabled(UPostProcessComponent* PostProcessComponent, bool Value); - static void SetBlendRadius(UPostProcessComponent* PostProcessComponent, float Value); - static void SetBlendWeight(UPostProcessComponent* PostProcessComponent, float Value); - static void SetUnbound(UPostProcessComponent* PostProcessComponent, bool Value); - static void SetPriority(UPostProcessComponent* PostProcessComponent, float Priority); - } - - namespace PrimitiveComponent { - static bool IsGravityEnabled(UPrimitiveComponent* PrimitiveComponent); - static bool IsOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Other); - static void ForEachOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent** Array, int32* Elements); - static void AddAngularImpulseInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange); - static void AddAngularImpulseInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange); - static void AddForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const char* BoneName, bool AccelerationChange); - static void AddForceAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const Vector3* Location, const char* BoneName, bool LocalSpace); - static void AddImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange); - static void AddImpulseAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const Vector3* Location, const char* BoneName); - static void AddRadialForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange); - static void AddRadialImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange); - static void AddTorqueInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange); - static void AddTorqueInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange); - static float GetMass(UPrimitiveComponent* PrimitiveComponent); - static void GetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName); - static void GetPhysicsLinearVelocityAtPoint(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const Vector3* Point, const char* BoneName); - static void GetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName); - static void GetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName); - static bool GetCastShadow(UPrimitiveComponent* PrimitiveComponent); - static bool GetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent); - static bool GetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent); - static bool GetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent); - static bool GetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent); - static UMaterialInstanceDynamic* GetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex); - static int32 GetMaterialsNumber(UPrimitiveComponent* PrimitiveComponent); - static float GetDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, Vector3* ClosestPointOnCollision); - static bool GetSquaredDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, float* SquaredDistance, Vector3* ClosestPointOnCollision); - static float GetAngularDamping(UPrimitiveComponent* PrimitiveComponent); - static float GetLinearDamping(UPrimitiveComponent* PrimitiveComponent); - static void SetGenerateOverlapEvents(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetGenerateHitEvents(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetMass(UPrimitiveComponent* PrimitiveComponent, float Mass, const char* BoneName); - static void SetCenterOfMass(UPrimitiveComponent* PrimitiveComponent, const Vector3* Offset, const char* BoneName); - static void SetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, const Vector3* Velocity, bool AddToCurrent, const char* BoneName); - static void SetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName); - static void SetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName); - static void SetPhysicsMaxAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName); - static void SetPhysicsMaxAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName); - static void SetCastShadow(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex, UMaterialInterface* Material); - static void SetSimulatePhysics(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetAngularDamping(UPrimitiveComponent* PrimitiveComponent, float Value); - static void SetLinearDamping(UPrimitiveComponent* PrimitiveComponent, float Value); - static void SetEnableGravity(UPrimitiveComponent* PrimitiveComponent, bool Value); - static void SetCollisionMode(UPrimitiveComponent* PrimitiveComponent, CollisionMode Mode); - static void SetCollisionChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel); - static void SetCollisionProfileName(UPrimitiveComponent* PrimitiveComponent, const char* ProfileName, bool UpdateOverlaps); - static void SetCollisionResponseToChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel, CollisionResponse Response); - static void SetCollisionResponseToAllChannels(UPrimitiveComponent* PrimitiveComponent, CollisionResponse Response); - static void SetIgnoreActorWhenMoving(UPrimitiveComponent* PrimitiveComponent, AActor* Actor, bool Value); - static void SetIgnoreComponentWhenMoving(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Component, bool Value); - static void ClearMoveIgnoreActors(UPrimitiveComponent* PrimitiveComponent); - static void ClearMoveIgnoreComponents(UPrimitiveComponent* PrimitiveComponent); - static UMaterialInstanceDynamic* CreateAndSetMaterialInstanceDynamic(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex); - static void RegisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type); - static void UnregisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type); - } - - namespace ShapeComponent { - static bool GetDynamicObstacle(UShapeComponent* ShapeComponent); - static int32 GetShapeColor(UShapeComponent* ShapeComponent); - static void SetDynamicObstacle(UShapeComponent* ShapeComponent, bool Value); - static void SetShapeColor(UShapeComponent* ShapeComponent, Color Value); - } - - namespace BoxComponent { - static void GetScaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value); - static void GetUnscaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value); - static void SetBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent, bool UpdateOverlaps); - static void InitBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent); - } - - namespace SphereComponent { - static float GetScaledSphereRadius(USphereComponent* SphereComponent); - static float GetUnscaledSphereRadius(USphereComponent* SphereComponent); - static float GetShapeScale(USphereComponent* SphereComponent); - static void SetSphereRadius(USphereComponent* SphereComponent, float SphereRadius, bool UpdateOverlaps); - static void InitSphereRadius(USphereComponent* SphereComponent, float SphereRadius); - } - - namespace CapsuleComponent { - static float GetScaledCapsuleRadius(UCapsuleComponent* CapsuleComponent); - static float GetUnscaledCapsuleRadius(UCapsuleComponent* CapsuleComponent); - static float GetShapeScale(UCapsuleComponent* CapsuleComponent); - static void GetScaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight); - static void GetUnscaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight); - static void SetCapsuleRadius(UCapsuleComponent* CapsuleComponent, float Radius, bool UpdateOverlaps); - static void SetCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight, bool UpdateOverlaps); - static void InitCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight); - } - - namespace MeshComponent { - static bool IsValidMaterialSlotName(UMeshComponent* MeshComponent, const char* MaterialSlotName); - static int32 GetMaterialIndex(UMeshComponent* MeshComponent, const char* MaterialSlotName); - } - - namespace TextRenderComponent { - static void SetFont(UTextRenderComponent* TextRenderComponent, UFont* Value); - static void SetText(UTextRenderComponent* TextRenderComponent, const char* Value); - static void SetTextMaterial(UTextRenderComponent* TextRenderComponent, UMaterialInterface* Material); - static void SetTextRenderColor(UTextRenderComponent* TextRenderComponent, Color Value); - static void SetHorizontalAlignment(UTextRenderComponent* TextRenderComponent, HorizontalTextAligment Value); - static void SetHorizontalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value); - static void SetVerticalAlignment(UTextRenderComponent* TextRenderComponent, VerticalTextAligment Value); - static void SetVerticalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value); - static void SetScale(UTextRenderComponent* TextRenderComponent, const Vector2* Value); - static void SetWorldSize(UTextRenderComponent* TextRenderComponent, float Value); - } - - namespace LightComponentBase { - static float GetIntensity(ULightComponentBase* LightComponentBase); - static bool GetCastShadows(ULightComponentBase* LightComponentBase); - static void SetCastShadows(ULightComponentBase* LightComponentBase, bool Value); - } - - namespace LightComponent { - static void SetIntensity(ULightComponent* LightComponent, float Value); - static void SetLightColor(ULightComponent* LightComponent, const LinearColor* Value); - } - - namespace DirectionalLightComponent { - - } - - namespace MotionControllerComponent { - static bool IsTracked(UMotionControllerComponent* MotionControllerComponent); - static bool GetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent); - static bool GetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent); - static ControllerHand GetTrackingSource(UMotionControllerComponent* MotionControllerComponent); - static void SetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent, bool Value); - static void SetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent, bool Value); - static void SetTrackingSource(UMotionControllerComponent* MotionControllerComponent, ControllerHand Value); - static void SetTrackingMotionSource(UMotionControllerComponent* MotionControllerComponent, const char* Source); - static void SetAssociatedPlayerIndex(UMotionControllerComponent* MotionControllerComponent, int32 PlayerIndex); - static void SetCustomDisplayMesh(UMotionControllerComponent* MotionControllerComponent, UStaticMesh* StaticMesh); - static void SetDisplayModelSource(UMotionControllerComponent* MotionControllerComponent, const char* Source); - } - - namespace StaticMeshComponent { - static void GetLocalBounds(UStaticMeshComponent* StaticMeshComponent, Vector3* Min, Vector3* Max); - static UStaticMesh* GetStaticMesh(UStaticMeshComponent* StaticMeshComponent); - static bool SetStaticMesh(UStaticMeshComponent* StaticMeshComponent, UStaticMesh* StaticMesh); - } - - namespace InstancedStaticMeshComponent { - static int32 GetInstanceCount(UInstancedStaticMeshComponent* InstancedStaticMeshComponent); - static bool GetInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, Transform* Value, bool WorldSpace); - static void AddInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, const Transform* InstanceTransform); - static void AddInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 EndInstanceIndex, const Transform InstanceTransforms[]); - static bool UpdateInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, const Transform* InstanceTransform, bool WorldSpace, bool MarkRenderStateDirty, bool Teleport); - static bool BatchUpdateInstanceTransforms(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 StartInstanceIndex, int32 EndInstanceIndex, const Transform InstanceTransforms[], bool WorldSpace, bool MarkRenderStateDirty, bool Teleport); - static bool RemoveInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex); - static void ClearInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent); - } - - namespace HierarchicalInstancedStaticMeshComponent { - static bool GetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent); - static void SetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent, bool Value); - } - - namespace SkinnedMeshComponent { - static int32 GetBonesNumber(USkinnedMeshComponent* SkinnedMeshComponent); - static int32 GetBoneIndex(USkinnedMeshComponent* SkinnedMeshComponent, const char* BoneName); - static void GetBoneName(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, char* BoneName); - static void GetBoneTransform(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, Transform* Value); - static void SetSkeletalMesh(USkinnedMeshComponent* SkinnedMeshComponent, USkeletalMesh* SkeletalMesh, bool ReinitializePose); - } - - namespace SkeletalMeshComponent { - static bool IsPlaying(USkeletalMeshComponent* SkeletalMeshComponent); - static UAnimInstance* GetAnimationInstance(USkeletalMeshComponent* SkeletalMeshComponent); - static void SetAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset); - static void SetAnimationMode(USkeletalMeshComponent* SkeletalMeshComponent, AnimationMode Mode); - static void SetAnimationBlueprint(USkeletalMeshComponent* SkeletalMeshComponent, UObject* Blueprint); - static void Play(USkeletalMeshComponent* SkeletalMeshComponent, bool Loop); - static void PlayAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset, bool Loop); - static void Stop(USkeletalMeshComponent* SkeletalMeshComponent); - } - - namespace SplineComponent { - static bool IsClosedLoop(USplineComponent* SplineComponent); - static float GetDuration(USplineComponent* SplineComponent); - static SplinePointType GetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex); - static int32 GetSplinePointsNumber(USplineComponent* SplineComponent); - static int32 GetSplineSegmentsNumber(USplineComponent* SplineComponent); - static void GetTangentAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetTangentAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); - static void GetTransformAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Transform* Value); - static void GetTransformAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value); - static void GetArriveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetDefaultUpVector(USplineComponent* SplineComponent, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetDirectionAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetDirectionAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetDirectionAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); - static float GetDistanceAlongSplineAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex); - static void GetLeaveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetLocationAndTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Location, Vector3* Tangent); - static void GetLocationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetLocationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetRightVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetRightVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetRightVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); - static float GetRollAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace); - static float GetRollAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace); - static float GetRollAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity); - static void GetRotationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Quaternion* Value); - static void GetRotationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Quaternion* Value); - static void GetRotationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Quaternion* Value); - static void GetScaleAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, Vector3* Value); - static void GetScaleAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, Vector3* Value); - static void GetScaleAtTime(USplineComponent* SplineComponent, float Time, bool UseConstantVelocity, Vector3* Value); - static float GetSplineLength(USplineComponent* SplineComponent); - static void GetTransformAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, bool UseScale, Transform* Value); - static void GetUpVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void GetUpVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); - static void SetDuration(USplineComponent* SplineComponent, float Value); - static void SetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex, SplinePointType Type, bool UpdateSpline); - static void SetClosedLoop(USplineComponent* SplineComponent, bool Value, bool UpdateSpline); - static void SetDefaultUpVector(USplineComponent* SplineComponent, const Vector3* Value, SplineCoordinateSpace CoordinateSpace); - static void SetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Value, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); - static void SetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Tangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); - static void SetTangentsAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* ArriveTangent, const Vector3* LeaveTangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); - static void SetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* UpVector, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); - static void AddSplinePoint(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); - static void AddSplinePointAtIndex(USplineComponent* SplineComponent, const Vector3* Location, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); - static void ClearSplinePoints(USplineComponent* SplineComponent, bool UpdateSpline); - static void FindDirectionClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void FindLocationClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void FindUpVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void FindRightVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static float FindRollClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace); - static void FindScaleClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, Vector3* Value); - static void FindTangentClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); - static void FindTransformClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value); - static void RemoveSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, bool UpdateSpline); - static void UpdateSpline(USplineComponent* SplineComponent); - } - - namespace RadialForceComponent { - static bool GetIgnoreOwningActor(URadialForceComponent* RadialForceComponent); - static bool GetImpulseVelocityChange(URadialForceComponent* RadialForceComponent); - static bool GetLinearFalloff(URadialForceComponent* RadialForceComponent); - static float GetForceStrength(URadialForceComponent* RadialForceComponent); - static float GetImpulseStrength(URadialForceComponent* RadialForceComponent); - static float GetRadius(URadialForceComponent* RadialForceComponent); - static void SetIgnoreOwningActor(URadialForceComponent* RadialForceComponent, bool Value); - static void SetImpulseVelocityChange(URadialForceComponent* RadialForceComponent, bool Value); - static void SetLinearFalloff(URadialForceComponent* RadialForceComponent, bool Value); - static void SetForceStrength(URadialForceComponent* RadialForceComponent, float Value); - static void SetImpulseStrength(URadialForceComponent* RadialForceComponent, float Value); - static void SetRadius(URadialForceComponent* RadialForceComponent, float Value); - static void AddCollisionChannelToAffect(URadialForceComponent* RadialForceComponent, CollisionChannel Channel); - static void FireImpulse(URadialForceComponent* RadialForceComponent); - } - - namespace MaterialInterface { - static bool IsTwoSided(UMaterialInterface* MaterialInterface); - } - - namespace Material { - static bool IsDefaultMaterial(UMaterial* Material); - } - - namespace MaterialInstance { - static bool IsChildOf(UMaterialInstance* MaterialInstance, UMaterialInterface* Material); - static UMaterialInstanceDynamic* GetParent(UMaterialInstance* MaterialInstance); - } - - namespace MaterialInstanceDynamic { - static void ClearParameterValues(UMaterialInstanceDynamic* MaterialInstanceDynamic); - static void SetTextureParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, UTexture* Value); - static void SetVectorParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, const LinearColor* Value); - static void SetScalarParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, float Value); - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRLibrary.h b/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRLibrary.h deleted file mode 100644 index eee60a75..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRLibrary.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#pragma once - -#include "Kismet/BlueprintFunctionLibrary.h" -#include "UnrealCLRLibrary.generated.h" - -USTRUCT(BlueprintType) -struct UNREALCLR_API FManagedFunction { - GENERATED_BODY() - - public: - - void* Pointer; - - FManagedFunction(); -}; - -UCLASS() -class UNREALCLR_API UUnrealCLRLibrary : public UBlueprintFunctionLibrary { - GENERATED_UCLASS_BODY() - - public: - - UFUNCTION(BlueprintCallable, BlueprintPure = false, Category = ".NET", meta = (ToolTip = "Executes the managed function with optional object reference argument")) - static void ExecuteManagedFunction(FManagedFunction ManagedFunction, UObject* Object); - - UFUNCTION(BlueprintCallable, BlueprintPure = false, Category = ".NET", meta = (ToolTip = "Finds the managed function from loaded assembly, optional parameter suppresses errors if the function was not found")) - static FManagedFunction FindManagedFunction(FString Method, bool Optional, bool& Result); -}; - -UCLASS() -class UNREALCLR_API UUnrealCLRCharacter : public UObject { - GENERATED_UCLASS_BODY() - - public: - - void* LandedCallback; - - UFUNCTION() - void Landed(const FHitResult& Hit); -}; \ No newline at end of file diff --git a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRManager.h b/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRManager.h deleted file mode 100644 index 7c160b72..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRManager.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#pragma once - -#include "CoreMinimal.h" -#include "GameFramework/Actor.h" -#include "UnrealCLRManager.generated.h" - -UCLASS() -class UNREALCLR_API UUnrealCLRManager : public UObject { - GENERATED_BODY() - - public: - - UFUNCTION() - void ActorBeginOverlap(AActor* OverlapActor, AActor* OtherActor); - - UFUNCTION() - void ActorEndOverlap(AActor* OverlapActor, AActor* OtherActor); - - UFUNCTION() - void ActorHit(AActor* HitActor, AActor* OtherActor, FVector NormalImpulse, const FHitResult& Hit); - - UFUNCTION() - void ActorBeginCursorOver(AActor* Actor); - - UFUNCTION() - void ActorEndCursorOver(AActor* Actor); - - UFUNCTION() - void ActorClicked(AActor* Actor, FKey Button); - - UFUNCTION() - void ActorReleased(AActor* Actor, FKey Button); - - UFUNCTION() - void ComponentBeginOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex, bool FromSweep, const FHitResult& SweepResult); - - UFUNCTION() - void ComponentEndOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex); - - UFUNCTION() - void ComponentHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, FVector NormalImpulse, const FHitResult& Hit); - - UFUNCTION() - void ComponentBeginCursorOver(UPrimitiveComponent* Component); - - UFUNCTION() - void ComponentEndCursorOver(UPrimitiveComponent* Component); - - UFUNCTION() - void ComponentClicked(UPrimitiveComponent* Component, FKey Key); - - UFUNCTION() - void ComponentReleased(UPrimitiveComponent* Component, FKey Key); -}; \ No newline at end of file diff --git a/plugins/UnrealCLR/Source/UnrealCLR/UnrealCLR.Build.cs b/plugins/UnrealCLR/Source/UnrealCLR/UnrealCLR.Build.cs deleted file mode 100644 index 991c7ddc..00000000 --- a/plugins/UnrealCLR/Source/UnrealCLR/UnrealCLR.Build.cs +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Unreal Engine .NET 5 integration - * Copyright (c) 2021 Stanislav Denisov - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -using System; -using System.IO; -using UnrealBuildTool; - -public class UnrealCLR : ModuleRules { - public UnrealCLR(ReadOnlyTargetRules Target) : base(Target) { - #if UE_4_24_OR_LATER - bLegacyPublicIncludePaths = false; - DefaultBuildSettings = BuildSettingsVersion.V2; - #else - PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; - #endif - - PublicIncludePaths.AddRange(new string[] { }); - - PrivateIncludePaths.AddRange(new string[] { }); - - PublicDependencyModuleNames.AddRange(new string[] { - "Core" - }); - - PrivateDependencyModuleNames.AddRange(new string[] { - "AIModule", - "AssetRegistry", - "CoreUObject", - "Engine", - "HeadMountedDisplay", - "InputCore", - "Slate", - "SlateCore" - }); - - DynamicallyLoadedModuleNames.AddRange(new string[] { }); - - if (Target.bBuildEditor) { - PrivateDependencyModuleNames.AddRange(new string[] { - "UnrealEd" - }); - } else { - string runtimePath = null; - - if (Target.Platform == UnrealTargetPlatform.Win64) - runtimePath = Path.Combine(ModuleDirectory, "../../Runtime/Win64"); - else if (Target.Platform == UnrealTargetPlatform.Linux) - runtimePath = Path.Combine(ModuleDirectory, "../../Runtime/Linux"); - else if (Target.Platform == UnrealTargetPlatform.Mac) - runtimePath = Path.Combine(ModuleDirectory, "../../Runtime/Mac"); - else - throw new Exception("Unknown platform"); - - string[] files = Directory.GetFiles(runtimePath, "*.*", SearchOption.AllDirectories); - - foreach (string file in files) { - RuntimeDependencies.Add(file); - } - - files = Directory.GetFiles(Path.Combine(ModuleDirectory, "../../Managed"), "*.*", SearchOption.AllDirectories); - - foreach (string file in files) { - RuntimeDependencies.Add(file); - } - - string userAssemblies = Path.Combine(PluginDirectory , "../../Managed"); - - if (Directory.Exists(userAssemblies)) { - files = Directory.GetFiles(userAssemblies, "*.*", SearchOption.AllDirectories); - - foreach (string file in files) { - RuntimeDependencies.Add(file); - } - } - } - } -} \ No newline at end of file diff --git a/plugins/UnrealCLR/UnrealCLR.uplugin b/plugins/UnrealCLR/UnrealCLR.uplugin deleted file mode 100644 index 6e80d507..00000000 --- a/plugins/UnrealCLR/UnrealCLR.uplugin +++ /dev/null @@ -1,30 +0,0 @@ -{ - "FileVersion": 3, - "Version": 1, - "VersionName": "1.30", - "FriendlyName": "UnrealCLR", - "Description": ".NET 5 integration", - "Category": "Scripting", - "CreatedBy": "nxrighthere", - "CreatedByURL": "https://github.com/nxrighthere", - "DocsURL": "https://github.com/nxrighthere/UnrealCLR", - "MarketplaceURL": "", - "SupportURL": "https://github.com/nxrighthere/UnrealCLR/discussions", - "EnabledByDefault": true, - "CanContainContent": false, - "IsBetaVersion": false, - "IsExperimentalVersion": false, - "Installed": false, - "Modules": [ - { - "Name": "UnrealCLR", - "Type": "Runtime", - "LoadingPhase": "PreLoadingScreen", - "WhitelistPlatforms": [ - "Win64", - "Linux", - "Mac" - ] - } - ] -} \ No newline at end of file diff --git a/plugins/base64plugin/Resources/Icon128.png b/plugins/base64plugin/Resources/Icon128.png new file mode 100644 index 00000000..5d4dc158 Binary files /dev/null and b/plugins/base64plugin/Resources/Icon128.png differ diff --git a/plugins/base64plugin/Source/base64plugin/Private/base64plugin.cpp b/plugins/base64plugin/Source/base64plugin/Private/base64plugin.cpp new file mode 100644 index 00000000..b57a2488 --- /dev/null +++ b/plugins/base64plugin/Source/base64plugin/Private/base64plugin.cpp @@ -0,0 +1,22 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "base64plugin.h" + +#define LOCTEXT_NAMESPACE "Fbase64pluginModule" + +void Fbase64pluginModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module + +} + +void Fbase64pluginModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. + +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(Fbase64pluginModule, base64plugin) \ No newline at end of file diff --git a/plugins/base64plugin/Source/base64plugin/Private/base64pluginBPLibrary.cpp b/plugins/base64plugin/Source/base64plugin/Private/base64pluginBPLibrary.cpp new file mode 100644 index 00000000..9c0588e8 --- /dev/null +++ b/plugins/base64plugin/Source/base64plugin/Private/base64pluginBPLibrary.cpp @@ -0,0 +1,106 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "base64pluginBPLibrary.h" +#include "base64plugin.h" + +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Misc/Base64.h" +#include "Engine/TextureRenderTarget2D.h" +#include "ImageUtils.h" +#include "Math/Color.h" +#include "Misc/FileHelper.h" + +Ubase64pluginBPLibrary::Ubase64pluginBPLibrary(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + +} + +TArray readRT(UTextureRenderTarget2D* TextureRenderTarget) { + TArray OutLDRValues; + TArray OutHDRValues; + + if (!TextureRenderTarget) + { + return OutLDRValues; + } + + FTextureRenderTarget2DResource* RTResource = (FTextureRenderTarget2DResource*)TextureRenderTarget->GameThread_GetRenderTargetResource(); + if (!RTResource) + { + return OutLDRValues; + } + + FReadSurfaceDataFlags ReadSurfaceDataFlags; + + FRenderTarget* RenderTarget = TextureRenderTarget->GameThread_GetRenderTargetResource(); + + const int32 NumPixelsToRead = TextureRenderTarget->SizeX * TextureRenderTarget->SizeY; + + switch (TextureRenderTarget->GetFormat()) + { + case PF_B8G8R8A8: + OutLDRValues.SetNumUninitialized(NumPixelsToRead); + if (!RenderTarget->ReadPixelsPtr(OutLDRValues.GetData(), ReadSurfaceDataFlags)) + { + return OutLDRValues; + } + break; + case PF_FloatRGBA: + OutHDRValues.SetNumUninitialized(NumPixelsToRead); + if (!RenderTarget->ReadLinearColorPixelsPtr(OutHDRValues.GetData(), ReadSurfaceDataFlags)) + { + + for (auto i : OutHDRValues) + { + OutLDRValues.Add(i.ToFColor(true)); + } + return OutLDRValues; + } + break; + + + default: + return OutLDRValues; + } + return OutLDRValues; +} + +void RTtoBytes(UTextureRenderTarget2D* TextureRenderTarget, TArray& DstData) +{ + if (TextureRenderTarget) { + TArray SrcData = readRT(TextureRenderTarget); + if (SrcData.Num() > 0) { + FImageUtils::CompressImageArray(TextureRenderTarget->SizeX, TextureRenderTarget->SizeY, SrcData, DstData); + } + } +} + +bool Ubase64pluginBPLibrary::bytesToBase64(const TArray& source, FString& out) { + if (source.Num() > 0) + { + out = FBase64::Encode(source); + return true; + } + + out = FString(); + return false; +} + +bool Ubase64pluginBPLibrary::fileToBase64(FString filePath, FString& out) { + TArray outArray; + if (FFileHelper::LoadFileToArray(outArray, *filePath)) { + //out=FBase64::Encode(outArray); + return bytesToBase64(outArray, out); + } + return false; + +} +bool Ubase64pluginBPLibrary::renderTargetToBase64(UTextureRenderTarget2D* RT, FString& out) { + TArray tempArr; + RTtoBytes(RT, tempArr); + return bytesToBase64(tempArr, out); +} + diff --git a/plugins/base64plugin/Source/base64plugin/Public/base64plugin.h b/plugins/base64plugin/Source/base64plugin/Public/base64plugin.h new file mode 100644 index 00000000..fd24df09 --- /dev/null +++ b/plugins/base64plugin/Source/base64plugin/Public/base64plugin.h @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Modules/ModuleManager.h" + +class Fbase64pluginModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/plugins/base64plugin/Source/base64plugin/Public/base64pluginBPLibrary.h b/plugins/base64plugin/Source/base64plugin/Public/base64pluginBPLibrary.h new file mode 100644 index 00000000..920c7893 --- /dev/null +++ b/plugins/base64plugin/Source/base64plugin/Public/base64pluginBPLibrary.h @@ -0,0 +1,36 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Kismet/BlueprintFunctionLibrary.h" +#include "base64pluginBPLibrary.generated.h" + +/* +* Function library class. +* Each function in it is expected to be static and represents blueprint node that can be called in any blueprint. +* +* When declaring function you can define metadata for the node. Key function specifiers will be BlueprintPure and BlueprintCallable. +* BlueprintPure - means the function does not affect the owning object in any way and thus creates a node without Exec pins. +* BlueprintCallable - makes a function which can be executed in Blueprints - Thus it has Exec pins. +* DisplayName - full name of the node, shown when you mouse over the node and in the blueprint drop down menu. +* Its lets you name the node using characters not allowed in C++ function names. +* CompactNodeTitle - the word(s) that appear on the node. +* Keywords - the list of keywords that helps you to find node when you search for it using Blueprint drop-down menu. +* Good example is "Print String" node which you can find also by using keyword "log". +* Category - the category your node will be under in the Blueprint drop-down menu. +* +* For more info on custom blueprint nodes visit documentation: +* https://wiki.unrealengine.com/Custom_Blueprint_Node_Creation +*/ +UCLASS() +class Ubase64pluginBPLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_UCLASS_BODY() +public: + UFUNCTION(BlueprintCallable,Category="base64Encoders") + static bool bytesToBase64(const TArray& source, FString & out); + UFUNCTION(BlueprintCallable, Category = "base64Encoders") + static bool fileToBase64(FString filePath, FString & out); + UFUNCTION(BlueprintCallable, Category = "base64Encoders") + static bool renderTargetToBase64(UTextureRenderTarget2D * RT, FString & out); +}; diff --git a/plugins/base64plugin/Source/base64plugin/base64plugin.Build.cs b/plugins/base64plugin/Source/base64plugin/base64plugin.Build.cs new file mode 100644 index 00000000..e9abcf03 --- /dev/null +++ b/plugins/base64plugin/Source/base64plugin/base64plugin.Build.cs @@ -0,0 +1,53 @@ +// Some copyright should be here... + +using UnrealBuildTool; + +public class base64plugin : ModuleRules +{ + public base64plugin(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore", + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/plugins/base64plugin/base64plugin.uplugin b/plugins/base64plugin/base64plugin.uplugin new file mode 100644 index 00000000..79d55fe8 --- /dev/null +++ b/plugins/base64plugin/base64plugin.uplugin @@ -0,0 +1,23 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "base64plugin", + "Description": "used for encode to base64 string of bytes, file or renderTarget", + "Category": "Other", + "CreatedBy": "Andron", + "CreatedByURL": "", + "DocsURL": "", + "MarketplaceURL": "", + "SupportURL": "", + "EngineVersion": "5.1.0", + "CanContainContent": false, + "Installed": true, + "Modules": [ + { + "Name": "base64plugin", + "Type": "Runtime", + "LoadingPhase": "PreLoadingScreen" + } + ] +} \ No newline at end of file diff --git a/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.dll b/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.dll index 5691c3ee..78ccfe21 100644 Binary files a/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.dll and b/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.dll differ diff --git a/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.pdb b/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.pdb index f4d044bf..9459e7d1 100644 Binary files a/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.pdb and b/plugins/createProcess/Binaries/Win64/UE4Editor-createProcess.pdb differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.cpp.obj b/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.cpp.obj index 6f4060a6..cdb19afe 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.cpp.obj and b/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.cpp.obj differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.gen.cpp.obj b/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.gen.cpp.obj index 5d755867..812fd929 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.gen.cpp.obj and b/plugins/createProcess/Intermediate/Build/Win64/UE4/Development/createProcess/Module.createProcess.gen.cpp.obj differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/Timestamp b/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/Timestamp index 91f8335e..d5009ad7 100644 --- a/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/Timestamp +++ b/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/Timestamp @@ -1 +1 @@ -E:\Projects\Ivazowsky\Plugins\createProcess\Source\createProcess\Public\createProcessBPLibrary.h +E:\Projects\SibIntel\Plugins\createProcess\Source\createProcess\Public\createProcessBPLibrary.h diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/createProcessBPLibrary.generated.h b/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/createProcessBPLibrary.generated.h index cc270f37..ba6a0492 100644 --- a/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/createProcessBPLibrary.generated.h +++ b/plugins/createProcess/Intermediate/Build/Win64/UE4/Inc/createProcess/createProcessBPLibrary.generated.h @@ -13,20 +13,20 @@ PRAGMA_DISABLE_DEPRECATION_WARNINGS #endif #define CREATEPROCESS_createProcessBPLibrary_generated_h -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_SPARSE_DATA -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_SPARSE_DATA +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS \ \ DECLARE_FUNCTION(execRunSystemCommand); \ DECLARE_FUNCTION(execcreateProc); -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS_NO_PURE_DECLS \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS_NO_PURE_DECLS \ \ DECLARE_FUNCTION(execRunSystemCommand); \ DECLARE_FUNCTION(execcreateProc); -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS_NO_PURE_DECLS \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS_NO_PURE_DECLS \ private: \ static void StaticRegisterNativesUcreateProcessBPLibrary(); \ friend struct Z_Construct_UClass_UcreateProcessBPLibrary_Statics; \ @@ -35,7 +35,7 @@ public: \ DECLARE_SERIALIZER(UcreateProcessBPLibrary) -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS \ private: \ static void StaticRegisterNativesUcreateProcessBPLibrary(); \ friend struct Z_Construct_UClass_UcreateProcessBPLibrary_Statics; \ @@ -44,7 +44,7 @@ public: \ DECLARE_SERIALIZER(UcreateProcessBPLibrary) -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_STANDARD_CONSTRUCTORS \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_STANDARD_CONSTRUCTORS \ /** Standard constructor, called after all reflected properties have been initialized */ \ NO_API UcreateProcessBPLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \ DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UcreateProcessBPLibrary) \ @@ -57,7 +57,7 @@ private: \ public: -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_ENHANCED_CONSTRUCTORS \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_ENHANCED_CONSTRUCTORS \ /** Standard constructor, called after all reflected properties have been initialized */ \ NO_API UcreateProcessBPLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()) : Super(ObjectInitializer) { }; \ private: \ @@ -70,28 +70,28 @@ public: \ DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UcreateProcessBPLibrary) -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_PRIVATE_PROPERTY_OFFSET -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_26_PROLOG -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_GENERATED_BODY_LEGACY \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_PRIVATE_PROPERTY_OFFSET +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_26_PROLOG +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_GENERATED_BODY_LEGACY \ PRAGMA_DISABLE_DEPRECATION_WARNINGS \ public: \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_PRIVATE_PROPERTY_OFFSET \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_SPARSE_DATA \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_STANDARD_CONSTRUCTORS \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_PRIVATE_PROPERTY_OFFSET \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_SPARSE_DATA \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_STANDARD_CONSTRUCTORS \ public: \ PRAGMA_ENABLE_DEPRECATION_WARNINGS -#define Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_GENERATED_BODY \ +#define SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_GENERATED_BODY \ PRAGMA_DISABLE_DEPRECATION_WARNINGS \ public: \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_PRIVATE_PROPERTY_OFFSET \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_SPARSE_DATA \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS_NO_PURE_DECLS \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS_NO_PURE_DECLS \ - Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_ENHANCED_CONSTRUCTORS \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_PRIVATE_PROPERTY_OFFSET \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_SPARSE_DATA \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_RPC_WRAPPERS_NO_PURE_DECLS \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_INCLASS_NO_PURE_DECLS \ + SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h_29_ENHANCED_CONSTRUCTORS \ static_assert(false, "Unknown access specifier for GENERATED_BODY() macro in class createProcessBPLibrary."); \ PRAGMA_ENABLE_DEPRECATION_WARNINGS @@ -99,7 +99,7 @@ PRAGMA_ENABLE_DEPRECATION_WARNINGS template<> CREATEPROCESS_API UClass* StaticClass(); #undef CURRENT_FILE_ID -#define CURRENT_FILE_ID Ivazowsky_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h +#define CURRENT_FILE_ID SibIntel_Plugins_createProcess_Source_createProcess_Public_createProcessBPLibrary_h PRAGMA_ENABLE_DEPRECATION_WARNINGS diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.cpp.obj b/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.cpp.obj index d2a1eb5b..16673a3d 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.cpp.obj and b/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.cpp.obj differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.gen.cpp.obj b/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.gen.cpp.obj index 116c5f2a..bc9f9603 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.gen.cpp.obj and b/plugins/createProcess/Intermediate/Build/Win64/UE4/Shipping/createProcess/Module.createProcess.gen.cpp.obj differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Default.rc2.res b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Default.rc2.res index 5562498f..73b1f971 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Default.rc2.res and b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Default.rc2.res differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Definitions.createProcess.h b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Definitions.createProcess.h index 5532eeaa..6bd6da0d 100644 --- a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Definitions.createProcess.h +++ b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Definitions.createProcess.h @@ -49,7 +49,7 @@ #define NDEBUG 1 #define UE_BUILD_DEVELOPMENT 1 #define UE_IS_ENGINE_MODULE 0 -#define UE_PROJECT_NAME IvazowskyC +#define UE_PROJECT_NAME Ivazowsky #define UE_TARGET_NAME UE4Editor #define UE_MODULE_NAME "createProcess" #define UE_PLUGIN_NAME "createProcess" diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.cpp.obj b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.cpp.obj index 5b185e68..fcfe708e 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.cpp.obj and b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.cpp.obj differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.gen.cpp.obj b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.gen.cpp.obj index b8ea1a14..214e41ac 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.gen.cpp.obj and b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/Module.createProcess.gen.cpp.obj differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.exp b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.exp index 8cf2398b..7deff5a4 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.exp and b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.exp differ diff --git a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.lib b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.lib index af3a2e95..ee9557cd 100644 Binary files a/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.lib and b/plugins/createProcess/Intermediate/Build/Win64/UE4Editor/Development/createProcess/UE4Editor-createProcess.lib differ diff --git a/plugins/createProcess/createProcess.uplugin b/plugins/createProcess/createProcess.uplugin index b1caa1d0..0651c540 100644 --- a/plugins/createProcess/createProcess.uplugin +++ b/plugins/createProcess/createProcess.uplugin @@ -10,7 +10,7 @@ "DocsURL": "", "MarketplaceURL": "", "SupportURL": "", - "EngineVersion": "4.27.0", + "EngineVersion": "5.1.0", "CanContainContent": false, "Installed": true, "Modules": [ diff --git a/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.dll b/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.dll index e7187636..54e990a0 100644 Binary files a/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.dll and b/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.dll differ diff --git a/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.pdb b/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.pdb index b1c1af05..1692cc24 100644 Binary files a/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.pdb and b/plugins/manageTextFile/Binaries/Win64/UE4Editor-manageTextFile.pdb differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.cpp.obj b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.cpp.obj index c9655511..86543f77 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.cpp.obj and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.cpp.obj differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj index a4986038..112a0eaa 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/Timestamp b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/Timestamp index 160cd2e4..ca68aa70 100644 --- a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/Timestamp +++ b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/Timestamp @@ -1 +1 @@ -E:\Projects\Ivazowsky\Plugins\manageTextFile\Source\manageTextFile\Public\manageTextFileBPLibrary.h +E:\Projects\SibIntel\Plugins\manageTextFile\Source\manageTextFile\Public\manageTextFileBPLibrary.h diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/manageTextFileBPLibrary.generated.h b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/manageTextFileBPLibrary.generated.h index e12d0b1a..d4f68d49 100644 --- a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/manageTextFileBPLibrary.generated.h +++ b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Inc/manageTextFile/manageTextFileBPLibrary.generated.h @@ -13,8 +13,8 @@ PRAGMA_DISABLE_DEPRECATION_WARNINGS #endif #define MANAGETEXTFILE_manageTextFileBPLibrary_generated_h -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_SPARSE_DATA -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_SPARSE_DATA +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS \ \ DECLARE_FUNCTION(execreadFile); \ DECLARE_FUNCTION(execDeleteFile); \ @@ -23,7 +23,7 @@ PRAGMA_DISABLE_DEPRECATION_WARNINGS DECLARE_FUNCTION(execCreateTextFile); -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS_NO_PURE_DECLS \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS_NO_PURE_DECLS \ \ DECLARE_FUNCTION(execreadFile); \ DECLARE_FUNCTION(execDeleteFile); \ @@ -32,7 +32,7 @@ PRAGMA_DISABLE_DEPRECATION_WARNINGS DECLARE_FUNCTION(execCreateTextFile); -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS_NO_PURE_DECLS \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS_NO_PURE_DECLS \ private: \ static void StaticRegisterNativesUmanageTextFileBPLibrary(); \ friend struct Z_Construct_UClass_UmanageTextFileBPLibrary_Statics; \ @@ -41,7 +41,7 @@ public: \ DECLARE_SERIALIZER(UmanageTextFileBPLibrary) -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS \ private: \ static void StaticRegisterNativesUmanageTextFileBPLibrary(); \ friend struct Z_Construct_UClass_UmanageTextFileBPLibrary_Statics; \ @@ -50,7 +50,7 @@ public: \ DECLARE_SERIALIZER(UmanageTextFileBPLibrary) -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_STANDARD_CONSTRUCTORS \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_STANDARD_CONSTRUCTORS \ /** Standard constructor, called after all reflected properties have been initialized */ \ NO_API UmanageTextFileBPLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); \ DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UmanageTextFileBPLibrary) \ @@ -63,7 +63,7 @@ private: \ public: -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_ENHANCED_CONSTRUCTORS \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_ENHANCED_CONSTRUCTORS \ /** Standard constructor, called after all reflected properties have been initialized */ \ NO_API UmanageTextFileBPLibrary(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()) : Super(ObjectInitializer) { }; \ private: \ @@ -76,28 +76,28 @@ public: \ DEFINE_DEFAULT_OBJECT_INITIALIZER_CONSTRUCTOR_CALL(UmanageTextFileBPLibrary) -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_PRIVATE_PROPERTY_OFFSET -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_28_PROLOG -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_GENERATED_BODY_LEGACY \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_PRIVATE_PROPERTY_OFFSET +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_28_PROLOG +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_GENERATED_BODY_LEGACY \ PRAGMA_DISABLE_DEPRECATION_WARNINGS \ public: \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_PRIVATE_PROPERTY_OFFSET \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_SPARSE_DATA \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_STANDARD_CONSTRUCTORS \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_PRIVATE_PROPERTY_OFFSET \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_SPARSE_DATA \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_STANDARD_CONSTRUCTORS \ public: \ PRAGMA_ENABLE_DEPRECATION_WARNINGS -#define Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_GENERATED_BODY \ +#define SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_GENERATED_BODY \ PRAGMA_DISABLE_DEPRECATION_WARNINGS \ public: \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_PRIVATE_PROPERTY_OFFSET \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_SPARSE_DATA \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS_NO_PURE_DECLS \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS_NO_PURE_DECLS \ - Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_ENHANCED_CONSTRUCTORS \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_PRIVATE_PROPERTY_OFFSET \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_SPARSE_DATA \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_RPC_WRAPPERS_NO_PURE_DECLS \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_INCLASS_NO_PURE_DECLS \ + SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h_31_ENHANCED_CONSTRUCTORS \ static_assert(false, "Unknown access specifier for GENERATED_BODY() macro in class manageTextFileBPLibrary."); \ PRAGMA_ENABLE_DEPRECATION_WARNINGS @@ -105,7 +105,7 @@ PRAGMA_ENABLE_DEPRECATION_WARNINGS template<> MANAGETEXTFILE_API UClass* StaticClass(); #undef CURRENT_FILE_ID -#define CURRENT_FILE_ID Ivazowsky_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h +#define CURRENT_FILE_ID SibIntel_Plugins_manageTextFile_Source_manageTextFile_Public_manageTextFileBPLibrary_h PRAGMA_ENABLE_DEPRECATION_WARNINGS diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.cpp.obj b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.cpp.obj index 3bc5e64a..f5e6abec 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.cpp.obj and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.cpp.obj differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.gen.cpp.obj b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.gen.cpp.obj index b1e3400b..c5cf5e20 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.gen.cpp.obj and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4/Shipping/manageTextFile/Module.manageTextFile.gen.cpp.obj differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Default.rc2.res b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Default.rc2.res index 2a7e815e..cba6d98e 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Default.rc2.res and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Default.rc2.res differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Definitions.manageTextFile.h b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Definitions.manageTextFile.h index 80380322..b90731f1 100644 --- a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Definitions.manageTextFile.h +++ b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Definitions.manageTextFile.h @@ -49,7 +49,7 @@ #define NDEBUG 1 #define UE_BUILD_DEVELOPMENT 1 #define UE_IS_ENGINE_MODULE 0 -#define UE_PROJECT_NAME IvazowskyC +#define UE_PROJECT_NAME Ivazowsky #define UE_TARGET_NAME UE4Editor #define UE_MODULE_NAME "manageTextFile" #define UE_PLUGIN_NAME "manageTextFile" diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.cpp.obj b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.cpp.obj index 5050b7f0..0c929633 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.cpp.obj and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.cpp.obj differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj index 16225f29..7c7b55c7 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/Module.manageTextFile.gen.cpp.obj differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.exp b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.exp index 6ff6e73c..89fa4f02 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.exp and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.exp differ diff --git a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.lib b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.lib index 83353d78..3f8d96b4 100644 Binary files a/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.lib and b/plugins/manageTextFile/Intermediate/Build/Win64/UE4Editor/Development/manageTextFile/UE4Editor-manageTextFile.lib differ diff --git a/plugins/manageTextFile/manageTextFile.uplugin b/plugins/manageTextFile/manageTextFile.uplugin index ebc55804..a39d670f 100644 --- a/plugins/manageTextFile/manageTextFile.uplugin +++ b/plugins/manageTextFile/manageTextFile.uplugin @@ -10,7 +10,7 @@ "DocsURL": "", "MarketplaceURL": "", "SupportURL": "", - "EngineVersion": "4.27.0", + "EngineVersion": "5.1.0", "CanContainContent": false, "Installed": true, "Modules": [