From c7c37b339c3856f1e1f7a9256017ba0fcbbdc9d2 Mon Sep 17 00:00:00 2001 From: DuOtto Date: Tue, 28 Apr 2026 13:17:01 +0200 Subject: [PATCH] first commit --- .gitignore | 38 ++ Table/.vsconfig | 19 + Table/Config/DefaultEditor.ini | 5 + Table/Config/DefaultEngine.ini | 105 ++++ Table/Config/DefaultGame.ini | 6 + Table/Config/DefaultInput.ini | 84 +++ Table/Content/Camera/BP_Projector.uasset | Bin 0 -> 95287 bytes .../GeneralStuff/BP_TableGameMode.uasset | Bin 0 -> 20661 bytes .../WorldObjects/BP_DetectionManager.uasset | Bin 0 -> 35948 bytes .../Content/WorldObjects/BP_FingerTip.uasset | Bin 0 -> 161964 bytes .../Content/WorldObjects/BP_HandActor.uasset | Bin 0 -> 58166 bytes .../WorldObjects/BP_HandManager.uasset | Bin 0 -> 23116 bytes .../Content/WorldObjects/BP_UIManager.uasset | Bin 0 -> 86463 bytes Table/Content/WorldObjects/BP_UserHUD.uasset | Bin 0 -> 50957 bytes Table/Content/WorldObjects/GameLevel.umap | Bin 0 -> 25406 bytes .../ContentClassReference.uasset | Bin 0 -> 4181 bytes .../ContentClassReferenceDataTable.uasset | Bin 0 -> 2907 bytes .../HUD/ContentWidgets/W_Content.uasset | Bin 0 -> 73260 bytes .../ContentWidgets/W_ImageContainer.uasset | Bin 0 -> 53583 bytes .../HUD/ContentWidgets/W_PDFContainer.uasset | Bin 0 -> 101718 bytes .../HUD/ContentWidgets/W_TabContainer.uasset | Bin 0 -> 26298 bytes .../HUD/ContentWidgets/W_TextContainer.uasset | Bin 0 -> 65613 bytes .../WorldObjects/HUD/W_JsonSelection.uasset | Bin 0 -> 80939 bytes .../HUD/W_JsonSelectionOption.uasset | Bin 0 -> 43290 bytes .../WorldObjects/HUD/W_SpawnUserHUDHUD.uasset | Bin 0 -> 31499 bytes .../Content/WorldObjects/HUD/W_UserHUD.uasset | Bin 0 -> 153482 bytes .../WorldObjects/HUD/W_UserHUDContent.uasset | Bin 0 -> 5694 bytes Table/Content/WorldObjects/IA/IA_Move.uasset | Bin 0 -> 1350 bytes Table/Content/WorldObjects/IA/IA_Zoom.uasset | Bin 0 -> 1350 bytes .../Content/WorldObjects/IA/IMC_Stuff.uasset | Bin 0 -> 4393 bytes Table/Plugins/VisualStudioTools/.gitignore | 421 +++++++++++++ .../VisualStudioTools/CODE_OF_CONDUCT.md | 9 + .../Plugins/VisualStudioTools/CONTRIBUTING.md | 49 ++ .../VisualStudioTools/Config/FilterPlugin.ini | 9 + .../Docs/Marketplace_Readme.md | 57 ++ .../VisualStudioTools/Docs/Troubleshooting.md | 55 ++ ... Studio Integration Tool Documentation.pdf | Bin 0 -> 232900 bytes .../Docs/images/configuration_page.png | Bin 0 -> 87093 bytes .../Docs/images/ide_support_ue.png | Bin 0 -> 10657 bytes .../Docs/images/test_explorer.png | Bin 0 -> 61011 bytes .../Docs/images/test_options.png | Bin 0 -> 103887 bytes Table/Plugins/VisualStudioTools/LICENSE | 22 + Table/Plugins/VisualStudioTools/README.md | 116 ++++ Table/Plugins/VisualStudioTools/SECURITY.md | 41 ++ Table/Plugins/VisualStudioTools/SUPPORT.md | 13 + .../Scripts/Package-Plugin.ps1 | 43 ++ .../Scripts/SignDetached.proj | 19 + .../VisualStudioTools/Scripts/packages.config | 4 + .../VisualStudioTools/Source/.editorconfig | 91 +++ ...ualStudioBlueprintDebuggerHelperModule.cpp | 246 ++++++++ ...isualStudioBlueprintDebuggerHelperModule.h | 29 + ...sualStudioBlueprintDebuggerHelper.Build.cs | 31 + .../Private/BlueprintAssetHelper.cpp | 113 ++++ .../Private/BlueprintAssetHelpers.h | 26 + .../Private/BlueprintReferencesCommandlet.cpp | 248 ++++++++ .../Private/BlueprintReferencesCommandlet.h | 25 + .../VisualStudioTools/Private/FSmartBSTR.h | 63 ++ .../Private/VSServerCommandlet.cpp | 118 ++++ .../Private/VSServerCommandlet.h | 29 + .../Private/VSTestAdapterCommandlet.cpp | 288 +++++++++ .../Private/VSTestAdapterCommandlet.h | 28 + .../Private/VisualStudioTools.cpp | 19 + ...tudioToolsBlueprintBreakpointExtension.cpp | 576 ++++++++++++++++++ ...lStudioToolsBlueprintBreakpointExtension.h | 64 ++ .../Private/VisualStudioToolsCommandlet.cpp | 492 +++++++++++++++ .../Private/VisualStudioToolsCommandlet.h | 24 + .../VisualStudioToolsCommandletBase.cpp | 88 +++ .../Private/VisualStudioToolsCommandletBase.h | 29 + .../Public/VisualStudioTools.h | 7 + .../VisualStudioTools.Build.cs | 77 +++ .../VisualStudioTools.uplugin | 38 ++ ...rt-extra-UBT-args-in-UAT.BuildPlugin.patch | 46 ++ .../azure-pipelines/TSAOptions.json | 21 + .../azure-pipelines/compliance.yml | 123 ++++ .../azure-pipelines/release.yml | 117 ++++ Table/Plugins/VisualStudioTools/build.proj | 24 + Table/Source/Table.Target.cs | 15 + .../Table/Private/ContentNodeWidget.cpp | 112 ++++ .../Source/Table/Private/DetectionManager.cpp | 250 ++++++++ Table/Source/Table/Private/FingerTip.cpp | 27 + Table/Source/Table/Private/GestureAction.cpp | 46 ++ Table/Source/Table/Private/GestureData.cpp | 5 + .../Table/Private/GestureDefinition.cpp | 27 + .../Table/Private/GestureManagerComponent.cpp | 252 ++++++++ Table/Source/Table/Private/HandActor.cpp | 148 +++++ Table/Source/Table/Private/HandManager.cpp | 128 ++++ .../Table/Private/JsonSelectionOption.cpp | 11 + Table/Source/Table/Private/UserHUDWidget.cpp | 115 ++++ Table/Source/Table/Public/ContentNodeWidget.h | 48 ++ Table/Source/Table/Public/DetectionManager.h | 125 ++++ Table/Source/Table/Public/FingerTip.h | 26 + Table/Source/Table/Public/GestureAction.h | 48 ++ Table/Source/Table/Public/GestureData.h | 81 +++ Table/Source/Table/Public/GestureDefinition.h | 146 +++++ .../Table/Public/GestureManagerComponent.h | 84 +++ Table/Source/Table/Public/HandActor.h | 102 ++++ Table/Source/Table/Public/HandManager.h | 77 +++ .../Source/Table/Public/JsonSelectionOption.h | 25 + Table/Source/Table/Public/OpenCVIncludes.h | 19 + Table/Source/Table/Public/UserHUDWidget.h | 103 ++++ Table/Source/Table/Table.Build.cs | 36 ++ Table/Source/Table/Table.cpp | 6 + Table/Source/Table/Table.h | 6 + Table/Source/TableEditor.Target.cs | 15 + Table/Table.uproject | 32 + charuco_A4.png | Bin 0 -> 62884 bytes 106 files changed, 6310 insertions(+) create mode 100644 .gitignore create mode 100644 Table/.vsconfig create mode 100644 Table/Config/DefaultEditor.ini create mode 100644 Table/Config/DefaultEngine.ini create mode 100644 Table/Config/DefaultGame.ini create mode 100644 Table/Config/DefaultInput.ini create mode 100644 Table/Content/Camera/BP_Projector.uasset create mode 100644 Table/Content/GeneralStuff/BP_TableGameMode.uasset create mode 100644 Table/Content/WorldObjects/BP_DetectionManager.uasset create mode 100644 Table/Content/WorldObjects/BP_FingerTip.uasset create mode 100644 Table/Content/WorldObjects/BP_HandActor.uasset create mode 100644 Table/Content/WorldObjects/BP_HandManager.uasset create mode 100644 Table/Content/WorldObjects/BP_UIManager.uasset create mode 100644 Table/Content/WorldObjects/BP_UserHUD.uasset create mode 100644 Table/Content/WorldObjects/GameLevel.umap create mode 100644 Table/Content/WorldObjects/HUD/ContentWidgets/ContentClassReference.uasset create mode 100644 Table/Content/WorldObjects/HUD/ContentWidgets/ContentClassReferenceDataTable.uasset create mode 100644 Table/Content/WorldObjects/HUD/ContentWidgets/W_Content.uasset create mode 100644 Table/Content/WorldObjects/HUD/ContentWidgets/W_ImageContainer.uasset create mode 100644 Table/Content/WorldObjects/HUD/ContentWidgets/W_PDFContainer.uasset create mode 100644 Table/Content/WorldObjects/HUD/ContentWidgets/W_TabContainer.uasset create mode 100644 Table/Content/WorldObjects/HUD/ContentWidgets/W_TextContainer.uasset create mode 100644 Table/Content/WorldObjects/HUD/W_JsonSelection.uasset create mode 100644 Table/Content/WorldObjects/HUD/W_JsonSelectionOption.uasset create mode 100644 Table/Content/WorldObjects/HUD/W_SpawnUserHUDHUD.uasset create mode 100644 Table/Content/WorldObjects/HUD/W_UserHUD.uasset create mode 100644 Table/Content/WorldObjects/HUD/W_UserHUDContent.uasset create mode 100644 Table/Content/WorldObjects/IA/IA_Move.uasset create mode 100644 Table/Content/WorldObjects/IA/IA_Zoom.uasset create mode 100644 Table/Content/WorldObjects/IA/IMC_Stuff.uasset create mode 100644 Table/Plugins/VisualStudioTools/.gitignore create mode 100644 Table/Plugins/VisualStudioTools/CODE_OF_CONDUCT.md create mode 100644 Table/Plugins/VisualStudioTools/CONTRIBUTING.md create mode 100644 Table/Plugins/VisualStudioTools/Config/FilterPlugin.ini create mode 100644 Table/Plugins/VisualStudioTools/Docs/Marketplace_Readme.md create mode 100644 Table/Plugins/VisualStudioTools/Docs/Troubleshooting.md create mode 100644 Table/Plugins/VisualStudioTools/Docs/Visual Studio Integration Tool Documentation.pdf create mode 100644 Table/Plugins/VisualStudioTools/Docs/images/configuration_page.png create mode 100644 Table/Plugins/VisualStudioTools/Docs/images/ide_support_ue.png create mode 100644 Table/Plugins/VisualStudioTools/Docs/images/test_explorer.png create mode 100644 Table/Plugins/VisualStudioTools/Docs/images/test_options.png create mode 100644 Table/Plugins/VisualStudioTools/LICENSE create mode 100644 Table/Plugins/VisualStudioTools/README.md create mode 100644 Table/Plugins/VisualStudioTools/SECURITY.md create mode 100644 Table/Plugins/VisualStudioTools/SUPPORT.md create mode 100644 Table/Plugins/VisualStudioTools/Scripts/Package-Plugin.ps1 create mode 100644 Table/Plugins/VisualStudioTools/Scripts/SignDetached.proj create mode 100644 Table/Plugins/VisualStudioTools/Scripts/packages.config create mode 100644 Table/Plugins/VisualStudioTools/Source/.editorconfig create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/VisualStudioBlueprintDebuggerHelper.Build.cs create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelper.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelpers.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/FSmartBSTR.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioTools.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.cpp create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Public/VisualStudioTools.h create mode 100644 Table/Plugins/VisualStudioTools/Source/VisualStudioTools/VisualStudioTools.Build.cs create mode 100644 Table/Plugins/VisualStudioTools/VisualStudioTools.uplugin create mode 100644 Table/Plugins/VisualStudioTools/azure-pipelines/Support-extra-UBT-args-in-UAT.BuildPlugin.patch create mode 100644 Table/Plugins/VisualStudioTools/azure-pipelines/TSAOptions.json create mode 100644 Table/Plugins/VisualStudioTools/azure-pipelines/compliance.yml create mode 100644 Table/Plugins/VisualStudioTools/azure-pipelines/release.yml create mode 100644 Table/Plugins/VisualStudioTools/build.proj create mode 100644 Table/Source/Table.Target.cs create mode 100644 Table/Source/Table/Private/ContentNodeWidget.cpp create mode 100644 Table/Source/Table/Private/DetectionManager.cpp create mode 100644 Table/Source/Table/Private/FingerTip.cpp create mode 100644 Table/Source/Table/Private/GestureAction.cpp create mode 100644 Table/Source/Table/Private/GestureData.cpp create mode 100644 Table/Source/Table/Private/GestureDefinition.cpp create mode 100644 Table/Source/Table/Private/GestureManagerComponent.cpp create mode 100644 Table/Source/Table/Private/HandActor.cpp create mode 100644 Table/Source/Table/Private/HandManager.cpp create mode 100644 Table/Source/Table/Private/JsonSelectionOption.cpp create mode 100644 Table/Source/Table/Private/UserHUDWidget.cpp create mode 100644 Table/Source/Table/Public/ContentNodeWidget.h create mode 100644 Table/Source/Table/Public/DetectionManager.h create mode 100644 Table/Source/Table/Public/FingerTip.h create mode 100644 Table/Source/Table/Public/GestureAction.h create mode 100644 Table/Source/Table/Public/GestureData.h create mode 100644 Table/Source/Table/Public/GestureDefinition.h create mode 100644 Table/Source/Table/Public/GestureManagerComponent.h create mode 100644 Table/Source/Table/Public/HandActor.h create mode 100644 Table/Source/Table/Public/HandManager.h create mode 100644 Table/Source/Table/Public/JsonSelectionOption.h create mode 100644 Table/Source/Table/Public/OpenCVIncludes.h create mode 100644 Table/Source/Table/Public/UserHUDWidget.h create mode 100644 Table/Source/Table/Table.Build.cs create mode 100644 Table/Source/Table/Table.cpp create mode 100644 Table/Source/Table/Table.h create mode 100644 Table/Source/TableEditor.Target.cs create mode 100644 Table/Table.uproject create mode 100644 charuco_A4.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6528db1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +# Unreal Engine build folders +Table/Binaries/ +Table/DerivedDataCache/ +Table/Intermediate/ +Table/Saved/ +Table/Build/ + +# Visual Studio / Rider / IDE files +.vs/ +.vscode/ +*.sln +*.VC.db +*.VC.opendb + +# Unreal local files +*.log +*.tlog +*.opensdf +*.sdf +*.cache +*.pdb + +# OS junk +Thumbs.db +.DS_Store + +# Packed assets (optional) +*.pak +*.zip + +# Crash reports +CrashReports/ + +# Shader cache +Table/Saved/ShaderDebugInfo/ +Table/Saved/Config/CrashReportClient/ + +Table/ThirdParty/opencv/ \ No newline at end of file diff --git a/Table/.vsconfig b/Table/.vsconfig new file mode 100644 index 0000000..b981b2e --- /dev/null +++ b/Table/.vsconfig @@ -0,0 +1,19 @@ +{ + "version": "1.0", + "components": [ + "Component.Unreal.Debugger", + "Component.Unreal.Ide", + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL", + "Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64", + "Microsoft.VisualStudio.Component.VC.Llvm.Clang", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.CoreEditor", + "Microsoft.VisualStudio.Workload.ManagedDesktop", + "Microsoft.VisualStudio.Workload.NativeDesktop", + "Microsoft.VisualStudio.Workload.NativeGame" + ] +} diff --git a/Table/Config/DefaultEditor.ini b/Table/Config/DefaultEditor.ini new file mode 100644 index 0000000..7c1f0ef --- /dev/null +++ b/Table/Config/DefaultEditor.ini @@ -0,0 +1,5 @@ +[/Script/AdvancedPreviewScene.SharedProfiles] ++Profiles=(ProfileName="Epic Headquarters",bSharedProfile=True,bIsEngineDefaultProfile=True,bUseSkyLighting=True,DirectionalLightIntensity=1.000000,DirectionalLightColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SkyLightIntensity=1.000000,bRotateLightingRig=False,bShowEnvironment=True,bShowFloor=True,bShowGrid=False,EnvironmentColor=(R=0.200000,G=0.200000,B=0.200000,A=1.000000),EnvironmentIntensity=1.000000,EnvironmentCubeMapPath="/Engine/EditorMaterials/AssetViewer/EpicQuadPanorama_CC+EV1.EpicQuadPanorama_CC+EV1",bPostProcessingEnabled=True,PostProcessingSettings=(bOverride_TemperatureType=False,bOverride_WhiteTemp=False,bOverride_WhiteTint=False,bOverride_ColorSaturation=False,bOverride_ColorContrast=False,bOverride_ColorGamma=False,bOverride_ColorGain=False,bOverride_ColorOffset=False,bOverride_ColorSaturationShadows=False,bOverride_ColorContrastShadows=False,bOverride_ColorGammaShadows=False,bOverride_ColorGainShadows=False,bOverride_ColorOffsetShadows=False,bOverride_ColorSaturationMidtones=False,bOverride_ColorContrastMidtones=False,bOverride_ColorGammaMidtones=False,bOverride_ColorGainMidtones=False,bOverride_ColorOffsetMidtones=False,bOverride_ColorSaturationHighlights=False,bOverride_ColorContrastHighlights=False,bOverride_ColorGammaHighlights=False,bOverride_ColorGainHighlights=False,bOverride_ColorOffsetHighlights=False,bOverride_ColorCorrectionShadowsMax=False,bOverride_ColorCorrectionHighlightsMin=False,bOverride_ColorCorrectionHighlightsMax=False,bOverride_BlueCorrection=False,bOverride_ExpandGamut=False,bOverride_ToneCurveAmount=False,bOverride_FilmSlope=False,bOverride_FilmToe=False,bOverride_FilmShoulder=False,bOverride_FilmBlackClip=False,bOverride_FilmWhiteClip=False,bOverride_SceneColorTint=False,bOverride_SceneFringeIntensity=False,bOverride_ChromaticAberrationStartOffset=False,bOverride_bMegaLights=False,bOverride_AmbientCubemapTint=False,bOverride_AmbientCubemapIntensity=False,bOverride_BloomMethod=False,bOverride_BloomIntensity=False,bOverride_BloomGaussianIntensity=False,bOverride_BloomThreshold=False,bOverride_Bloom1Tint=False,bOverride_Bloom1Size=False,bOverride_Bloom2Size=False,bOverride_Bloom2Tint=False,bOverride_Bloom3Tint=False,bOverride_Bloom3Size=False,bOverride_Bloom4Tint=False,bOverride_Bloom4Size=False,bOverride_Bloom5Tint=False,bOverride_Bloom5Size=False,bOverride_Bloom6Tint=False,bOverride_Bloom6Size=False,bOverride_BloomSizeScale=False,bOverride_BloomConvolutionIntensity=False,bOverride_BloomConvolutionTexture=False,bOverride_BloomConvolutionScatterDispersion=False,bOverride_BloomConvolutionSize=False,bOverride_BloomConvolutionCenterUV=False,bOverride_BloomConvolutionPreFilterMin=False,bOverride_BloomConvolutionPreFilterMax=False,bOverride_BloomConvolutionPreFilterMult=False,bOverride_BloomConvolutionBufferScale=False,bOverride_BloomDirtMaskIntensity=False,bOverride_BloomDirtMaskTint=False,bOverride_BloomDirtMask=False,bOverride_CameraShutterSpeed=False,bOverride_CameraISO=False,bOverride_AutoExposureMethod=False,bOverride_AutoExposureLowPercent=False,bOverride_AutoExposureHighPercent=False,bOverride_AutoExposureMinBrightness=False,bOverride_AutoExposureMaxBrightness=False,bOverride_AutoExposureSpeedUp=False,bOverride_AutoExposureSpeedDown=False,bOverride_AutoExposureBias=False,bOverride_AutoExposureBiasCurve=False,bOverride_AutoExposureMeterMask=False,bOverride_AutoExposureApplyPhysicalCameraExposure=False,bOverride_HistogramLogMin=False,bOverride_HistogramLogMax=False,bOverride_LocalExposureMethod=False,bOverride_LocalExposureHighlightContrastScale=False,bOverride_LocalExposureShadowContrastScale=False,bOverride_LocalExposureHighlightContrastCurve=False,bOverride_LocalExposureShadowContrastCurve=False,bOverride_LocalExposureHighlightThreshold=False,bOverride_LocalExposureShadowThreshold=False,bOverride_LocalExposureDetailStrength=False,bOverride_LocalExposureBlurredLuminanceBlend=False,bOverride_LocalExposureBlurredLuminanceKernelSizePercent=False,bOverride_LocalExposureHighlightThresholdStrength=False,bOverride_LocalExposureShadowThresholdStrength=False,bOverride_LocalExposureMiddleGreyBias=False,bOverride_LensFlareIntensity=False,bOverride_LensFlareTint=False,bOverride_LensFlareTints=False,bOverride_LensFlareBokehSize=False,bOverride_LensFlareBokehShape=False,bOverride_LensFlareThreshold=False,bOverride_VignetteIntensity=False,bOverride_Sharpen=False,bOverride_FilmGrainIntensity=False,bOverride_FilmGrainIntensityShadows=False,bOverride_FilmGrainIntensityMidtones=False,bOverride_FilmGrainIntensityHighlights=False,bOverride_FilmGrainShadowsMax=False,bOverride_FilmGrainHighlightsMin=False,bOverride_FilmGrainHighlightsMax=False,bOverride_FilmGrainTexelSize=False,bOverride_FilmGrainTexture=False,bOverride_AmbientOcclusionIntensity=False,bOverride_AmbientOcclusionStaticFraction=False,bOverride_AmbientOcclusionRadius=False,bOverride_AmbientOcclusionFadeDistance=False,bOverride_AmbientOcclusionFadeRadius=False,bOverride_AmbientOcclusionRadiusInWS=False,bOverride_AmbientOcclusionPower=False,bOverride_AmbientOcclusionBias=False,bOverride_AmbientOcclusionQuality=False,bOverride_AmbientOcclusionMipBlend=False,bOverride_AmbientOcclusionMipScale=False,bOverride_AmbientOcclusionMipThreshold=False,bOverride_AmbientOcclusionTemporalBlendWeight=False,bOverride_RayTracingAO=False,bOverride_RayTracingAOSamplesPerPixel=False,bOverride_RayTracingAOIntensity=False,bOverride_RayTracingAORadius=False,bOverride_IndirectLightingColor=False,bOverride_IndirectLightingIntensity=False,bOverride_ColorGradingIntensity=False,bOverride_ColorGradingLUT=False,bOverride_DepthOfFieldFocalDistance=False,bOverride_DepthOfFieldFstop=False,bOverride_DepthOfFieldMinFstop=False,bOverride_DepthOfFieldBladeCount=False,bOverride_DepthOfFieldSensorWidth=False,bOverride_DepthOfFieldSqueezeFactor=False,bOverride_DepthOfFieldDepthBlurRadius=False,bOverride_DepthOfFieldUseHairDepth=False,bOverride_DepthOfFieldPetzvalBokeh=False,bOverride_DepthOfFieldPetzvalBokehFalloff=False,bOverride_DepthOfFieldPetzvalExclusionBoxExtents=False,bOverride_DepthOfFieldPetzvalExclusionBoxRadius=False,bOverride_DepthOfFieldAspectRatioScalar=False,bOverride_DepthOfFieldMatteBoxFlags=False,bOverride_DepthOfFieldBarrelRadius=False,bOverride_DepthOfFieldBarrelLength=False,bOverride_DepthOfFieldDepthBlurAmount=False,bOverride_DepthOfFieldFocalRegion=False,bOverride_DepthOfFieldNearTransitionRegion=False,bOverride_DepthOfFieldFarTransitionRegion=False,bOverride_DepthOfFieldScale=False,bOverride_DepthOfFieldNearBlurSize=False,bOverride_DepthOfFieldFarBlurSize=False,bOverride_MobileHQGaussian=False,bOverride_DepthOfFieldOcclusion=False,bOverride_DepthOfFieldSkyFocusDistance=False,bOverride_DepthOfFieldVignetteSize=False,bOverride_MotionBlurAmount=False,bOverride_MotionBlurMax=False,bOverride_MotionBlurTargetFPS=False,bOverride_MotionBlurPerObjectSize=False,bOverride_ReflectionMethod=False,bOverride_LumenReflectionQuality=False,bOverride_ScreenSpaceReflectionIntensity=False,bOverride_ScreenSpaceReflectionQuality=False,bOverride_ScreenSpaceReflectionMaxRoughness=False,bOverride_ScreenSpaceReflectionRoughnessScale=False,bOverride_UserFlags=False,bOverride_RayTracingReflectionsMaxRoughness=False,bOverride_RayTracingReflectionsMaxBounces=False,bOverride_RayTracingReflectionsSamplesPerPixel=False,bOverride_RayTracingReflectionsShadows=False,bOverride_RayTracingReflectionsTranslucency=False,bOverride_TranslucencyType=False,bOverride_RayTracingTranslucencyMaxRoughness=False,bOverride_RayTracingTranslucencyRefractionRays=False,bOverride_RayTracingTranslucencySamplesPerPixel=False,bOverride_RayTracingTranslucencyShadows=False,bOverride_RayTracingTranslucencyRefraction=False,bOverride_RayTracingTranslucencyMaxPrimaryHitEvents=False,bOverride_RayTracingTranslucencyMaxSecondaryHitEvents=False,bOverride_RayTracingTranslucencyUseRayTracedRefraction=False,bOverride_DynamicGlobalIlluminationMethod=False,bOverride_LumenSceneLightingQuality=False,bOverride_LumenSceneDetail=False,bOverride_LumenSceneViewDistance=False,bOverride_LumenSceneLightingUpdateSpeed=False,bOverride_LumenFinalGatherQuality=False,bOverride_LumenFinalGatherLightingUpdateSpeed=False,bOverride_LumenFinalGatherScreenTraces=False,bOverride_LumenMaxTraceDistance=False,bOverride_LumenDiffuseColorBoost=False,bOverride_LumenSkylightLeaking=False,bOverride_LumenSkylightLeakingTint=False,bOverride_LumenFullSkylightLeakingDistance=False,bOverride_LumenRayLightingMode=False,bOverride_LumenReflectionsScreenTraces=False,bOverride_LumenFrontLayerTranslucencyReflections=False,bOverride_LumenMaxRoughnessToTraceReflections=False,bOverride_LumenMaxReflectionBounces=False,bOverride_LumenMaxRefractionBounces=False,bOverride_LumenSurfaceCacheResolution=False,bOverride_RayTracingGI=False,bOverride_RayTracingGIMaxBounces=False,bOverride_RayTracingGISamplesPerPixel=False,bOverride_PathTracingMaxBounces=False,bOverride_PathTracingSamplesPerPixel=False,bOverride_PathTracingMaxPathIntensity=False,bOverride_PathTracingEnableEmissiveMaterials=False,bOverride_PathTracingEnableReferenceDOF=False,bOverride_PathTracingEnableReferenceAtmosphere=False,bOverride_PathTracingEnableDenoiser=False,bOverride_PathTracingIncludeEmissive=False,bOverride_PathTracingIncludeDiffuse=False,bOverride_PathTracingIncludeIndirectDiffuse=False,bOverride_PathTracingIncludeSpecular=False,bOverride_PathTracingIncludeIndirectSpecular=False,bOverride_PathTracingIncludeVolume=False,bOverride_PathTracingIncludeIndirectVolume=False,bMobileHQGaussian=False,BloomMethod=BM_SOG,AutoExposureMethod=AEM_Histogram,TemperatureType=TEMP_WhiteBalance,WhiteTemp=6500.000000,WhiteTint=0.000000,ColorSaturation=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrast=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGamma=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGain=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffset=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetShadows=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetMidtones=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetHighlights=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorCorrectionHighlightsMin=0.500000,ColorCorrectionHighlightsMax=1.000000,ColorCorrectionShadowsMax=0.090000,BlueCorrection=0.600000,ExpandGamut=1.000000,ToneCurveAmount=1.000000,FilmSlope=0.880000,FilmToe=0.550000,FilmShoulder=0.260000,FilmBlackClip=0.000000,FilmWhiteClip=0.040000,SceneColorTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SceneFringeIntensity=0.000000,ChromaticAberrationStartOffset=0.000000,BloomIntensity=0.675000,BloomGaussianIntensity=1.000000,BloomThreshold=-1.000000,BloomSizeScale=4.000000,Bloom1Size=0.300000,Bloom2Size=1.000000,Bloom3Size=2.000000,Bloom4Size=10.000000,Bloom5Size=30.000000,Bloom6Size=64.000000,Bloom1Tint=(R=0.346500,G=0.346500,B=0.346500,A=1.000000),Bloom2Tint=(R=0.138000,G=0.138000,B=0.138000,A=1.000000),Bloom3Tint=(R=0.117600,G=0.117600,B=0.117600,A=1.000000),Bloom4Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom5Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom6Tint=(R=0.061000,G=0.061000,B=0.061000,A=1.000000),BloomConvolutionIntensity=1.000000,BloomConvolutionScatterDispersion=1.000000,BloomConvolutionSize=1.000000,BloomConvolutionTexture=None,BloomConvolutionCenterUV=(X=0.500000,Y=0.500000),BloomConvolutionPreFilterMin=7.000000,BloomConvolutionPreFilterMax=15000.000000,BloomConvolutionPreFilterMult=15.000000,BloomConvolutionBufferScale=0.133000,BloomDirtMask=None,BloomDirtMaskIntensity=0.000000,BloomDirtMaskTint=(R=0.500000,G=0.500000,B=0.500000,A=1.000000),DynamicGlobalIlluminationMethod=Lumen,IndirectLightingColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),IndirectLightingIntensity=1.000000,LumenRayLightingMode=Default,LumenSceneLightingQuality=1.000000,LumenSceneDetail=1.000000,LumenSceneViewDistance=20000.000000,LumenSceneLightingUpdateSpeed=1.000000,LumenFinalGatherQuality=1.000000,LumenFinalGatherLightingUpdateSpeed=1.000000,LumenFinalGatherScreenTraces=True,LumenMaxTraceDistance=20000.000000,LumenDiffuseColorBoost=1.000000,LumenSkylightLeaking=0.000000,LumenSkylightLeakingTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LumenFullSkylightLeakingDistance=1000.000000,LumenSurfaceCacheResolution=1.000000,ReflectionMethod=Lumen,LumenReflectionQuality=1.000000,LumenReflectionsScreenTraces=True,LumenFrontLayerTranslucencyReflections=False,LumenMaxRoughnessToTraceReflections=0.400000,LumenMaxReflectionBounces=1,LumenMaxRefractionBounces=0,ScreenSpaceReflectionIntensity=100.000000,ScreenSpaceReflectionQuality=50.000000,ScreenSpaceReflectionMaxRoughness=0.600000,bMegaLights=True,AmbientCubemapTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),AmbientCubemapIntensity=1.000000,AmbientCubemap=None,CameraShutterSpeed=60.000000,CameraISO=100.000000,DepthOfFieldFstop=4.000000,DepthOfFieldMinFstop=1.200000,DepthOfFieldBladeCount=5,AutoExposureBias=1.000000,AutoExposureBiasBackup=0.000000,bOverride_AutoExposureBiasBackup=False,AutoExposureApplyPhysicalCameraExposure=True,AutoExposureBiasCurve=None,AutoExposureMeterMask=None,AutoExposureLowPercent=10.000000,AutoExposureHighPercent=90.000000,AutoExposureMinBrightness=-10.000000,AutoExposureMaxBrightness=20.000000,AutoExposureSpeedUp=3.000000,AutoExposureSpeedDown=1.000000,HistogramLogMin=-10.000000,HistogramLogMax=20.000000,LocalExposureMethod=Bilateral,LocalExposureHighlightContrastScale=1.000000,LocalExposureShadowContrastScale=1.000000,LocalExposureHighlightContrastCurve=None,LocalExposureShadowContrastCurve=None,LocalExposureHighlightThreshold=0.000000,LocalExposureShadowThreshold=0.000000,LocalExposureDetailStrength=1.000000,LocalExposureBlurredLuminanceBlend=0.600000,LocalExposureBlurredLuminanceKernelSizePercent=50.000000,LocalExposureHighlightThresholdStrength=1.000000,LocalExposureShadowThresholdStrength=1.000000,LocalExposureMiddleGreyBias=0.000000,LensFlareIntensity=1.000000,LensFlareTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LensFlareBokehSize=3.000000,LensFlareThreshold=8.000000,LensFlareBokehShape=None,LensFlareTints[0]=(R=1.000000,G=0.800000,B=0.400000,A=0.600000),LensFlareTints[1]=(R=1.000000,G=1.000000,B=0.600000,A=0.530000),LensFlareTints[2]=(R=0.800000,G=0.800000,B=1.000000,A=0.460000),LensFlareTints[3]=(R=0.500000,G=1.000000,B=0.400000,A=0.390000),LensFlareTints[4]=(R=0.500000,G=0.800000,B=1.000000,A=0.310000),LensFlareTints[5]=(R=0.900000,G=1.000000,B=0.800000,A=0.270000),LensFlareTints[6]=(R=1.000000,G=0.800000,B=0.400000,A=0.220000),LensFlareTints[7]=(R=0.900000,G=0.700000,B=0.700000,A=0.150000),VignetteIntensity=0.400000,Sharpen=0.000000,FilmGrainIntensity=0.000000,FilmGrainIntensityShadows=1.000000,FilmGrainIntensityMidtones=1.000000,FilmGrainIntensityHighlights=1.000000,FilmGrainShadowsMax=0.090000,FilmGrainHighlightsMin=0.500000,FilmGrainHighlightsMax=1.000000,FilmGrainTexelSize=1.000000,FilmGrainTexture=None,AmbientOcclusionIntensity=0.500000,AmbientOcclusionStaticFraction=1.000000,AmbientOcclusionRadius=200.000000,AmbientOcclusionRadiusInWS=False,AmbientOcclusionFadeDistance=8000.000000,AmbientOcclusionFadeRadius=5000.000000,AmbientOcclusionPower=2.000000,AmbientOcclusionBias=3.000000,AmbientOcclusionQuality=50.000000,AmbientOcclusionMipBlend=0.600000,AmbientOcclusionMipScale=1.700000,AmbientOcclusionMipThreshold=0.010000,AmbientOcclusionTemporalBlendWeight=0.100000,RayTracingAO=False,RayTracingAOSamplesPerPixel=1,RayTracingAOIntensity=1.000000,RayTracingAORadius=200.000000,ColorGradingIntensity=1.000000,ColorGradingLUT=None,DepthOfFieldSensorWidth=24.576000,DepthOfFieldSqueezeFactor=1.000000,DepthOfFieldFocalDistance=0.000000,DepthOfFieldDepthBlurAmount=1.000000,DepthOfFieldDepthBlurRadius=0.000000,DepthOfFieldUseHairDepth=False,DepthOfFieldPetzvalBokeh=0.000000,DepthOfFieldPetzvalBokehFalloff=1.000000,DepthOfFieldPetzvalExclusionBoxExtents=(X=0.000000,Y=0.000000),DepthOfFieldPetzvalExclusionBoxRadius=0.000000,DepthOfFieldAspectRatioScalar=1.000000,DepthOfFieldBarrelRadius=5.000000,DepthOfFieldBarrelLength=0.000000,DepthOfFieldMatteBoxFlags[0]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[1]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[2]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldFocalRegion=0.000000,DepthOfFieldNearTransitionRegion=300.000000,DepthOfFieldFarTransitionRegion=500.000000,DepthOfFieldScale=0.000000,DepthOfFieldNearBlurSize=15.000000,DepthOfFieldFarBlurSize=15.000000,DepthOfFieldOcclusion=0.400000,DepthOfFieldSkyFocusDistance=0.000000,DepthOfFieldVignetteSize=200.000000,MotionBlurAmount=0.500000,MotionBlurMax=5.000000,MotionBlurTargetFPS=30,MotionBlurPerObjectSize=0.000000,TranslucencyType=Raster,RayTracingTranslucencyMaxRoughness=0.600000,RayTracingTranslucencyRefractionRays=3,RayTracingTranslucencySamplesPerPixel=1,RayTracingTranslucencyMaxPrimaryHitEvents=4,RayTracingTranslucencyMaxSecondaryHitEvents=2,RayTracingTranslucencyShadows=Hard_shadows,RayTracingTranslucencyRefraction=True,RayTracingTranslucencyUseRayTracedRefraction=False,PathTracingMaxBounces=32,PathTracingSamplesPerPixel=2048,PathTracingMaxPathIntensity=24.000000,PathTracingEnableEmissiveMaterials=True,PathTracingEnableReferenceDOF=False,PathTracingEnableReferenceAtmosphere=False,PathTracingEnableDenoiser=True,PathTracingIncludeEmissive=True,PathTracingIncludeDiffuse=True,PathTracingIncludeIndirectDiffuse=True,PathTracingIncludeSpecular=True,PathTracingIncludeIndirectSpecular=True,PathTracingIncludeVolume=True,PathTracingIncludeIndirectVolume=True,UserFlags=0,WeightedBlendables=(Array=)),LightingRigRotation=0.000000,RotationSpeed=2.000000,DirectionalLightRotation=(Pitch=-40.000000,Yaw=-67.500000,Roll=0.000000),bEnableToneMapping=True,bShowMeshEdges=False) ++Profiles=(ProfileName="Grey Wireframe",bSharedProfile=True,bIsEngineDefaultProfile=True,bUseSkyLighting=True,DirectionalLightIntensity=1.000000,DirectionalLightColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SkyLightIntensity=1.000000,bRotateLightingRig=False,bShowEnvironment=False,bShowFloor=False,bShowGrid=True,EnvironmentColor=(R=0.039216,G=0.039216,B=0.039216,A=1.000000),EnvironmentIntensity=1.000000,EnvironmentCubeMapPath="/Engine/EditorMaterials/AssetViewer/EpicQuadPanorama_CC+EV1.EpicQuadPanorama_CC+EV1",bPostProcessingEnabled=False,PostProcessingSettings=(bOverride_TemperatureType=False,bOverride_WhiteTemp=False,bOverride_WhiteTint=False,bOverride_ColorSaturation=False,bOverride_ColorContrast=False,bOverride_ColorGamma=False,bOverride_ColorGain=False,bOverride_ColorOffset=False,bOverride_ColorSaturationShadows=False,bOverride_ColorContrastShadows=False,bOverride_ColorGammaShadows=False,bOverride_ColorGainShadows=False,bOverride_ColorOffsetShadows=False,bOverride_ColorSaturationMidtones=False,bOverride_ColorContrastMidtones=False,bOverride_ColorGammaMidtones=False,bOverride_ColorGainMidtones=False,bOverride_ColorOffsetMidtones=False,bOverride_ColorSaturationHighlights=False,bOverride_ColorContrastHighlights=False,bOverride_ColorGammaHighlights=False,bOverride_ColorGainHighlights=False,bOverride_ColorOffsetHighlights=False,bOverride_ColorCorrectionShadowsMax=False,bOverride_ColorCorrectionHighlightsMin=False,bOverride_ColorCorrectionHighlightsMax=False,bOverride_BlueCorrection=False,bOverride_ExpandGamut=False,bOverride_ToneCurveAmount=False,bOverride_FilmSlope=False,bOverride_FilmToe=False,bOverride_FilmShoulder=False,bOverride_FilmBlackClip=False,bOverride_FilmWhiteClip=False,bOverride_SceneColorTint=False,bOverride_SceneFringeIntensity=False,bOverride_ChromaticAberrationStartOffset=False,bOverride_bMegaLights=False,bOverride_AmbientCubemapTint=False,bOverride_AmbientCubemapIntensity=False,bOverride_BloomMethod=False,bOverride_BloomIntensity=False,bOverride_BloomGaussianIntensity=False,bOverride_BloomThreshold=False,bOverride_Bloom1Tint=False,bOverride_Bloom1Size=False,bOverride_Bloom2Size=False,bOverride_Bloom2Tint=False,bOverride_Bloom3Tint=False,bOverride_Bloom3Size=False,bOverride_Bloom4Tint=False,bOverride_Bloom4Size=False,bOverride_Bloom5Tint=False,bOverride_Bloom5Size=False,bOverride_Bloom6Tint=False,bOverride_Bloom6Size=False,bOverride_BloomSizeScale=False,bOverride_BloomConvolutionIntensity=False,bOverride_BloomConvolutionTexture=False,bOverride_BloomConvolutionScatterDispersion=False,bOverride_BloomConvolutionSize=False,bOverride_BloomConvolutionCenterUV=False,bOverride_BloomConvolutionPreFilterMin=False,bOverride_BloomConvolutionPreFilterMax=False,bOverride_BloomConvolutionPreFilterMult=False,bOverride_BloomConvolutionBufferScale=False,bOverride_BloomDirtMaskIntensity=False,bOverride_BloomDirtMaskTint=False,bOverride_BloomDirtMask=False,bOverride_CameraShutterSpeed=False,bOverride_CameraISO=False,bOverride_AutoExposureMethod=False,bOverride_AutoExposureLowPercent=False,bOverride_AutoExposureHighPercent=False,bOverride_AutoExposureMinBrightness=False,bOverride_AutoExposureMaxBrightness=False,bOverride_AutoExposureSpeedUp=False,bOverride_AutoExposureSpeedDown=False,bOverride_AutoExposureBias=False,bOverride_AutoExposureBiasCurve=False,bOverride_AutoExposureMeterMask=False,bOverride_AutoExposureApplyPhysicalCameraExposure=False,bOverride_HistogramLogMin=False,bOverride_HistogramLogMax=False,bOverride_LocalExposureMethod=False,bOverride_LocalExposureHighlightContrastScale=False,bOverride_LocalExposureShadowContrastScale=False,bOverride_LocalExposureHighlightContrastCurve=False,bOverride_LocalExposureShadowContrastCurve=False,bOverride_LocalExposureHighlightThreshold=False,bOverride_LocalExposureShadowThreshold=False,bOverride_LocalExposureDetailStrength=False,bOverride_LocalExposureBlurredLuminanceBlend=False,bOverride_LocalExposureBlurredLuminanceKernelSizePercent=False,bOverride_LocalExposureHighlightThresholdStrength=False,bOverride_LocalExposureShadowThresholdStrength=False,bOverride_LocalExposureMiddleGreyBias=False,bOverride_LensFlareIntensity=False,bOverride_LensFlareTint=False,bOverride_LensFlareTints=False,bOverride_LensFlareBokehSize=False,bOverride_LensFlareBokehShape=False,bOverride_LensFlareThreshold=False,bOverride_VignetteIntensity=False,bOverride_Sharpen=False,bOverride_FilmGrainIntensity=False,bOverride_FilmGrainIntensityShadows=False,bOverride_FilmGrainIntensityMidtones=False,bOverride_FilmGrainIntensityHighlights=False,bOverride_FilmGrainShadowsMax=False,bOverride_FilmGrainHighlightsMin=False,bOverride_FilmGrainHighlightsMax=False,bOverride_FilmGrainTexelSize=False,bOverride_FilmGrainTexture=False,bOverride_AmbientOcclusionIntensity=False,bOverride_AmbientOcclusionStaticFraction=False,bOverride_AmbientOcclusionRadius=False,bOverride_AmbientOcclusionFadeDistance=False,bOverride_AmbientOcclusionFadeRadius=False,bOverride_AmbientOcclusionRadiusInWS=False,bOverride_AmbientOcclusionPower=False,bOverride_AmbientOcclusionBias=False,bOverride_AmbientOcclusionQuality=False,bOverride_AmbientOcclusionMipBlend=False,bOverride_AmbientOcclusionMipScale=False,bOverride_AmbientOcclusionMipThreshold=False,bOverride_AmbientOcclusionTemporalBlendWeight=False,bOverride_RayTracingAO=False,bOverride_RayTracingAOSamplesPerPixel=False,bOverride_RayTracingAOIntensity=False,bOverride_RayTracingAORadius=False,bOverride_IndirectLightingColor=False,bOverride_IndirectLightingIntensity=False,bOverride_ColorGradingIntensity=False,bOverride_ColorGradingLUT=False,bOverride_DepthOfFieldFocalDistance=False,bOverride_DepthOfFieldFstop=False,bOverride_DepthOfFieldMinFstop=False,bOverride_DepthOfFieldBladeCount=False,bOverride_DepthOfFieldSensorWidth=False,bOverride_DepthOfFieldSqueezeFactor=False,bOverride_DepthOfFieldDepthBlurRadius=False,bOverride_DepthOfFieldUseHairDepth=False,bOverride_DepthOfFieldPetzvalBokeh=False,bOverride_DepthOfFieldPetzvalBokehFalloff=False,bOverride_DepthOfFieldPetzvalExclusionBoxExtents=False,bOverride_DepthOfFieldPetzvalExclusionBoxRadius=False,bOverride_DepthOfFieldAspectRatioScalar=False,bOverride_DepthOfFieldMatteBoxFlags=False,bOverride_DepthOfFieldBarrelRadius=False,bOverride_DepthOfFieldBarrelLength=False,bOverride_DepthOfFieldDepthBlurAmount=False,bOverride_DepthOfFieldFocalRegion=False,bOverride_DepthOfFieldNearTransitionRegion=False,bOverride_DepthOfFieldFarTransitionRegion=False,bOverride_DepthOfFieldScale=False,bOverride_DepthOfFieldNearBlurSize=False,bOverride_DepthOfFieldFarBlurSize=False,bOverride_MobileHQGaussian=False,bOverride_DepthOfFieldOcclusion=False,bOverride_DepthOfFieldSkyFocusDistance=False,bOverride_DepthOfFieldVignetteSize=False,bOverride_MotionBlurAmount=False,bOverride_MotionBlurMax=False,bOverride_MotionBlurTargetFPS=False,bOverride_MotionBlurPerObjectSize=False,bOverride_ReflectionMethod=False,bOverride_LumenReflectionQuality=False,bOverride_ScreenSpaceReflectionIntensity=False,bOverride_ScreenSpaceReflectionQuality=False,bOverride_ScreenSpaceReflectionMaxRoughness=False,bOverride_ScreenSpaceReflectionRoughnessScale=False,bOverride_UserFlags=False,bOverride_RayTracingReflectionsMaxRoughness=False,bOverride_RayTracingReflectionsMaxBounces=False,bOverride_RayTracingReflectionsSamplesPerPixel=False,bOverride_RayTracingReflectionsShadows=False,bOverride_RayTracingReflectionsTranslucency=False,bOverride_TranslucencyType=False,bOverride_RayTracingTranslucencyMaxRoughness=False,bOverride_RayTracingTranslucencyRefractionRays=False,bOverride_RayTracingTranslucencySamplesPerPixel=False,bOverride_RayTracingTranslucencyShadows=False,bOverride_RayTracingTranslucencyRefraction=False,bOverride_RayTracingTranslucencyMaxPrimaryHitEvents=False,bOverride_RayTracingTranslucencyMaxSecondaryHitEvents=False,bOverride_RayTracingTranslucencyUseRayTracedRefraction=False,bOverride_DynamicGlobalIlluminationMethod=False,bOverride_LumenSceneLightingQuality=False,bOverride_LumenSceneDetail=False,bOverride_LumenSceneViewDistance=False,bOverride_LumenSceneLightingUpdateSpeed=False,bOverride_LumenFinalGatherQuality=False,bOverride_LumenFinalGatherLightingUpdateSpeed=False,bOverride_LumenFinalGatherScreenTraces=False,bOverride_LumenMaxTraceDistance=False,bOverride_LumenDiffuseColorBoost=False,bOverride_LumenSkylightLeaking=False,bOverride_LumenSkylightLeakingTint=False,bOverride_LumenFullSkylightLeakingDistance=False,bOverride_LumenRayLightingMode=False,bOverride_LumenReflectionsScreenTraces=False,bOverride_LumenFrontLayerTranslucencyReflections=False,bOverride_LumenMaxRoughnessToTraceReflections=False,bOverride_LumenMaxReflectionBounces=False,bOverride_LumenMaxRefractionBounces=False,bOverride_LumenSurfaceCacheResolution=False,bOverride_RayTracingGI=False,bOverride_RayTracingGIMaxBounces=False,bOverride_RayTracingGISamplesPerPixel=False,bOverride_PathTracingMaxBounces=False,bOverride_PathTracingSamplesPerPixel=False,bOverride_PathTracingMaxPathIntensity=False,bOverride_PathTracingEnableEmissiveMaterials=False,bOverride_PathTracingEnableReferenceDOF=False,bOverride_PathTracingEnableReferenceAtmosphere=False,bOverride_PathTracingEnableDenoiser=False,bOverride_PathTracingIncludeEmissive=False,bOverride_PathTracingIncludeDiffuse=False,bOverride_PathTracingIncludeIndirectDiffuse=False,bOverride_PathTracingIncludeSpecular=False,bOverride_PathTracingIncludeIndirectSpecular=False,bOverride_PathTracingIncludeVolume=False,bOverride_PathTracingIncludeIndirectVolume=False,bMobileHQGaussian=False,BloomMethod=BM_SOG,AutoExposureMethod=AEM_Histogram,TemperatureType=TEMP_WhiteBalance,WhiteTemp=6500.000000,WhiteTint=0.000000,ColorSaturation=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrast=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGamma=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGain=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffset=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetShadows=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetMidtones=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetHighlights=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorCorrectionHighlightsMin=0.500000,ColorCorrectionHighlightsMax=1.000000,ColorCorrectionShadowsMax=0.090000,BlueCorrection=0.600000,ExpandGamut=1.000000,ToneCurveAmount=1.000000,FilmSlope=0.880000,FilmToe=0.550000,FilmShoulder=0.260000,FilmBlackClip=0.000000,FilmWhiteClip=0.040000,SceneColorTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SceneFringeIntensity=0.000000,ChromaticAberrationStartOffset=0.000000,BloomIntensity=0.675000,BloomGaussianIntensity=1.000000,BloomThreshold=-1.000000,BloomSizeScale=4.000000,Bloom1Size=0.300000,Bloom2Size=1.000000,Bloom3Size=2.000000,Bloom4Size=10.000000,Bloom5Size=30.000000,Bloom6Size=64.000000,Bloom1Tint=(R=0.346500,G=0.346500,B=0.346500,A=1.000000),Bloom2Tint=(R=0.138000,G=0.138000,B=0.138000,A=1.000000),Bloom3Tint=(R=0.117600,G=0.117600,B=0.117600,A=1.000000),Bloom4Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom5Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom6Tint=(R=0.061000,G=0.061000,B=0.061000,A=1.000000),BloomConvolutionIntensity=1.000000,BloomConvolutionScatterDispersion=1.000000,BloomConvolutionSize=1.000000,BloomConvolutionTexture=None,BloomConvolutionCenterUV=(X=0.500000,Y=0.500000),BloomConvolutionPreFilterMin=7.000000,BloomConvolutionPreFilterMax=15000.000000,BloomConvolutionPreFilterMult=15.000000,BloomConvolutionBufferScale=0.133000,BloomDirtMask=None,BloomDirtMaskIntensity=0.000000,BloomDirtMaskTint=(R=0.500000,G=0.500000,B=0.500000,A=1.000000),DynamicGlobalIlluminationMethod=Lumen,IndirectLightingColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),IndirectLightingIntensity=1.000000,LumenRayLightingMode=Default,LumenSceneLightingQuality=1.000000,LumenSceneDetail=1.000000,LumenSceneViewDistance=20000.000000,LumenSceneLightingUpdateSpeed=1.000000,LumenFinalGatherQuality=1.000000,LumenFinalGatherLightingUpdateSpeed=1.000000,LumenFinalGatherScreenTraces=True,LumenMaxTraceDistance=20000.000000,LumenDiffuseColorBoost=1.000000,LumenSkylightLeaking=0.000000,LumenSkylightLeakingTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LumenFullSkylightLeakingDistance=1000.000000,LumenSurfaceCacheResolution=1.000000,ReflectionMethod=Lumen,LumenReflectionQuality=1.000000,LumenReflectionsScreenTraces=True,LumenFrontLayerTranslucencyReflections=False,LumenMaxRoughnessToTraceReflections=0.400000,LumenMaxReflectionBounces=1,LumenMaxRefractionBounces=0,ScreenSpaceReflectionIntensity=100.000000,ScreenSpaceReflectionQuality=50.000000,ScreenSpaceReflectionMaxRoughness=0.600000,bMegaLights=True,AmbientCubemapTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),AmbientCubemapIntensity=1.000000,AmbientCubemap=None,CameraShutterSpeed=60.000000,CameraISO=100.000000,DepthOfFieldFstop=4.000000,DepthOfFieldMinFstop=1.200000,DepthOfFieldBladeCount=5,AutoExposureBias=1.000000,AutoExposureBiasBackup=0.000000,bOverride_AutoExposureBiasBackup=False,AutoExposureApplyPhysicalCameraExposure=True,AutoExposureBiasCurve=None,AutoExposureMeterMask=None,AutoExposureLowPercent=10.000000,AutoExposureHighPercent=90.000000,AutoExposureMinBrightness=-10.000000,AutoExposureMaxBrightness=20.000000,AutoExposureSpeedUp=3.000000,AutoExposureSpeedDown=1.000000,HistogramLogMin=-10.000000,HistogramLogMax=20.000000,LocalExposureMethod=Bilateral,LocalExposureHighlightContrastScale=1.000000,LocalExposureShadowContrastScale=1.000000,LocalExposureHighlightContrastCurve=None,LocalExposureShadowContrastCurve=None,LocalExposureHighlightThreshold=0.000000,LocalExposureShadowThreshold=0.000000,LocalExposureDetailStrength=1.000000,LocalExposureBlurredLuminanceBlend=0.600000,LocalExposureBlurredLuminanceKernelSizePercent=50.000000,LocalExposureHighlightThresholdStrength=1.000000,LocalExposureShadowThresholdStrength=1.000000,LocalExposureMiddleGreyBias=0.000000,LensFlareIntensity=1.000000,LensFlareTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LensFlareBokehSize=3.000000,LensFlareThreshold=8.000000,LensFlareBokehShape=None,LensFlareTints[0]=(R=1.000000,G=0.800000,B=0.400000,A=0.600000),LensFlareTints[1]=(R=1.000000,G=1.000000,B=0.600000,A=0.530000),LensFlareTints[2]=(R=0.800000,G=0.800000,B=1.000000,A=0.460000),LensFlareTints[3]=(R=0.500000,G=1.000000,B=0.400000,A=0.390000),LensFlareTints[4]=(R=0.500000,G=0.800000,B=1.000000,A=0.310000),LensFlareTints[5]=(R=0.900000,G=1.000000,B=0.800000,A=0.270000),LensFlareTints[6]=(R=1.000000,G=0.800000,B=0.400000,A=0.220000),LensFlareTints[7]=(R=0.900000,G=0.700000,B=0.700000,A=0.150000),VignetteIntensity=0.400000,Sharpen=0.000000,FilmGrainIntensity=0.000000,FilmGrainIntensityShadows=1.000000,FilmGrainIntensityMidtones=1.000000,FilmGrainIntensityHighlights=1.000000,FilmGrainShadowsMax=0.090000,FilmGrainHighlightsMin=0.500000,FilmGrainHighlightsMax=1.000000,FilmGrainTexelSize=1.000000,FilmGrainTexture=None,AmbientOcclusionIntensity=0.500000,AmbientOcclusionStaticFraction=1.000000,AmbientOcclusionRadius=200.000000,AmbientOcclusionRadiusInWS=False,AmbientOcclusionFadeDistance=8000.000000,AmbientOcclusionFadeRadius=5000.000000,AmbientOcclusionPower=2.000000,AmbientOcclusionBias=3.000000,AmbientOcclusionQuality=50.000000,AmbientOcclusionMipBlend=0.600000,AmbientOcclusionMipScale=1.700000,AmbientOcclusionMipThreshold=0.010000,AmbientOcclusionTemporalBlendWeight=0.100000,RayTracingAO=False,RayTracingAOSamplesPerPixel=1,RayTracingAOIntensity=1.000000,RayTracingAORadius=200.000000,ColorGradingIntensity=1.000000,ColorGradingLUT=None,DepthOfFieldSensorWidth=24.576000,DepthOfFieldSqueezeFactor=1.000000,DepthOfFieldFocalDistance=0.000000,DepthOfFieldDepthBlurAmount=1.000000,DepthOfFieldDepthBlurRadius=0.000000,DepthOfFieldUseHairDepth=False,DepthOfFieldPetzvalBokeh=0.000000,DepthOfFieldPetzvalBokehFalloff=1.000000,DepthOfFieldPetzvalExclusionBoxExtents=(X=0.000000,Y=0.000000),DepthOfFieldPetzvalExclusionBoxRadius=0.000000,DepthOfFieldAspectRatioScalar=1.000000,DepthOfFieldBarrelRadius=5.000000,DepthOfFieldBarrelLength=0.000000,DepthOfFieldMatteBoxFlags[0]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[1]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[2]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldFocalRegion=0.000000,DepthOfFieldNearTransitionRegion=300.000000,DepthOfFieldFarTransitionRegion=500.000000,DepthOfFieldScale=0.000000,DepthOfFieldNearBlurSize=15.000000,DepthOfFieldFarBlurSize=15.000000,DepthOfFieldOcclusion=0.400000,DepthOfFieldSkyFocusDistance=0.000000,DepthOfFieldVignetteSize=200.000000,MotionBlurAmount=0.500000,MotionBlurMax=5.000000,MotionBlurTargetFPS=30,MotionBlurPerObjectSize=0.000000,TranslucencyType=Raster,RayTracingTranslucencyMaxRoughness=0.600000,RayTracingTranslucencyRefractionRays=3,RayTracingTranslucencySamplesPerPixel=1,RayTracingTranslucencyMaxPrimaryHitEvents=4,RayTracingTranslucencyMaxSecondaryHitEvents=2,RayTracingTranslucencyShadows=Hard_shadows,RayTracingTranslucencyRefraction=True,RayTracingTranslucencyUseRayTracedRefraction=False,PathTracingMaxBounces=32,PathTracingSamplesPerPixel=2048,PathTracingMaxPathIntensity=24.000000,PathTracingEnableEmissiveMaterials=True,PathTracingEnableReferenceDOF=False,PathTracingEnableReferenceAtmosphere=False,PathTracingEnableDenoiser=True,PathTracingIncludeEmissive=True,PathTracingIncludeDiffuse=True,PathTracingIncludeIndirectDiffuse=True,PathTracingIncludeSpecular=True,PathTracingIncludeIndirectSpecular=True,PathTracingIncludeVolume=True,PathTracingIncludeIndirectVolume=True,UserFlags=0,WeightedBlendables=(Array=)),LightingRigRotation=0.000000,RotationSpeed=2.000000,DirectionalLightRotation=(Pitch=-40.000000,Yaw=-67.500000,Roll=0.000000),bEnableToneMapping=False,bShowMeshEdges=True) ++Profiles=(ProfileName="Grey Ambient",bSharedProfile=True,bIsEngineDefaultProfile=True,bUseSkyLighting=True,DirectionalLightIntensity=4.000000,DirectionalLightColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SkyLightIntensity=2.000000,bRotateLightingRig=False,bShowEnvironment=True,bShowFloor=True,bShowGrid=True,EnvironmentColor=(R=0.200000,G=0.200000,B=0.200000,A=1.000000),EnvironmentIntensity=1.000000,EnvironmentCubeMapPath="/Engine/EditorMaterials/AssetViewer/T_GreyAmbient",bPostProcessingEnabled=False,PostProcessingSettings=(bOverride_TemperatureType=False,bOverride_WhiteTemp=False,bOverride_WhiteTint=False,bOverride_ColorSaturation=False,bOverride_ColorContrast=False,bOverride_ColorGamma=False,bOverride_ColorGain=False,bOverride_ColorOffset=False,bOverride_ColorSaturationShadows=False,bOverride_ColorContrastShadows=False,bOverride_ColorGammaShadows=False,bOverride_ColorGainShadows=False,bOverride_ColorOffsetShadows=False,bOverride_ColorSaturationMidtones=False,bOverride_ColorContrastMidtones=False,bOverride_ColorGammaMidtones=False,bOverride_ColorGainMidtones=False,bOverride_ColorOffsetMidtones=False,bOverride_ColorSaturationHighlights=False,bOverride_ColorContrastHighlights=False,bOverride_ColorGammaHighlights=False,bOverride_ColorGainHighlights=False,bOverride_ColorOffsetHighlights=False,bOverride_ColorCorrectionShadowsMax=False,bOverride_ColorCorrectionHighlightsMin=False,bOverride_ColorCorrectionHighlightsMax=False,bOverride_BlueCorrection=False,bOverride_ExpandGamut=False,bOverride_ToneCurveAmount=False,bOverride_FilmSlope=False,bOverride_FilmToe=False,bOverride_FilmShoulder=False,bOverride_FilmBlackClip=False,bOverride_FilmWhiteClip=False,bOverride_SceneColorTint=False,bOverride_SceneFringeIntensity=False,bOverride_ChromaticAberrationStartOffset=False,bOverride_bMegaLights=False,bOverride_AmbientCubemapTint=False,bOverride_AmbientCubemapIntensity=False,bOverride_BloomMethod=False,bOverride_BloomIntensity=False,bOverride_BloomGaussianIntensity=False,bOverride_BloomThreshold=False,bOverride_Bloom1Tint=False,bOverride_Bloom1Size=False,bOverride_Bloom2Size=False,bOverride_Bloom2Tint=False,bOverride_Bloom3Tint=False,bOverride_Bloom3Size=False,bOverride_Bloom4Tint=False,bOverride_Bloom4Size=False,bOverride_Bloom5Tint=False,bOverride_Bloom5Size=False,bOverride_Bloom6Tint=False,bOverride_Bloom6Size=False,bOverride_BloomSizeScale=False,bOverride_BloomConvolutionIntensity=False,bOverride_BloomConvolutionTexture=False,bOverride_BloomConvolutionScatterDispersion=False,bOverride_BloomConvolutionSize=False,bOverride_BloomConvolutionCenterUV=False,bOverride_BloomConvolutionPreFilterMin=False,bOverride_BloomConvolutionPreFilterMax=False,bOverride_BloomConvolutionPreFilterMult=False,bOverride_BloomConvolutionBufferScale=False,bOverride_BloomDirtMaskIntensity=False,bOverride_BloomDirtMaskTint=False,bOverride_BloomDirtMask=False,bOverride_CameraShutterSpeed=False,bOverride_CameraISO=False,bOverride_AutoExposureMethod=False,bOverride_AutoExposureLowPercent=False,bOverride_AutoExposureHighPercent=False,bOverride_AutoExposureMinBrightness=False,bOverride_AutoExposureMaxBrightness=False,bOverride_AutoExposureSpeedUp=False,bOverride_AutoExposureSpeedDown=False,bOverride_AutoExposureBias=False,bOverride_AutoExposureBiasCurve=False,bOverride_AutoExposureMeterMask=False,bOverride_AutoExposureApplyPhysicalCameraExposure=False,bOverride_HistogramLogMin=False,bOverride_HistogramLogMax=False,bOverride_LocalExposureMethod=False,bOverride_LocalExposureHighlightContrastScale=False,bOverride_LocalExposureShadowContrastScale=False,bOverride_LocalExposureHighlightContrastCurve=False,bOverride_LocalExposureShadowContrastCurve=False,bOverride_LocalExposureHighlightThreshold=False,bOverride_LocalExposureShadowThreshold=False,bOverride_LocalExposureDetailStrength=False,bOverride_LocalExposureBlurredLuminanceBlend=False,bOverride_LocalExposureBlurredLuminanceKernelSizePercent=False,bOverride_LocalExposureHighlightThresholdStrength=False,bOverride_LocalExposureShadowThresholdStrength=False,bOverride_LocalExposureMiddleGreyBias=False,bOverride_LensFlareIntensity=False,bOverride_LensFlareTint=False,bOverride_LensFlareTints=False,bOverride_LensFlareBokehSize=False,bOverride_LensFlareBokehShape=False,bOverride_LensFlareThreshold=False,bOverride_VignetteIntensity=False,bOverride_Sharpen=False,bOverride_FilmGrainIntensity=False,bOverride_FilmGrainIntensityShadows=False,bOverride_FilmGrainIntensityMidtones=False,bOverride_FilmGrainIntensityHighlights=False,bOverride_FilmGrainShadowsMax=False,bOverride_FilmGrainHighlightsMin=False,bOverride_FilmGrainHighlightsMax=False,bOverride_FilmGrainTexelSize=False,bOverride_FilmGrainTexture=False,bOverride_AmbientOcclusionIntensity=False,bOverride_AmbientOcclusionStaticFraction=False,bOverride_AmbientOcclusionRadius=False,bOverride_AmbientOcclusionFadeDistance=False,bOverride_AmbientOcclusionFadeRadius=False,bOverride_AmbientOcclusionRadiusInWS=False,bOverride_AmbientOcclusionPower=False,bOverride_AmbientOcclusionBias=False,bOverride_AmbientOcclusionQuality=False,bOverride_AmbientOcclusionMipBlend=False,bOverride_AmbientOcclusionMipScale=False,bOverride_AmbientOcclusionMipThreshold=False,bOverride_AmbientOcclusionTemporalBlendWeight=False,bOverride_RayTracingAO=False,bOverride_RayTracingAOSamplesPerPixel=False,bOverride_RayTracingAOIntensity=False,bOverride_RayTracingAORadius=False,bOverride_IndirectLightingColor=False,bOverride_IndirectLightingIntensity=False,bOverride_ColorGradingIntensity=False,bOverride_ColorGradingLUT=False,bOverride_DepthOfFieldFocalDistance=False,bOverride_DepthOfFieldFstop=False,bOverride_DepthOfFieldMinFstop=False,bOverride_DepthOfFieldBladeCount=False,bOverride_DepthOfFieldSensorWidth=False,bOverride_DepthOfFieldSqueezeFactor=False,bOverride_DepthOfFieldDepthBlurRadius=False,bOverride_DepthOfFieldUseHairDepth=False,bOverride_DepthOfFieldPetzvalBokeh=False,bOverride_DepthOfFieldPetzvalBokehFalloff=False,bOverride_DepthOfFieldPetzvalExclusionBoxExtents=False,bOverride_DepthOfFieldPetzvalExclusionBoxRadius=False,bOverride_DepthOfFieldAspectRatioScalar=False,bOverride_DepthOfFieldMatteBoxFlags=False,bOverride_DepthOfFieldBarrelRadius=False,bOverride_DepthOfFieldBarrelLength=False,bOverride_DepthOfFieldDepthBlurAmount=False,bOverride_DepthOfFieldFocalRegion=False,bOverride_DepthOfFieldNearTransitionRegion=False,bOverride_DepthOfFieldFarTransitionRegion=False,bOverride_DepthOfFieldScale=False,bOverride_DepthOfFieldNearBlurSize=False,bOverride_DepthOfFieldFarBlurSize=False,bOverride_MobileHQGaussian=False,bOverride_DepthOfFieldOcclusion=False,bOverride_DepthOfFieldSkyFocusDistance=False,bOverride_DepthOfFieldVignetteSize=False,bOverride_MotionBlurAmount=False,bOverride_MotionBlurMax=False,bOverride_MotionBlurTargetFPS=False,bOverride_MotionBlurPerObjectSize=False,bOverride_ReflectionMethod=False,bOverride_LumenReflectionQuality=False,bOverride_ScreenSpaceReflectionIntensity=False,bOverride_ScreenSpaceReflectionQuality=False,bOverride_ScreenSpaceReflectionMaxRoughness=False,bOverride_ScreenSpaceReflectionRoughnessScale=False,bOverride_UserFlags=False,bOverride_RayTracingReflectionsMaxRoughness=False,bOverride_RayTracingReflectionsMaxBounces=False,bOverride_RayTracingReflectionsSamplesPerPixel=False,bOverride_RayTracingReflectionsShadows=False,bOverride_RayTracingReflectionsTranslucency=False,bOverride_TranslucencyType=False,bOverride_RayTracingTranslucencyMaxRoughness=False,bOverride_RayTracingTranslucencyRefractionRays=False,bOverride_RayTracingTranslucencySamplesPerPixel=False,bOverride_RayTracingTranslucencyShadows=False,bOverride_RayTracingTranslucencyRefraction=False,bOverride_RayTracingTranslucencyMaxPrimaryHitEvents=False,bOverride_RayTracingTranslucencyMaxSecondaryHitEvents=False,bOverride_RayTracingTranslucencyUseRayTracedRefraction=False,bOverride_DynamicGlobalIlluminationMethod=False,bOverride_LumenSceneLightingQuality=False,bOverride_LumenSceneDetail=False,bOverride_LumenSceneViewDistance=False,bOverride_LumenSceneLightingUpdateSpeed=False,bOverride_LumenFinalGatherQuality=False,bOverride_LumenFinalGatherLightingUpdateSpeed=False,bOverride_LumenFinalGatherScreenTraces=False,bOverride_LumenMaxTraceDistance=False,bOverride_LumenDiffuseColorBoost=False,bOverride_LumenSkylightLeaking=False,bOverride_LumenSkylightLeakingTint=False,bOverride_LumenFullSkylightLeakingDistance=False,bOverride_LumenRayLightingMode=False,bOverride_LumenReflectionsScreenTraces=False,bOverride_LumenFrontLayerTranslucencyReflections=False,bOverride_LumenMaxRoughnessToTraceReflections=False,bOverride_LumenMaxReflectionBounces=False,bOverride_LumenMaxRefractionBounces=False,bOverride_LumenSurfaceCacheResolution=False,bOverride_RayTracingGI=False,bOverride_RayTracingGIMaxBounces=False,bOverride_RayTracingGISamplesPerPixel=False,bOverride_PathTracingMaxBounces=False,bOverride_PathTracingSamplesPerPixel=False,bOverride_PathTracingMaxPathIntensity=False,bOverride_PathTracingEnableEmissiveMaterials=False,bOverride_PathTracingEnableReferenceDOF=False,bOverride_PathTracingEnableReferenceAtmosphere=False,bOverride_PathTracingEnableDenoiser=False,bOverride_PathTracingIncludeEmissive=False,bOverride_PathTracingIncludeDiffuse=False,bOverride_PathTracingIncludeIndirectDiffuse=False,bOverride_PathTracingIncludeSpecular=False,bOverride_PathTracingIncludeIndirectSpecular=False,bOverride_PathTracingIncludeVolume=False,bOverride_PathTracingIncludeIndirectVolume=False,bMobileHQGaussian=False,BloomMethod=BM_SOG,AutoExposureMethod=AEM_Histogram,TemperatureType=TEMP_WhiteBalance,WhiteTemp=6500.000000,WhiteTint=0.000000,ColorSaturation=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrast=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGamma=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGain=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffset=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetShadows=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetMidtones=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetHighlights=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorCorrectionHighlightsMin=0.500000,ColorCorrectionHighlightsMax=1.000000,ColorCorrectionShadowsMax=0.090000,BlueCorrection=0.600000,ExpandGamut=1.000000,ToneCurveAmount=1.000000,FilmSlope=0.880000,FilmToe=0.550000,FilmShoulder=0.260000,FilmBlackClip=0.000000,FilmWhiteClip=0.040000,SceneColorTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SceneFringeIntensity=0.000000,ChromaticAberrationStartOffset=0.000000,BloomIntensity=0.675000,BloomGaussianIntensity=1.000000,BloomThreshold=-1.000000,BloomSizeScale=4.000000,Bloom1Size=0.300000,Bloom2Size=1.000000,Bloom3Size=2.000000,Bloom4Size=10.000000,Bloom5Size=30.000000,Bloom6Size=64.000000,Bloom1Tint=(R=0.346500,G=0.346500,B=0.346500,A=1.000000),Bloom2Tint=(R=0.138000,G=0.138000,B=0.138000,A=1.000000),Bloom3Tint=(R=0.117600,G=0.117600,B=0.117600,A=1.000000),Bloom4Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom5Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom6Tint=(R=0.061000,G=0.061000,B=0.061000,A=1.000000),BloomConvolutionIntensity=1.000000,BloomConvolutionScatterDispersion=1.000000,BloomConvolutionSize=1.000000,BloomConvolutionTexture=None,BloomConvolutionCenterUV=(X=0.500000,Y=0.500000),BloomConvolutionPreFilterMin=7.000000,BloomConvolutionPreFilterMax=15000.000000,BloomConvolutionPreFilterMult=15.000000,BloomConvolutionBufferScale=0.133000,BloomDirtMask=None,BloomDirtMaskIntensity=0.000000,BloomDirtMaskTint=(R=0.500000,G=0.500000,B=0.500000,A=1.000000),DynamicGlobalIlluminationMethod=Lumen,IndirectLightingColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),IndirectLightingIntensity=1.000000,LumenRayLightingMode=Default,LumenSceneLightingQuality=1.000000,LumenSceneDetail=1.000000,LumenSceneViewDistance=20000.000000,LumenSceneLightingUpdateSpeed=1.000000,LumenFinalGatherQuality=1.000000,LumenFinalGatherLightingUpdateSpeed=1.000000,LumenFinalGatherScreenTraces=True,LumenMaxTraceDistance=20000.000000,LumenDiffuseColorBoost=1.000000,LumenSkylightLeaking=0.000000,LumenSkylightLeakingTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LumenFullSkylightLeakingDistance=1000.000000,LumenSurfaceCacheResolution=1.000000,ReflectionMethod=Lumen,LumenReflectionQuality=1.000000,LumenReflectionsScreenTraces=True,LumenFrontLayerTranslucencyReflections=False,LumenMaxRoughnessToTraceReflections=0.400000,LumenMaxReflectionBounces=1,LumenMaxRefractionBounces=0,ScreenSpaceReflectionIntensity=100.000000,ScreenSpaceReflectionQuality=50.000000,ScreenSpaceReflectionMaxRoughness=0.600000,bMegaLights=True,AmbientCubemapTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),AmbientCubemapIntensity=1.000000,AmbientCubemap=None,CameraShutterSpeed=60.000000,CameraISO=100.000000,DepthOfFieldFstop=4.000000,DepthOfFieldMinFstop=1.200000,DepthOfFieldBladeCount=5,AutoExposureBias=1.000000,AutoExposureBiasBackup=0.000000,bOverride_AutoExposureBiasBackup=False,AutoExposureApplyPhysicalCameraExposure=True,AutoExposureBiasCurve=None,AutoExposureMeterMask=None,AutoExposureLowPercent=10.000000,AutoExposureHighPercent=90.000000,AutoExposureMinBrightness=-10.000000,AutoExposureMaxBrightness=20.000000,AutoExposureSpeedUp=3.000000,AutoExposureSpeedDown=1.000000,HistogramLogMin=-10.000000,HistogramLogMax=20.000000,LocalExposureMethod=Bilateral,LocalExposureHighlightContrastScale=1.000000,LocalExposureShadowContrastScale=1.000000,LocalExposureHighlightContrastCurve=None,LocalExposureShadowContrastCurve=None,LocalExposureHighlightThreshold=0.000000,LocalExposureShadowThreshold=0.000000,LocalExposureDetailStrength=1.000000,LocalExposureBlurredLuminanceBlend=0.600000,LocalExposureBlurredLuminanceKernelSizePercent=50.000000,LocalExposureHighlightThresholdStrength=1.000000,LocalExposureShadowThresholdStrength=1.000000,LocalExposureMiddleGreyBias=0.000000,LensFlareIntensity=1.000000,LensFlareTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LensFlareBokehSize=3.000000,LensFlareThreshold=8.000000,LensFlareBokehShape=None,LensFlareTints[0]=(R=1.000000,G=0.800000,B=0.400000,A=0.600000),LensFlareTints[1]=(R=1.000000,G=1.000000,B=0.600000,A=0.530000),LensFlareTints[2]=(R=0.800000,G=0.800000,B=1.000000,A=0.460000),LensFlareTints[3]=(R=0.500000,G=1.000000,B=0.400000,A=0.390000),LensFlareTints[4]=(R=0.500000,G=0.800000,B=1.000000,A=0.310000),LensFlareTints[5]=(R=0.900000,G=1.000000,B=0.800000,A=0.270000),LensFlareTints[6]=(R=1.000000,G=0.800000,B=0.400000,A=0.220000),LensFlareTints[7]=(R=0.900000,G=0.700000,B=0.700000,A=0.150000),VignetteIntensity=0.400000,Sharpen=0.000000,FilmGrainIntensity=0.000000,FilmGrainIntensityShadows=1.000000,FilmGrainIntensityMidtones=1.000000,FilmGrainIntensityHighlights=1.000000,FilmGrainShadowsMax=0.090000,FilmGrainHighlightsMin=0.500000,FilmGrainHighlightsMax=1.000000,FilmGrainTexelSize=1.000000,FilmGrainTexture=None,AmbientOcclusionIntensity=0.500000,AmbientOcclusionStaticFraction=1.000000,AmbientOcclusionRadius=200.000000,AmbientOcclusionRadiusInWS=False,AmbientOcclusionFadeDistance=8000.000000,AmbientOcclusionFadeRadius=5000.000000,AmbientOcclusionPower=2.000000,AmbientOcclusionBias=3.000000,AmbientOcclusionQuality=50.000000,AmbientOcclusionMipBlend=0.600000,AmbientOcclusionMipScale=1.700000,AmbientOcclusionMipThreshold=0.010000,AmbientOcclusionTemporalBlendWeight=0.100000,RayTracingAO=False,RayTracingAOSamplesPerPixel=1,RayTracingAOIntensity=1.000000,RayTracingAORadius=200.000000,ColorGradingIntensity=1.000000,ColorGradingLUT=None,DepthOfFieldSensorWidth=24.576000,DepthOfFieldSqueezeFactor=1.000000,DepthOfFieldFocalDistance=0.000000,DepthOfFieldDepthBlurAmount=1.000000,DepthOfFieldDepthBlurRadius=0.000000,DepthOfFieldUseHairDepth=False,DepthOfFieldPetzvalBokeh=0.000000,DepthOfFieldPetzvalBokehFalloff=1.000000,DepthOfFieldPetzvalExclusionBoxExtents=(X=0.000000,Y=0.000000),DepthOfFieldPetzvalExclusionBoxRadius=0.000000,DepthOfFieldAspectRatioScalar=1.000000,DepthOfFieldBarrelRadius=5.000000,DepthOfFieldBarrelLength=0.000000,DepthOfFieldMatteBoxFlags[0]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[1]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldMatteBoxFlags[2]=(Pitch=0.000000,Roll=0.000000,Length=0.000000),DepthOfFieldFocalRegion=0.000000,DepthOfFieldNearTransitionRegion=300.000000,DepthOfFieldFarTransitionRegion=500.000000,DepthOfFieldScale=0.000000,DepthOfFieldNearBlurSize=15.000000,DepthOfFieldFarBlurSize=15.000000,DepthOfFieldOcclusion=0.400000,DepthOfFieldSkyFocusDistance=0.000000,DepthOfFieldVignetteSize=200.000000,MotionBlurAmount=0.500000,MotionBlurMax=5.000000,MotionBlurTargetFPS=30,MotionBlurPerObjectSize=0.000000,TranslucencyType=Raster,RayTracingTranslucencyMaxRoughness=0.600000,RayTracingTranslucencyRefractionRays=3,RayTracingTranslucencySamplesPerPixel=1,RayTracingTranslucencyMaxPrimaryHitEvents=4,RayTracingTranslucencyMaxSecondaryHitEvents=2,RayTracingTranslucencyShadows=Hard_shadows,RayTracingTranslucencyRefraction=True,RayTracingTranslucencyUseRayTracedRefraction=False,PathTracingMaxBounces=32,PathTracingSamplesPerPixel=2048,PathTracingMaxPathIntensity=24.000000,PathTracingEnableEmissiveMaterials=True,PathTracingEnableReferenceDOF=False,PathTracingEnableReferenceAtmosphere=False,PathTracingEnableDenoiser=True,PathTracingIncludeEmissive=True,PathTracingIncludeDiffuse=True,PathTracingIncludeIndirectDiffuse=True,PathTracingIncludeSpecular=True,PathTracingIncludeIndirectSpecular=True,PathTracingIncludeVolume=True,PathTracingIncludeIndirectVolume=True,UserFlags=0,WeightedBlendables=(Array=)),LightingRigRotation=0.000000,RotationSpeed=2.000000,DirectionalLightRotation=(Pitch=-40.000000,Yaw=-67.500000,Roll=0.000000),bEnableToneMapping=False,bShowMeshEdges=False) + diff --git a/Table/Config/DefaultEngine.ini b/Table/Config/DefaultEngine.ini new file mode 100644 index 0000000..6613fd6 --- /dev/null +++ b/Table/Config/DefaultEngine.ini @@ -0,0 +1,105 @@ + + +[/Script/EngineSettings.GameMapsSettings] +GameDefaultMap=/Game/WorldObjects/GameLevel.GameLevel +EditorStartupMap=/Game/WorldObjects/GameLevel.GameLevel +GlobalDefaultGameMode=/Game/GeneralStuff/BP_TableGameMode.BP_TableGameMode_C + +[/Script/Engine.RendererSettings] +r.AllowStaticLighting=False + +r.GenerateMeshDistanceFields=True + +r.DynamicGlobalIlluminationMethod=1 + +r.ReflectionMethod=1 + +r.SkinCache.CompileShaders=True + +r.RayTracing=True + +r.RayTracing.RayTracingProxies.ProjectEnabled=True + +r.Substrate=True + +r.Substrate.ProjectGBufferFormat=0 + +r.Shadow.Virtual.Enable=1 + +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True + +r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8 + +r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8 + +[/Script/WindowsTargetPlatform.WindowsTargetSettings] +DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 +DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 +-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/LinuxTargetPlatform.LinuxTargetSettings] +-TargetedRHIs=SF_VULKAN_SM5 ++TargetedRHIs=SF_VULKAN_SM6 + +[/Script/MacTargetPlatform.MacTargetSettings] +-TargetedRHIs=SF_METAL_SM5 ++TargetedRHIs=SF_METAL_SM6 + +[/Script/HardwareTargeting.HardwareTargetingSettings] +TargetedHardwareClass=Desktop +AppliedTargetedHardwareClass=Desktop +DefaultGraphicsPerformance=Maximum +AppliedDefaultGraphicsPerformance=Maximum + +[/Script/WorldPartitionEditor.WorldPartitionEditorSettings] +CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet' + +[/Script/Engine.UserInterfaceSettings] +bAuthorizeAutomaticWidgetVariableCreation=False +FontDPIPreset=Standard +FontDPI=72 + +[/Script/Engine.Engine] ++ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/Table") ++ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/Table") +bUseFixedFrameRate=True + +[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] +bEnablePlugin=True +bAllowNetworkConnection=True +SecurityToken=AE683DC74A1D0DE915EDC0A65DF9DCE7 +bIncludeInShipping=False +bAllowExternalStartInShipping=False +bCompileAFSProject=False +bUseCompression=False +bLogFiles=False +bReportStats=False +ConnectionType=USBOnly +bUseManualIPAddress=False +ManualIPAddress= + diff --git a/Table/Config/DefaultGame.ini b/Table/Config/DefaultGame.ini new file mode 100644 index 0000000..6c8ac27 --- /dev/null +++ b/Table/Config/DefaultGame.ini @@ -0,0 +1,6 @@ + +[/Script/CommonUI.CommonUISettings] +CommonButtonAcceptKeyHandling=TriggerClick + +[/Script/EngineSettings.GeneralProjectSettings] +ProjectID=68C7CE7C4061115F9535E9ADE311C717 diff --git a/Table/Config/DefaultInput.ini b/Table/Config/DefaultInput.ini new file mode 100644 index 0000000..a919105 --- /dev/null +++ b/Table/Config/DefaultInput.ini @@ -0,0 +1,84 @@ +[/Script/Engine.InputSettings] +-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) ++AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +bAltEnterTogglesFullscreen=True +bF11TogglesFullscreen=True +bUseMouseForTouch=False +bEnableMouseSmoothing=True +bEnableFOVScaling=True +bCaptureMouseOnLaunch=True +bEnableLegacyInputScales=True +bEnableMotionControls=True +bFilterInputByPlatformUser=False +bShouldFlushPressedKeysOnViewportFocusLost=True +bAlwaysShowTouchInterface=False +bShowConsoleOnFourFingerTap=True +bEnableGestureRecognizer=False +bUseAutocorrect=False +DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown +DefaultViewportMouseLockMode=LockOnCapture +FOVScale=0.011110 +DoubleClickTime=0.200000 +DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput +DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent +DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks +-ConsoleKeys=Tilde ++ConsoleKeys=Tilde + diff --git a/Table/Content/Camera/BP_Projector.uasset b/Table/Content/Camera/BP_Projector.uasset new file mode 100644 index 0000000000000000000000000000000000000000..eb3b5856bb411b99335b233a9d7de1482e1f9c1a GIT binary patch literal 95287 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 literal 0 HcmV?d00001 diff --git a/Table/Content/GeneralStuff/BP_TableGameMode.uasset b/Table/Content/GeneralStuff/BP_TableGameMode.uasset new file mode 100644 index 0000000000000000000000000000000000000000..26d1b0388596a393a6710c8b2dd9854deb107ef3 GIT binary patch literal 20661 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 literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/BP_DetectionManager.uasset b/Table/Content/WorldObjects/BP_DetectionManager.uasset new file mode 100644 index 0000000000000000000000000000000000000000..5f137a449c4e033de0b2a9a4370356cce9b6051a GIT binary patch literal 35948 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 X2ULf&%D8Kep_(TSnObrHtpEQ2VF|U~ literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/BP_FingerTip.uasset b/Table/Content/WorldObjects/BP_FingerTip.uasset new file mode 100644 index 0000000000000000000000000000000000000000..410fe94f58fccc45f6135bfba9a63db694f2b931 GIT binary patch literal 161964 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 R<4Zcd@YvANxS#_3{{t;%EN1`! literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/BP_HandManager.uasset b/Table/Content/WorldObjects/BP_HandManager.uasset new file mode 100644 index 0000000000000000000000000000000000000000..3375587b68a69d3e161df0d9ed422dc55c76492b GIT binary patch literal 23116 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 literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/BP_UIManager.uasset b/Table/Content/WorldObjects/BP_UIManager.uasset new file mode 100644 index 0000000000000000000000000000000000000000..4d7b265192952c7ab778eb259ab03a89a418148b GIT binary patch literal 86463 zcmeHQ2Vhji*1jvCND)K?D=eTOorD^AK1okVArKNEO4%eEvXErM?uJlAgH*+eU2G4r zAt*KwK|~b$d)WK4SFF!27XI_i%-LJ^?&gLB%lqGiyZ7ERXXcbSbLLFh<)OuWuKi)( zzJ1f1X9IX+-yztd7Z>_&OC0;*XXD1KJ89GA?ehrM{ly7aZy($9 zmb62|VcS%&)^*5$u%EFT3kfHYUH-@uG`^?&CY3 zNU)@-t6xdWdEkUw)^}JkuXE{JCll=R@{R9*l61+ptzU~Dc0#-jYyoU{c<+g3KIGm1l-GKp4%nW-d+3 zA$=W2Z-HYptsC7FholTm9-cTfK50nOkkk=zX@ld3B&5VA#U&&RO-dV)Oeiw-rQ1_| zG!2k^w}h<*my~e7_&9kd8rtB|nl_5AiF9!aX?fbDNiXHB8GdY^301dT1w7OVrdnu+ zXa{M}Z29h>4uJM8NFCaDytl&Z33~ev9WY$vYucBmy%;5*X$%~4(1m!ubF`+d90v+| zB74~fV|biE7Z~!~^j@Fxmc8;~K}X=_mjry(p@GT%fVV)ZS^F`w|KHmg@=~j2_^Q0x zve8R3Aq*GEukeJtD5nka%wN#PkW-M8t__>=wVN77OVoB$ro4SHo=QUgfYyI^kIAsg z#L`l2$4MW2gVv_!X(|4i;tH?))P7pJeDM(?V~(e)#9Nx@t4i?&t1CS7v@<$?c?c{x zv7#c^U+N8N`;Po52_~2r2zcgAL$#B?-dPI%B_!Ej74rD1g4)?1%o-)A3B>Wh zX2@Hqjhb4s3J%iQ>$Pu1eDP4-t-`>VWFA+2CS+20{ol6G{~y0Jhg zCRY5lDb%C>)Kr9m6a0BK z0dHDORf+b^CtZ3$i^ZA2)KXu_L#4DMm;JQxSirKqGdv~pa=qSCQDTNSf0nmmytgc< zU9jP_QQ$tQqQ+Yt@KuG4)>`}K8_$7}6px+b z4Fr6pLNuY5_TOK4sz5jP;j8YLJQF%JcI;`%+Tt&M?Ab|x3q1iJG?C&B3PS~NXCB$J z%~7V@9B;^z;t6?Dt3rW!+H;px*MU-TzPF+b&F`HX(u&_X{Z66zLSL}PQ{kIWrps-5 z+wx(r39;sdyxN|3FW4dYq?fQ*ALjPo(UYo7_Ec1$v0!H=lbtr+8>$IZ6?&)@wB378 zkLzl}X4^EOEjT=@=!8f#Hdqtx`uUUkni;TIu?c(2u>PgPj5Q~DsSA_MQJZ*6MMuo9 z_S9CT1^kuC6`o+wRQk$WUMhfTgoRBCcs;WU$piZX(UzIOdE?D+e%@F*X3e>(Za%z8Lfvosx>E2Md zg|q!79vGpi(9v7ZZ`Q+DD91C)J0aky3YPf;l_t~^>wfCzwxTM97#qIJHLae-2oTm> zeob*G;3)}3x0N^j+jqmCC6f|n_{n;IIOCFCus;Um(kQ5%KWtK)_6A_SKM*2KXdMsl z@-M^!$>qL^Qt1y@`#RnacPrXe3)RlO2yZ25WqJ!f1Yeo#uc+{ee*Ws!b^U1E)FBz3 zs?rLon)|PI^URyCZz(W@JJX&#dfRpAvSH;)LUF%+Ux1Du22b!-lEbDB^}@RDI|b3P zxhd0f$%|_D{1D$;vQb5j4qdw6`q>>oM7c$6(LVp*;j7hqdcad%4)L^m-u-ZnAtS%U zTjd?^_lLA?=U&?aZda8EXNXcG^B(vBI#rpnm$rZO+riL$DS7T0VDyKduet!1n?ion zO9tZ=Bb;pJ_!Q0i{o*Y6XEhRucA0A; zL1-)x-t?{73sW)5!P|RFQ~V`07%wub%KX~aY3+Z8m@-R_%Xywqx%RKb>*~`M6%4VDTGC6UBHs&&y@44pw`s;PNxSo%AAS-N&!zsHR^gcu)V7UF>y9BZt-|jKg+>1P<~M(Z z9?}9nFZHB(!c3a&da^Yn#Lxi&gxo%@L�VL<`Eyqhn_Sh6{X7K*U;07|Qs%t{p>F2Ci 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 SoHs{|YyRYey$2~6@c$1RSw7_e literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/BP_UserHUD.uasset b/Table/Content/WorldObjects/BP_UserHUD.uasset new file mode 100644 index 0000000000000000000000000000000000000000..4d2f2f57cfd21cdaf1f9f757d8e87f3893c0913f GIT binary patch literal 50957 zcmeHw349bq_J0q8qJSVGcpyyh0)(8913bu`kdOqDa0!G-(jf!MOqiJvf{KWWDC>oI zEvUdxJn>dQ#S@R8uIDPA>#evRxZbzR|9z|KP4~?7OnM;V?(g%jFw@yLRoGy^p3H&_&aJp(Dz-c}ZO}zq#(zfjhc1zS?r^n7Fy1p6rU^*ef%pEr2(;ukiqAOCy$0R%fa@Y@SZ^6toe zx8Eg~`khA(IEG+3vsS-eFyXZy?^o4&mGJe=G| zbl-SV!uXr4Wfx3g1p(eR)pe}8rxwosydSkns;u+5TLMYBUY}kqRjmC~Jo2R8rn-F3 z9Jfc;mW?~77@}~K$|hGpM>}nlYtgAaO*PdM3bpi^-#GUrSaw~&>(fTQaMZMeaaF&- z<*C!_E8Lzux4)&y)vhfb@UQ(~j@eC3W!`$-ukAYIlbizq@cCTr6+Ul^?hCYQ#dmz@ z22%v}w&i-8Tf83K6VR%w8U(Mk)ZE*aNBRx8y&i4X*9U%1W2e;;W;5aCwAR)(=|t6| z*K6|=k0}K+wRt{QTXrB%_q%<1eWiPmu8n=L<{C&+TkOxTcL!Y5NIPWN&!-;&SgAh8 zRo7mo>-AOMidNqoy>g!3G)ZspYZu)*V=P$CX=>G5d~Q#mu+?3!y|CZm)iA0cwAd5S zeI8d6*>Ab0sa;$4-r9)+%m|h3{(#;*S@-!N#F>Hpj}Pg!s=Yuu5! zd(?l{3q8<9P*r`p-f=z#sGckU;EZMxo~-PxLWINZLrij>~s^#!zj_DdNIo2s4c z_P4s4NT0?y-EwaFn}SSxKo2syqip0O1F1o-tEmY**5vwhvZS>tgfZmV4{`De=Ae>D{9De?)2fDzH2@-HQ zc|e@gokOR&+J{wKDt#YxAUA&cxTQ z9tUCa7ZATrF~r)Ap9kL#!x1nFOS(^|P^;ar{{347%_;8sIXbaSF~}vtL8Z6VM+k3i zEKP=^IbU8^*Xq7G zu)G>mtV!Q=%3vYg!hp|J(Bzuq*S1b97y|ETX!5!OTEF(IpM|9q;3_EWuQ$B&I|Sn} zCdBn?dBcXD2sJa<5P8G&-wpwzNFKD3V|KiT)`ev4KC+5>=}*hLPpyI#i_S#2UcdBj z3q&i#?%axB8gWrnTAruP_22&#m@M|Rv<9@(&R>2u4A-PdvZ(;(HErYOT}9x@RHwAO z?1*<(!pB4n%>k2LJ~yTpVTUK~I^cHVuE*p2ntzAs~$kVAQBX6={McSBbdN5 zgwkKy*!30$RCxVUwI@zl-o*r%ruhnX>QFwK__h1~y}AkGQbyCi_T4^D^n%}cMQW(& zC0FdiNGoUM%pv=&yFU}))&LD3#SIz8dN!||0RGC`JQT+(C>7Ct+HD)&`R9=YtZ>!M zbIs99y>*z!#QXv|{4FjTb@#396;DsfsYz$RqIdq zEBK}fu1TBx^i7F~EtB**oz$13Q+@>ov@=hyeMVMD#Rh}r16$u725X(9d+K#cFy?6f zr$1N*CMM}EO>T;INEmKp>iBk;K>U~b!A48{R zN9}y~eXnEmD_slp`pIs+t-PVZuao8f?-zMN_;jzgIlI~0O4d@-|AMD64wZF{db3O0 z^}vcY$m*x$L91DR!FW)s)B`fUXq(2}^$`ra(oGW>r3fCf-BuZpL@uiJJARTAPE=Wv zUup^;l$YeM%bkj$tn@YnOd+V#Q5+(5+23NksrcKA{2(=d-=m1Ciu33tyH2^$9x;YPPyzW7ZL zVW8o$->%3LKBAQWOTmUMK#Yj>TGI&6xfooLR5{7E18!kdr5`?Z6{ZJ^r5MfqNmGKW zu^YZE_#J%n`XHG03OCR`ee1M5Q08h{Bp^D`;$Y*f;*UW&G__CGZtQ;69GFh9BduRn zS}%B65E2&DhplcI2}6*1q;}xe>t;Z~DzB-jkpc3mXHU7bzZq;yQDkEo#c$>~&9zch zL6W8JTAz!u#L{8^C_Xw8&lLHCshU>(OZS_xCJRrnY6|nqY9?n-D$dR+&DU;Qe0CA+ zEWciAtgH8)nKA_t*V4OcN>a5gk6zhJ%%hn7CGN}(j+qFXJQ-@fZ|*w}$}L~zywOecodrM z=-pMYC2HjQiR(7k7q0>lQ{t~}{h{hYScr@sG-d2`K;5@uM@c75 z45MBdd>Bkg5ujt>loimt!m{b1Q40YAxmEzdr%9r5G4GH|4a8 zDfsI45m#e8;qgkPy*@vE0eBC(7g=W48J|B1StUxS?c7&((1ozDFk=n#j|I=JJq#`y zhQ$hVY?zxXLV(B=4JjY_VZvF1gUw799?HWDSI)Z?3uW263C-wf%fZE)2}2aPAPSCA zVx6d$7&yhiae5I}1$|>`mlK*rrI_2qY!_AuClMAa9Vx7KBwbrGmuO|!HOZ>I)~-&V z&xm8LMEj--dhXt~u z2#jLHK(UrOwi6~5(ha-_`*N7haXg+rC}Mi|(GCNWOYD&z2Pl<9`Xmh>?i6};wowM) zq=k07vleNZ-$@g`GtlVvJ82Q+^(8uoCu!-T9qroE(MaY_QBb(0ND_6wm_tQE*yi=k zOA^yjVxzW1VS)pDRD~-*8bn2upfrePmK9KnrTpO9vH~H=vVv6_p-P0p|2kD-!3i;g zu1n_#^-w8{7A2@&Hj=XmNJetN{?6e}bCTxtiyU?YnTQUvsneYSuanjdZ60SG?^=@W zcqHtFTBHu0{vfroM9 zF^r{W;PDuCgm;lmx)?)i&|w*}(f3^|!$W-j{^8(FWc>3Gb2^csHmz99G!G`-@FH zj&)Z4W~ST4W`D>PP&(@G0*PjcceAQP9P-(~L)=(x6VGjd$2{Mm>fWXPZi|7(whsST z6$6iL7S)pfK(EctkB!s(r(I)i-dM)zC~2G|ci9U`K*V34k_AEPBam zY<@NA6Y^oL#`-)%>GP5sZ4e`rSoGdeU3?ry54kGS`xFC8r4J{F@-pgoEPA}C{w0jw zwbUEayA}gUy{1(sp@#?A*QaS57WCu$@ks;s>2QrvFJUj z+WtgH+ztF;9etQyqoQ}tR>p{Zj79Hk)znN6`n00A^TF73xYiCmJbKIckZ(PGSiY@l z{Hh;jjM&Fm^f-QgVWNj{a=Geq7#)YJ^Mf8!CmkGO(Ho-Ler}@YB-kzVVfp&0@f+I- z^!lj2tmr|F7|T!SgHpat9y|JuCEtgtu@yb&74%rX^v64*B{>{BAmNMKU=#F!E6){hY28RsIoVW-izYWrY4%O5PHN65C@7ilcBck1Mvq2Spl$ku zDM^hb)7mGsEl6q2POHyLSu`<|YH|w;b5iCs=4Z|Gm1R^F%=b-Mc)Yi4)I_SvAFnrO zH5OLYCeNE+(pK46G;iwkvdk>>myP!5L^bkBGuUgGN(GiM#-MU@>CrCnFf(Bbb2Ms#ccFx-r3nWJ*3y%N z;szETCqn@>qf$PyFP>RICCoKgX*?f?DvWEeN<1GJW*H#};=y(Ssi>M(kxx%e&_h*C z!kC26@>x-2IVq``qcT#GGeuZ0aOVhKityx>3HP9l>FQBbj8ErOt>C;G1KegzoT1}*@7QzFxm2exhK!>$mRNFn} zVPDnHWUWqd6$#m=lWCQc4m?E7K|xPy(}1wf4Y>|fIHjbSfN0mMRcZB_n|kn2PY&%! zg;7NMt0g_UwS0j)pGKfoTSVh0>CL81xHf9#B`q7c#yD8lc2m6@9PQp{_fq}j69)m} zA67A6jCTuhv#tz2dZ-qWmgb--gf-h@lC_%btcA1!E1ORk-4)g_(h<05 zpfu4z4+6-x2BqDTnEOHBx{%uF+YDnaBvl8+5Q8$;m1=2%NAzPgVzYyz?4W5|_GFA_ zf_9o#NZ#lry+d}$%2u(Mu-Ti~)}rA$G`0p%I7HEztW}Wr%p=awyS44XqgjhN0=7qOx^uKgC0ANs<)SFp7*P(WoSmFByL$$quccxt7oz3n=C{j@x@`t=t|u z@QBO=nT3%ThQoPYVhv~xIVuiXymjvQAP!)j!<=Ho1dcrB+5}TQ&ri&swXLy5c06;* ztl7}V?#@ok56{XKB6pJWq%kWQzS|Mr;Y!=wueF>!TFD~YINMJ9mEArdlB(c;`(b8s|ZsVZphYo!>9?*y8c8bs`A6qbP;inC_6;@uq` zo=ZSs4)wl(=(K86=uEDE9JFwgdWnuPNMY%9s`b5X06VqELLjMtf@$S9%G9F+rk)%m}w$Q&KEiJXqweW)7cn0B7aV!Gx?WG z$3lW-P)#aDtTFUSCtAlUdXce?SBKSNWU;S;`S&taHga@&q)Ojs*lu71oeO7&%01ge`hJqZ=9?PjLmS z{3J1ZBZ4(h|H#wk3%J|`a%dxM^&gs*rdVdBfQ}ByRgskf3QOl4b|gs^nZaVD5)~)W ztvqyenWxyJ%d>oV7BiW4Ba4VPbDviFNw%dQ9;IaJQ|`4TQ_omsHPedA>;nP%KM}dK zyD?jvOmhromts20Cr+%Oh)537ogF*oHBPwYTFqmrs>eO`a$bibHsq2<;f1v%4YKcA z4N<9)C^3~G^pGWE<`Wz%=Z^i8=f=ogKCC0*rPvE)KP?s!0GWxGys4e6y_q2O^g(1C zWs4%`YmmpI_Jz$ef`jbb4(A->%>7{ZK<;%rL~QR^evWbGUW_$OhAmF4`Y`r}GHvz2 zeu=1*6<3Q~!X6V>3t0WwxLUxTPO#O2N4HMwLo`#42fxS475NyfRtgY&n zsQDQCGr8g#yEnLZ?a*e}qQ@S{IZ-q%h3aUgt-d*vDkICnT`f7+IkZ`}TC*mQXXl8W zCFGnLLKDb2kaI%=c@)12NE<1XljM?K3P=N}MdZT$dxutIiynI(@(;`-SPe19vu*Xj z9D{Np(Z{&SCkhG$KNuNgQCJ5ci^`%i#M@DHog=PuNET#mE=6zm{f6&On*9d0I-6)> z#Q>{pA-go{jZ8HZBOwH*Hcm}oH3WTR5N+%sW3(`HU_QZ4avoi!(kF-hFtZ>B%@?DM zJw^w`cd3Ke-pI8bNmy^IH@1XI(h&B9%$A_r>VYi*>p<*~!yX~=Xp%fn%(z%p!M8Jn z1!NHh}yUY4KeZUy^0h%_eRBJd1BL^ zE@=B5 zuc|S4!U`Dj!1gc~$h-dzI+K0Grp@aibEfE^-t4qxoyT6^N$x^kZzCMs5^(FA5rqUAs{65L>5wAH=+ygy+#Q^WZrGBO7;! zC*B~}o=U~5Qam?MMG*m?aQTd9l4D~nvL)qEg%v*fR`<26rMKenR9m#!3*ha>6EDbW zao43m%$%4z9rV<(9ZTk?PQqmg-KjA8x8{5Z-B}w#k@ysCCfzk1LJ><|ol3`4aXy4% z`4CYzN?ngu*XiQ=6wQpAq3SXfZkD=EQFK57G$bvifcceSOa=1@!z3lN<^J*1EI0*> zX`}{eU>1^X@l1fk!|npZm^pE9=GEMW^?~~X5)YZWQ%hQ;TVdonV3O2sZ!8FR6l362p* zac7IqN2_=ipq#9gA_-#05YmT~B^3MgV6F7r@LJiDy;^FJ`-6vsQxB~JUl<35%J^wb z19;JTlXWr*LJ~RR*8Rvj0~cD2)~~EHaIN&oyvsV^GQ`lhq5aUh&=E*i<6^}(*BS92 zbkG~HS^wB8k~Si_8A6&ce2skrcRnRnO0cC>JWdb#Rc!ymeKgr$?3ogG+!#-eLg*ZC z_CMy|3}gSp>RI;Faf}MpkGZ!$hQgkCIO``~x%MQQrNZ(1@)+QmMuxH1V1HS{jF~K+u@Cj643jT2RkL?7 zRjc{a;4WS}&j{Ko?(QLOBldC3!`(dzv!;p`u+;devPH*FHNIIp+`BS^e#6pc2BkH; zD>G>2d&j%1Vt1y66~-Q!OktxKLEQVXJ2EqA&YLMl(O6$H1pCVv|Ik?lcaUW7GP^*2 zAg`^l*-8wJ^XMBI&kByq-qASE@7PV3yyI>d+ds>LJ7`5ja?=D8< zj1np>o*I(+w$ipy%bKu?Ww08|S+J?t*3#Kou)*J->t&%jg+7egj5TMrE4ET#vhNvL z1E4%R*qgCJ>D$Y#K!sz}-WfG33)`F7Rj8IAKhF(3MpkVWf^Zz8NEIWxJrwk-*qN0F?cHcW4`)%YM@tGFq=sjE6kcOv=*->jQzXap}hO|BS4MqX?G~2O?-2(d?jVrOBXBY zy?0@6{0qKXFBJ7Siy!GUUe}mtoYv$XCtjFYjGth|Z(i&5;`jO*=m)F(L{7fjk80^x z&h`4>tNr}q&6q=ni8u2V`|5xP*$0L zIG5fZ85Azp>(i^{FC-?4_x>FhCboFd;c?=Xo@K4g{L{C3z53l&H}Q^_P$tu}8Td^{ z{FJeLY2xlsiFnuLaVA#7UuGFP4)lzMd;s>n>`d??WBZy~*=Ye0}rZ=ABg|qmGQp+cNY*Z)p44|WUYd?O21@ERs zsgeirEh^z%c+oLRL`x?D&qfUuymc7`444rG96*GOV)~#&L&j@#1ygV*yu-a4eSkcK zJ}BmfGbKoT3yO#V{330Ss%%zAbcAxOJkWcUWI10Q&s4_}b*xZFR^!R)dWt%l897bC zAZ3Q>9J=H3Auhl~rh=FoEmAOafDf0hbRr1J2(8f*OR@lIwCUXZs$ewet}S_Po3`YQ zZ2^T;q>ebCS1LL|j^<*EF}Yq?R(_FX1H zp;3)sedyD@Z_9DLR?PpP;L^vAnl}9<&z)?_qD{hYL8ayOL9btf@P^ zu${YGE~@sZJG^h6yTi1C0-<)3JM+&SK#%#NL#e-c>KyuXq*i+Rk1f_Ol9fWW_7VdLD~7@7@^y16HM5J(o*2(Co;zY`xWRVkX&Il46? zLKZ;>Z_|cxPXK_5nWvZr{$Sv}X9f=Yw*0Ebevch^(oLD2$J;>gfyo$NX!UM=C?6%l zOXC*ex&2aVU1PqSaL&5r2mS4Dm)+ZWLI}k}>-Z6XxcQpPXoI_)#>v#PE~09ZR?g9fLBOU^s=uqQ|hiR zmWaAwGy3&`UAS0EpIOs;1Br=Zwh~O50gWF}1JS=Ef(9%Y8uXua*Z?Mv_5(j6{D@xg zpDHws@z8Fla+jrsyNpMBDl8S6OcxNzRu^@SLk_;C;)}{mc@W=Xc-SRbb>Y)NA7}uj zMjnD5iAxNT_|cfzIHAJsigQtkUss%kD=KDY%Opt13g)?pv@hZM2kyM_pVyY&{>#^; zU(6kOBC`M_SPcrM+k2ngd0lCr%ZqOA|N47dE_tbk6)aC+%dcHH5JTcf|8GtfbMFe& zK}85w=!NK-1wtq|aMsPP(Z4Jz+ce7c&C}O@v=iv4XB=FI7szqDGx@?^8!Ad}TiyMp zv(J08-3oSwsbPq0jz3N|CTT~8BS$~*#JZA$$8WwjaoM>S=bi%@!eI+khr$@K7f_N~ z=B?Mowm_B3H%AYcPlJP3r<(ELnSWtcRB?sEvvrVmp-^KA7?1xIpu=gZ*LrotK{yD~ z@u<$pVV;GlQLQ7~Yzeu=>}Zv{<%90idY_p6(PMd6e0|TBRoj<+$t-|~V4RL{*6Xh* zynWequa^Dgi;Qv373V!{1^Y97@L=N6lb8Nh;^!}wU0it0<)>Zn=JN#V&<7#ME9<{H z>zThLlw7pWxsR;4{pS~~VE@TJ2!6{ON9_C4>brARcANTETHQ}STERNW2hG1^1{Ft5 zGel*SFX4k69Pt}jAFaQ9#M`a4+nD>d(*`kjq^FCIeCIZ$SeC@ooEI7GlLbDla9>uroVan z_j#ABUNvp`_BX^nUQC-%vi&3X-^2U3Hs!53qG{}1eJ1<_*}`G}$-xTz?wV2Z?0~PX zo^VM@&wWPZ&Ai_V)=9yt^AZLO4hnwUujd0@4}9UiC(F*wANa$hrdPHAZfEd5d-2DW z>*tIwTa(|qZq_jahC%RfSPD8*B{W!_s-PT`u-;)zapZ~+VAusbFnNR%|AaU4Iim%8 zq*Ox`@aR8!MoIbex0GHM7=HW@1J+!O3c&kirY|}o=Y!l!S6;Sm=2JaiWcZQawSDT`+i>I( z98v~Awc%#RL%}%aqt#Gb!BS0){!51k)5tXE&p))&nEph>RNrywCV$=*_Q` zwdP*DWo6&C=MH|$3U<1{mR}+AIKn45?97>vV+b086?zfUgB=-?SDujbsJj=)qM|M_`1T(Q zR--tL*uA)eD&o%hGj|TX=Il#yv#(u!)v)bv9JGw7fC#53*qNUHLE?xmBi}1u_u96H z9{KI+94pwLne!tvC?ECmW3&JHS91t#2Rn$;lJ$()PKt$D$|h1t)f7n_u?epkEVT zE55Pu!F9_9eK1apTNvy=ZY?0y99=-6n5cfRgsS8AgRv8ajXbVuL(#3DpYdGQSDSAz z`vHOkiq$w+!TwA?u(Dn7-jS_9j_?gWE7+gu2bc-NH%jfww(aYF$6UVSu=2G}Wk0?4 zA5*g-TR7}!bf!v(kJIadWnrt>qkSygzeIQ9OLc5(e8Ts+AVWCJ%N;TSA|?nq>QoKO zz-$B?a77Sc<3x6?5HUXC`-P~oV|xSczx?Fl#aEWEd&zghQCUwdglyrk26U#1)F8=* zX|STn)vo)Txn57eM+-kXm5)g~C+Q73J?31eJImWVZqFR2#5|y?QFpe;MuA3Gz}ERasaqJC!08I7SK*#E3kJd&~nnuDL1W$JdIl9(d07wEZvo z4SETO^*7N8>SY)Kb1IzGe$qx!b>0D{^9b!k3d>V}uxHjn5D?`A_r1%!9z9qcVj;-2 zU%aPa!5Ql(6kMO)xGj0-ydq%6w2*PYpklu98SO4@C+1nW?TCWR!d&{`20cndMck9l z^13tX_S^P;(W+fvy>+svP5DOmgEZ3Adi!1MVK5_ zR+$j6RYavr&v@1d@Yv{g8j?^;g+~!Pb12ZGx%7$K3V+`A>;2D-DJeheg3q^Kd;Tq> znF4xc$*u0eTfzR!5yXCB__GWw1IvNyh_aVPaE2nx`t7_CTz1p-KW-}hYQmkpK7RWB z`@4R~6hM$A$0SkuP`?9DY@0dZ*3FmQ^?mQmwN|h{V+56AVow7=+DjufUopgb?7WdW zzw3P~Ca!#{?Di#RU4PFrt#3005bUC;THU^~g8dmI#nyyPoABF!U?262gX{2OwZUfv zOExtOoe4T+E8o<+I29zAZ^#zDwF|6RvZ0Q7?i3CsGx1Cxdyx8^1M#S^HO4)KY&-n> zw5xK@ov``en-00|;7#+mBXr7Y#Vzul1CRebuy9-HLxZ1R;kqw4N~|Fk z2sPr{VzPgaDrQHkTtXFb>$LC2_OHvArxdN-vhi>KUij^!RywuHr>$VT!vh9G-HBH@ zW(;5ji*g<3%w2idPG$l85iwD$9*(ktv3zJ`J+$0==Rd%O zjg{~x(7;Db7ovK|@yME2UHu0hSiI`;0q;*7ecq>5Fg9D<{S(iL?%va*yS-@uvRs62 z`68Nt!Y?5SN>ode)$~17oz({+>gh}Tw=1#iqKb&hfdouYEf$+v9)okCDlGFVb1TIK z{}(h=@cB`|q#}^%2)4~+1RTJ@^jSt96tgSFe7^gyCm%Jd*Y*$cZn`^l$FBD;e5z8m zk9;_NgsNZz6_-O5(993y(eNMTqUvM_A?%q>;udqu*ki5=92&^E_0WrbcYd<-!>D4O zrzEl`CcHGNm=JN##I!y1gNRhzIw}43m(?qObmeV)>#oo5xbn(*QFXH1N+&G}*r8eC zzvb-L0WxBfxKjvZ*f9heNgtF5;{sC1`0#(mh;ZU2(Lty?_!JB-gAW(XIZ~Jti+W&`tupTob}+`3O(UIuiE@?{+i;F+dZ2vm_6>2Pxd0*tNriH zI?jIE8v{>|yWzuEijFyia19GzYO8V@#t*d(t-I)hb&>rEcmIAhr*5n6nh|;U)TOU( z{^H4l3Af_#DT|iZ`BuO7%*4B%-}vF!HwpLC=gtiLTCRKdBX{*($FIHrp#ha4HlYFnwBivU1nk^rg zul)SLm-M&FzqJ=1PdI&Wv`BYe9>#)J_RdG zr4N+aR~k*@Hb3yi-s7ot;)zYRvJ)GWpyG`wv&)LhS-&Lx?Z?mM>8C-gxVKb1ipn6# zJ)ld)iEnbW9q^(yLi|Y6r=xa>Ez}(dDJ3>vARdl3D6w#Vv`dMV)C9Wyac5UJ6f5y` zu!b!f4M(N!SFgEa0>*i|qJc=f#1f7wO{&eMZO+-Jz>7qm%34}cd9L#a4Z7Al5a{;C z1L2S-5sNE*(p~FjlpH_=au=!K=nwcL$KBIi@E?Y$@pjTG-Z?4S!HA-Y*An!`Vp4SS z>O}|)IU4mQ>Z9R^5{)M$=bEW!00gf;k-S z?ej)^nKh*D#v?CMNyEXUX~vCObK!m2GXcD?)>tB0g9` z@_jaQBLd0djl}wcN=o{~rFBc7qPlRaFH^dqA~PVdcPS*>C!IGKZNg})ve?@njC;D2 zkkSwi$EDx>?8beML`NV>Ie-RugUoeP{5LkuIvcsx>XM%P;KnPkuC`=vhM4_7jqh(9 zhG6boPoOUX?P)Ed{Y;=571F^s`@V)5)Tn9>D1$NS+P0&o!iKg`e_ztD?iX&TJO)VS zSj^pN>cK#al&|uJd_nRvKI@5ZY{ z1eA_&SVW3fd8T_`pb)~A`fvOghFPfdVnJ)z_T)lX#u-Wpz2liV)mTrKuFd^{pbv57 z^hv)cTGEQN$U0!fNH`jIh8BkifMaqT?=1xg?*G?o}PQn;;CqnM+LgPF_J^ZSFDtaDOsgL;f=e;Y{N3v z(vFif+c}?(sYcvprZ&~o58S$N^rT$9;n3nhw{&&U5#3NRb8xd>3a-3oGK^fS45}-l zmwZpX-vT4oQWBFs-{<#ZVFon;C)JT(zV|~IxsLe|B^V01xi`&!8SAa$8kD~90Ab%< zJmo4_xGox?ZGeXhGu)Xc2mGvuGEX$%qjirf(SSD?lipnW@}t;v>%CpQg~;5Uw=Q3cHK)CfMh-A8EQ6e1 ze^`;WBbi2i`@2_XA!mva9ulh+y93{0ek^?QMdKg7?jJvz5&4yON+$i~QKNilwgi0LN?iKJe#bgEjM}95 zR-#^(6Qy8L=sa*^=QEEIk5eX!Nuw^fYU6Q)6( z=OV8UdMOwVxNz({Cuk_t#_-L;0uqttN7ZEA1=jN6- zr$RtZ@??IMZojL!Ex(UVN@;#PjgwdtLnm zmO~uV8rjjK<;I3J@F;<8ayg_q3qPHTSWMzVbdm|$d{WV^MW%uOAAhfF$&(VKQrm1gF~l$%8o5e!}#FPW#F339sHOh{i12^RCYd54=x=YS#rNxGWZtc@}mt= zu(R5=Uxt|TC()TF9O>XOdh21@ffN%7B}(}t8ka&he6#`SCOJHnR@l}oon3i!&%dPz zk|(MThpo1wS#EI3<{F#yo3oZzVP09nf9`kRfNd9XpzYsX(15l|nOw1>t}{kwcRDzK)8UW6@iX^O z+S}Rrl5Mn)Uq5O#_5{9hNioOyhe2#Tk}6$^gyO0?XYM_H6O>ca%GE22Peov84cc9{-R zPl9Hd>vYCG3!lI$r|?N}I%)f_TJD8BH36r~d!Y7^m0+m$B?n3CzjQ4-I*HdL?eyV) zx~BJTT+(Fa_7taehdS?vNm!DXrY$^mBHIjbNuHK-CtLTv1(DC_()XmT#fDxS&QVM% zNc*lzYe^EWqh*epMsUOndR(BRz^72w(}nS3wJM#&AwVYG%LURsPISsJ{QSHRbmtXF zcm6PR0p9lv@#`so?rEayEr9MRq6-#4x0&er3ZVNF(S>r*b#R>E0e;aObYeZ=-6;P} zbTPG>bKMXkD4!EuSgq!ygG-}eJ(j4|G&(pKN<;-ruJ9eLzvQA5YdsR3nA1pfVooE` zP3F3eL^o6*9kK(;Nc?`Hl8s1LS|HuB0_m0)NOx|5bQcsz=PHoyk^<>k3!r z>CP^IZWHl4y#TsD65Y=Vq+3}4-4n#`vK(|G&V_Fx&f~+-3ExD1J|hQRC&!67enE7& zLO{{_vygkH+9f?tblto@9Nn`-cWDkfkq?&gK7ck}*Ye9n*IppqsRh#gxInsv1=5{X zAf3qVBh7bFf&9c8jl@qJAV#7SzA+MASAqKZa?lB#MJ|Is_YXrSa@03OH&_529w8M% z_vHw5HC)znM0d_Gaz$>$JO+lL6S)!dSWy7oV?=jh4mx3bk$W(Yi-w^Sxd(I?=b-z9 z@Epw^8;P@@B#n}AS%HEFC88ic#RoVMuc#BNBrmkJMVt||@(v;bA#V)H6LVX%2jrc~ zg=^*Ej4jThkXOuU9^C`-W^!I1Yis~{;!LZR_sRdFJaIPG$~(G}D@Q=Aome*kK{4F= ziTS~Q1vgya;f#%#9z!1|XXdJ;MxIirJedI(^OjoMK&x{-YJ~$ZyEA%_C*)$Y2`GRT2pd>;%J7{)`?Y8_tXfrb}}dY ztA++K8RmrW7m+ugwWUT2c|wkWpcqb`;JZ~L5Ah(bDIjk>m{3_@SE2S>$Po~I!^vC6 z2Y;lIhxNm`2|QrW!#J}89n{EE3Y9mO6aGab5BW@-xiG)4xs0h**}{Yz0YNd`{666< zUf0MQO*nCOgFKP1k8pBg4G?k!MAvZgM85t|BM-O3e#&{mo=Z5h6LQGoWNE%SoIG*O z@_|Mk)=yjuLf)O6>2=kDdp6wJ`DMz(wHSD4<(U^`%MqBJmG_2ben%6Nv*{yvh&}6r zJs_`zEBL-f9_)#8m&j+cxnQd}?C>#KAanz6xb-`h6TX)r59^99*i-oD5^)$JTxKa$ zp776H^2Ge~qg3wa>_K_&YUZ~eu}4gZB4YGjx4>k>Lg)7+AF7pyc+Vy8_J(XZ0<$~v zux7dB{oEtCXTzP9_m0M%@XrhA10ImQnLa2h8daF5;GN_ECuzHgjSP5OM@W7pb0if1l5Jy{4go4YjO)#rdxm7v8+B z1%=AHg%5f)L!QVx=-$9-n#2V>Z)-uJ@*d)Y-qy$iD#7sw68s7aN@cQ0q-rzm8}fuq zVwKmP?{QvlX=vb|;+_<2`xnl6d?&Bu074eJhLiU;ANz_%9%An@`hW-IjinFDcY8pd z$e-X1y^u5iP7pFs|BmXgDeBub^>2Bd(8&TCJV`l#KB#|2G-!(g87~n|+ZOk31r88& zFKFnrefjF#?eldro>)rt84NT`J&{{*0==9#UmXhB>AlcUJmpoNn-{B0zz(j!o)gCC zRU|Ka=j{SI-sX4=o)lM{tj*1Mx>lTecExyh=!!A~XAl&bWh&09=EW_2QFl{GU%B1B zU`Zfgh?kd@p({Sv?rJIVFKA0N3=Zh~WuwokKiyqHJr;+QOuf`J>{ zE>UMG%O3D&#hlK6j|n5@yCu)&fO<`iA%ABdDeJZ|Z7r~+tt{x%wGVVU8iHLtDxP)j z{MWo9yoPnsE=EG;bM)*`$fWpZiG>E3vcVBdw71miye+2www586x5XFs$yUF=d!WKq zSL*UO%k_2Evc4Xpe<*2srzKue)*TpdSG8;XzRS@T>vOg1${ShyCCO14bofNu-7VsR zRypO0OdUpJ-mT>pVgPf+rM7=h*LO>vnHj^@5b5e`rkoTU=HKGj1{X|-Or*3lC$K|wh1_!3zQ8Y6 z^}6g$UVlZvwb)YKZ%$-odK&1ol$#Q!-p~?jU%kmxa(Z7t3D>oiWG#!!OkCAc;cQNJ zS6D^FXgmm+byrHwfU(BlA^F}Cqp_sUTRo?{tjE+>XKtdnA}4cnm)hN=g)J3v%{rNF z;NHgWW>gwk1X`QwOoqPt?h%y8DNoGD-0e0;>deUOsSF^u*;IKsIlEzCv%Aw_FKchD zZuB|q2{m`bfUj$B^*K5XL%r>-&QwOq$!K`wZtV&=-)qyv0efAqIP>Mi?4T`4o+GEuZf?W@g?X8>a1)Y8cYFI4gaKkS##2|(VRhrFD`zn^wi&A1dKEG-=V(>E&8?*PLKa zOHZHK8LOtZ$@|;^L!u3o1(aNomvN0FxM(6{q{tIPb_#0v=N*?P^77IT*RgZ**iLG% z?HU@g_WNpjEeX5X-E^YU-P)Q=O|sdFdX6=P8hiZuCwC-jLIFXjY3^41XieG=(CvYoqfIt zE?~_F#^eo!V7H;Yw9MO6ZSlL>62=lwTUc}D10MN{CfKayNwUsfUaj7>Z7#`((uVfJ zErrifgY&cP!7O)*3pbm2AQ@liN2AVK!b*Z}aIj*L-R$In#*i^duXg7DP6nGDe4m5$Y!s&o5TGfU(7ayciyGxgl#^)b)K=ps4F%Yil(;Bn^U1P z6qlA4O>Li7US3wL)6HT$HDmFsFZO#a+&OGMzHOe~q$4_vC{qXE0a$%BK)*>%$g!9b z$8W<%{;_uEsK!J@p{ED<4M0SyB>2X0+aLbw%h%aGT-?WGMf(yLL*NcFig-8$%A*)Y zz4MwJNjPvHLw90#;Fc)L$tqyq?5P?IoFyVJHSQ$;L#Y>VeY5mFk~+jQt*lP`hDJPV zI-YX?;Lj14&bM=9&XJrd&A>%`0F0|OFm8{Jnec-Cv6F5nuDoZ$gbCZ0PwLp06W4PH za5%o;yg3eT(kygRnWF;s&6asCNBoFGJUK*x3R>Oq#sa%#kD0?XS&Nj{R+ET&Dt%D2 zESVK>i+ncg%F(%v{OY)TonKSuJl#mW7RD?hp21~VVG2=;2ZC9h zM^R_q)rK49wI4cn+J3VZ{rN^ykHNfrgW>hhueo(>F8d+#u~e?j?z?Y2_G}6dj-WWE z4ZCDnQ9Qw7i%0~bj6*b{WLXd+#B;5zPUJ=;O_WTQQniYgW^jn7Xvgw8mKkkP5UQdu zKbXl|dDjP`cY1vm9B|VKFGWADzUx?d+=R1kzarQAAg$9M>)=2B(`DOmSW{Urnu<2$ znp6}^RG7FZSSdDH>H2N!8B##0tukxr_T$5{7U50GF1sd{bClM1SF-BI=T=%dPOHCz z!$(`K7ZJe7{9jq$I;k}ucQ~F_7sMlQ@K(Iqg2Mzd8=??hJx zQUAt}__aEnUSlPV3jMhdI;Y1<>LN-=eZI~p>B~#I5n>3l`hJUc)+1@Ms8Xd!!Mkc& z-#>kAZzb%5B48zJsb9!%C~#;5jc{xMMLtn;pd?+g>0rkz+pqt1>E+vxxcpO{ns#GNVw5mU!D;2@hFhe> zL5JCI`Sh5h$6WW*KjzA+>|_EfY99RULPAZm9C1qvZoY*+N@)IB`Y>oxWvR%y9JTae zK3UBeF;=n=5%7T8I&iEAW$^xwDAXa6K2_7?$?7QJmd+Pr2`6N5zG4i6OVu&rJ567q zlNgV7t`GWI5i)mEUm=6|3SEVSEPD(4YQ|*g2>rDEXtS~h^#xDPSLn##Qo`fIOVYm3 zM~o450fE=n(Pm{2=_~j{1~015h?WXf+iUz6^!Q*rKH9dZ3rO9m*x5~gfGqK0e95E~ zce#B-qpuhPXyH5nwRQC2!^$49FSw&d*J56rBn3pru1z?3?eKqo!l$fPZ5FCz z@X~*t3AbEs!yy1W1&JGeT5o1F;_$5XSb@uokz+B!$c9PM@f-rMsnMTi zwF&l2E$YZR5FyNdAi)g9lck2&vK0P3g?kr1V3bQZm-!(gZ|8VzRIrZX7mZ>iE>ShX3b zT|onlrqT+#yWi`Js(&c0LGh`7JF%nLFvFneI}B!{)owLY!)Gp)O$2m?3Oxa%)jWrQ zsnl#S$d)-4gWlRQEC+o}Y7QIn6+KmRi#cZ%z zOtx~f&7e1zmY0?5MA7q#fC4YzNcdELs)n)YEym5RGuj1PzC~zpP3$oY+@&gVuL6u1vC0$!Q>-;Gt*PK&zhz2EBEqN zO46mXjQ8%JeJg^orLVm4j|;>fQvBz=AcWEL&f=&a*et~FyR@#ua`IGC^ceb}Xnjn( z@;bGf`5y9?D9dq)2L}`v_1Zy&`<-A%H$-t02t~_Cy)&VDK5Q-ugfj0J2ra}@4V0`s zNUA)_j>l9ena9E8$Je)!!P{!+o^nU;akc_?N$t5wg>g*jMQq=KIYDyPMx?Dzz>z{cz?Z@*LC?*ZNG= z3a)V0wuhH?@IldTds;$v=_Ph}m2~*;oxXlscH5WJdasykzw^iw{$uk#rp8>?Z%oS{ zkzn>{Bl(AZwNqwVX%Uam{|V#jFYj1de9~i2VZ+90L|X=4t8kBc;^A3hV+Z~J0Osta A^8f$< literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/ContentWidgets/ContentClassReference.uasset b/Table/Content/WorldObjects/HUD/ContentWidgets/ContentClassReference.uasset new file mode 100644 index 0000000000000000000000000000000000000000..a8325bedd4a6c2b65b6ef2ff2f103767960f2229 GIT binary patch literal 4181 zcmbtYdu&uy8b44T)q(~c9!A(6yAGvl`9gLP< zPqZ89S5~dG^0LO1o=hx>|B*KtnX(13a9Jp&8C)|O)kHHVk~Iw_l}zR~zKZKyYvQz; zv771l^$^C$EjG50u@b`Wh^xZyaz#9DpDz#!RJlE2zc(C;R`~*+fG_MP5yk=}j72YB z#Mnr}oiqomzqlVm26M=D65d6>{T3fmU5nY?(pOs-?Y;WLvHaW9y<~@wg;B#v>rnR2 z8{Z8bN3&V8ViE7G+jx>I89v8bI#=)+JAK!CgYapQ0N*FO`tb1u?OQU&q{)$T+J}U} zqv;Ob?+tA7s?A@Olg{6koW>Padf1xE)A8|GSKp+oX@k|&6hfO5v^I( zI9oUW(VDRia!k{?l8hwS>|xIoUP6p2U02%b^i-PbMjNZy_o<2<;$bR~NJ2H1Xf;~K zP*4tk-r0EsL5N2*C7$H&gjqf8Zx1ZLWI{i^Hk&lmMYMMVzt3PtW{=}hrCfwl`9yHRCogAQGb}t82|00%YU`5zb(DdC$}RPXRt+vxkk3Kse%@?UtHMrRCc=Tw2|B8H^%F4wls>+SA_5XyrsIGD? zku*&zIQ&)-j>hV&nqZ;2-WJ$gtEBDyyqngpMP_Qbp$Mx^w7=d7HSoxmdia~dg-|0l z>M1xp8eL&Fi7iw0@%~d&h+L;M-K{k9MX4qwsot*`YD$ByOj@COA7`{Z4(;Tf2(F0D zW5r9~zKn?Vsa3|Wl-_ykE4?te-q7uh=5_1Sus_kVO@>V_XWP!Aa!v9wMOV>LVV)6v zO;)g#gRGySBoJ zJUmNn=gH5CaBMeFJ2t3kcHq>=zsk8G=6xLA#cDLeU1587Y_@+P0vFTNd$Jq>tx2$j zFMp_GEjcR^+~GRZjvANFXB^&V*b|$(QkJwR*PkC8;X*j+6hD-;rAmSE=*kl~zd30!AkAUiOqdw|o| zNhV1I3qh0c8b0P&vmATmcBK~*D6<6e)_^=%at<^+RRK8+lqVpEAq~RY2Qb-0qFHcp z0#FZ57x6TZAZh|nE&y(5K+Y~ATlpAbc|Hc(ACRL8rxRfCV!+EB;FPdaSz_{7v4zpY x&MY|>N#lg543xwmcGDjO&wT%Ud+EGG??RCbm{>r=>SO+;!`|w;L0Sa)UjU4!C_4ZE literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/ContentWidgets/ContentClassReferenceDataTable.uasset b/Table/Content/WorldObjects/HUD/ContentWidgets/ContentClassReferenceDataTable.uasset new file mode 100644 index 0000000000000000000000000000000000000000..3aa1450777c657323c8194055c801c68ec0eb82e GIT binary patch literal 2907 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 Y{KEp(sJ7^>F{ifL|Ipx}3IP271^Na(i2wiq literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/ContentWidgets/W_ImageContainer.uasset b/Table/Content/WorldObjects/HUD/ContentWidgets/W_ImageContainer.uasset new file mode 100644 index 0000000000000000000000000000000000000000..05377349e77615de1ec383849bf3c950509f9145 GIT binary patch literal 53583 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 literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/ContentWidgets/W_PDFContainer.uasset b/Table/Content/WorldObjects/HUD/ContentWidgets/W_PDFContainer.uasset new file mode 100644 index 0000000000000000000000000000000000000000..71f32a1de80e28ab3de1efcf136917c6a4c0cfdd GIT binary patch literal 101718 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 literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/ContentWidgets/W_TabContainer.uasset b/Table/Content/WorldObjects/HUD/ContentWidgets/W_TabContainer.uasset new file mode 100644 index 0000000000000000000000000000000000000000..6b3e14de7be8669484b7cba0705b42c3d195f1df GIT binary patch literal 26298 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 i(A=3fzX>u69o&3NEJmz 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

G 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 Kbq4_i{{I7_;e0j# literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/W_JsonSelection.uasset b/Table/Content/WorldObjects/HUD/W_JsonSelection.uasset new file mode 100644 index 0000000000000000000000000000000000000000..8be32d3d476ab3fb269ab8bb547a929182e433f5 GIT binary patch literal 80939 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 literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/W_SpawnUserHUDHUD.uasset b/Table/Content/WorldObjects/HUD/W_SpawnUserHUDHUD.uasset new file mode 100644 index 0000000000000000000000000000000000000000..616280e8bec8a29ddb7f9c6ceed441df2e450d88 GIT binary patch literal 31499 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 literal 0 HcmV?d00001 diff --git a/Table/Content/WorldObjects/HUD/W_UserHUD.uasset b/Table/Content/WorldObjects/HUD/W_UserHUD.uasset new file mode 100644 index 0000000000000000000000000000000000000000..4035282e353d4538f0fcc1c5fe88a418a777df47 GIT binary patch literal 153482 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 e&YS(&H`tB(=(I)ftNB#v;.txt files +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt + +# Don't ignore icon files in Build +!Build/**/*.ico + +# Built data for maps +*_BuiltData.uasset + +# Configuration files generated by the Editor +Saved/* + +# Compiled source files for the engine to use +Intermediate/* +Plugins/*/Intermediate/* + +# Cache files for the editor to use +DerivedDataCache/* diff --git a/Table/Plugins/VisualStudioTools/CODE_OF_CONDUCT.md b/Table/Plugins/VisualStudioTools/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..f9ba8cf --- /dev/null +++ b/Table/Plugins/VisualStudioTools/CODE_OF_CONDUCT.md @@ -0,0 +1,9 @@ +# Microsoft Open Source Code of Conduct + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +Resources: + +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns diff --git a/Table/Plugins/VisualStudioTools/CONTRIBUTING.md b/Table/Plugins/VisualStudioTools/CONTRIBUTING.md new file mode 100644 index 0000000..51f9942 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/CONTRIBUTING.md @@ -0,0 +1,49 @@ +# Contributing + +This project welcomes contributions and suggestions. Most contributions require you to agree to a +Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us +the rights to use your contribution. For details, visit . + +When you submit a pull request, a CLA bot will automatically determine whether you need to provide +a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions +provided by the bot. You will only need to do this once across all repos using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or +contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +## Code Style Guide + +The code in the repo follows the existing code conventions described in the Unreal Engine's [Code Standard document](https://docs.unrealengine.com/INT/epic-cplusplus-coding-standard-for-unreal-engine/). The `.editorconfig` file at the source root is used for Visual Studio to check the conventions and report violations. + +## Pull Requests + +When submitting a pull request, make sure that it has a clean build using the instructions below. A core contributor will review your pull request and provide feedback. Once all the feedback is addressed and the PR is approved, we will merge the changes. + +## Build workflow +The plugin source can be built in isolation using the command below (which wrap the RunUAT.bat script) to ensure it's correct for submition to the Unreal Engine Marketplace. + +From a Visual Studio Developer Prompt (or PowerShell Dev Prompt), run the following: + +```cmd +> msbuild -p:UnrealEngine=[path_or_version] -p:OutputPath=[absolute_path] +`````` + +- `UnrealEngine` can be either a path to a source build (e.g. `c:\src\ue`) or a version identifier for an installed engine (e.g. `4.27`, `5.2`). +- `OutputPath` cannot be under the Unreal Engine's folder due to a restriction from `RunUAT.bat`. + +> Note: The contents of `OutputPath` will be overwritten! + +By default the script will disable Unity Builds in the plugin modules to catch errors from cpp files not including all the required headers. It does not affect the build of other targets and modules. + +## Unity build errors + +If you get errors due to unity build problems, you get the same errors in Visual Studio by generating the solution with the command below. This will allow Visual Studio to suggest the includes as code fixes. Note that this will overwrite any existing solution and projects that are already present. + +```powershell +$env:VSTUE_IsCustomDevBuild=1; & "C:\Program Files\Epic Games\UE_5.2\Engine\Build\BatchFiles\Build.bat" -projectfiles -project="full_path_to_game.uproject" -game +``` + +The module rules for the plugin check the enviroment variable above to use the more strict include settings. + + diff --git a/Table/Plugins/VisualStudioTools/Config/FilterPlugin.ini b/Table/Plugins/VisualStudioTools/Config/FilterPlugin.ini new file mode 100644 index 0000000..66565e7 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Config/FilterPlugin.ini @@ -0,0 +1,9 @@ +[FilterPlugin] +; This section lists additional files which will be packaged along with your plugin. Paths should be listed relative to the root plugin directory, and +; may include "...", "*", and "?" wildcards to match directories, files, and individual characters respectively. +; +; Examples: +; /README.txt +; /Extras/... +; /Binaries/ThirdParty/*.dll +/Docs/... diff --git a/Table/Plugins/VisualStudioTools/Docs/Marketplace_Readme.md b/Table/Plugins/VisualStudioTools/Docs/Marketplace_Readme.md new file mode 100644 index 0000000..cdb575c --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Docs/Marketplace_Readme.md @@ -0,0 +1,57 @@ +# Visual Studio Integration Tool + +Visual Studio Integration Tool is an Unreal Engine plugin that works in conjunction with Visual Studio to display information about Blueprints assets in C++ code (requires Visual Studio 2022 17.4 or later). + +## Installing + +### Visual Studio + +The tool requires the `Visual Studio Tools for Unreal Engine` component from Visual Studio to be installed. You can find it under the "Game development with C++" workload in the Visual Studio Installer (figure 1). + +![figure 1](./images/ide_support_ue.png) \ +*Figure 1 - Installing the Visual Studio component* + +### Unreal Engine + You can install the plugin in a couple of ways: + + - Through the Epic Games Launcher: + - Select the "Install to Engine" option within the Launcher. From there, you can select an engine version for installation. + - If you're using the Marketplace website, you can add the plugin to your account and you will have an option to open the Launcher in order to install it as detailed above. + - If you already added the plugin to your account, go Library -> Vault in the and locate the plugin there. + + - Through source distribution: + - If you're unable to use the Marketplace-based distribution (e.g. you're building the Unreal Engine from source), then you can install the plugin manually by following the instructions found at + +## Enabling the plugin + +- Through the Unreal Editor + - Open your project and then use the Plugin Manager to enable "VisualStudioTools". + - See [official documentation](https://docs.unrealengine.com/INT/working-with-plugins-in-unreal-engine/) for more information on how to install and enable plugins. +- (Advanced) Alternatively, you can manually edit the '.uproject' descriptor for your project and add an entry for the "VisualStudioTools" plugin. + +## Usage + +Test discovery in Visual Studio 2022 + +1. Begin by installing and enabling the `Visual Studio Tools for Unreal Engine` plugin. +2. Open your solution in Visual Studio. +3. Click on the Test Explorer to show a pop-up that will display available tests. (figure 3). +4. You can find the logs from the plugin execution in the Tests Output Window. +5. To refresh your filters for test discovery, you can select the "Options > Unreal Engine > Test Adapter" option under the "Tests" menu. (figure 4) + +![figure 2](./images/configuration_page.png) \ +*Figure 2 - Unreal Engine project Configuration Page + +![figure 3](./images/test_explorer.png) \ +*Figure 3 - Menu to rescan the blueprint assets in the game project* + +![figure 4](./images/test_options.png) \ +*Figure 3 - Menu to change options for Tests Discovery + +## Troubleshooting + +If you encounter any issues when setting up Visual Studio in conjunction with the Unreal Editor plugin, please refer to the [Troubleshooting](https://github.com/microsoft/vc-ue-extensions/blob/main/Docs/Troubleshooting.md) guide in the repository. This guide provides solutions for common issues and is periodically updated to ensure that the latest solutions are available. + +## Reporting issues + +To report new issues, provide feedback, or request new features, please use the following options: [Report a Problem](https://aka.ms/feedback/cpp/unrealengine/report) and [Suggest a Feature](https://aka.ms/feedback/cpp/unrealengine/suggest). These options will allow you to submit your issue or feedback directly to our team and help us improve the plugin moving forward. \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Docs/Troubleshooting.md b/Table/Plugins/VisualStudioTools/Docs/Troubleshooting.md new file mode 100644 index 0000000..3f06739 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Docs/Troubleshooting.md @@ -0,0 +1,55 @@ +# Troubleshooting guide + +This document describes some of the errors that might happen in the integration with the Unreal Engine and potential ways to mitigate them. + +The integration works by Visual Studio being able to invoke the `VisualStudioTools` plugin using the Unreal Editor executable in commandlet mode. That means the following must be true: + +- The `Visual Studio Tools for Unreal Engine` component from Visual Studio must be installed. You can find it under the "Game Development with C++" workload in the VS Installer. +- The game project must be built in a Editor target (e.g., `"Development_Editor"`). +- The `VisualStudioTools` plugin must be enabled for the project, either explicitly in the .uproject descriptor file or be enabled by default to all projects if installed at the as an engine plugin (via the `"EnabledByDefault=true"` entry in the .uplugin file). +- Starting on version 17.5, Visual Studio will wait to scan the game project until a file with the `UCLASS/UPROPERTY/UFUNCTION` macros is opened and the Code Lens hints are requested. +- At the moment, the Code Lens hints will only be displayed for game projects. In particular, the files in the _engine_ project of the solution (with name like "UE4" or "UE5") will not display the hints yet. + +## Code Lens are not visible + +### Verify the required VS component is installed + +In recent versions of UE, the generated solution comes with a `.vsconfig` file, which allows right-clicking on the Solution in VS and selecting "Install Missing Feature(s)". The component is part of the "Game Development with C++" workload. + +You can also see this [help page](https://learn.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2022#step-4---choose-workloads) about installing features using the Visual Studio installer. + +### Check if the opened documents have any class decorated with the Unreal macros + +For real world projects, scanning the blueprints information might take several seconds and be expensive in terms of machine resources. Visual Studio will only start the operation when the Code Lens are rendered. That means it will wait until a file from the game project with the Unreal macros is opened in the editor. + +### Check if a `cpp.hint` file is redefining the relevant Unreal macros + +Some projects might have a cpp.hint file that includes the `UCLASS`, `UPROPERTY`, `UFUNCTION` macros. That might suppress the new logic in Visual Studio that uses the macros to display the Code Lens hints. + +If that is the case, you can remove those macros from the hint file, save it and try reloading the project. + +Note that other macros in the hint file can be left as-is and do not affect the Code Lens hints. + +### Ensure the C++ Database is enabled + +In Tools > Options > Text Editor > C/C++ > Advanced > Browsing/Navigation, the setting "Disable Database" should be set to "False". This is the default value of this setting. + +## Errors showing up in the Output Window and/or Task Center notification + +### Message "LogInit: Error: VisualStudioToolsCommandlet looked like a commandlet, but we could not find the class." + +Possible causes are the plugin not being installed correctly or installed but not yet enabled for the game project (which is required on installation from the Marketplace). + +- See [this section](../README.md#building-and-installing) for installation instructions. + +- See [this section](../README.md#optional-enabling-the-plugin) for instructions on how to enable the plugin. + +### Message "Command finished with exit code 1" without other errors + +Either the game project or the plugin DLL is not yet built. Rebuilding the project should ensure they are available. Then manually rescan the game project using the `Project > Rescan UE Blueprints` menu. + +### Task Center error: "Your task failed with the message: Could not find a part of the path...' + +This was a known issue when trying to locate the path the Unreal Editor executable, fixed in Visual Studio 17.5-Preview3. This usually happens when the selected Configuration in VS is not one with an "Editor" target. + +A workaround is to switch to such configuration and manually rescan the game project using the `Project > Rescan UE Blueprints` menu. diff --git a/Table/Plugins/VisualStudioTools/Docs/Visual Studio Integration Tool Documentation.pdf b/Table/Plugins/VisualStudioTools/Docs/Visual Studio Integration Tool Documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..edcdfc42fe5cb9a86694c820beeceb46e8840d82 GIT binary patch literal 232900 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

()!~8 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 z

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 FKL8g8?|T3M literal 0 HcmV?d00001 diff --git a/Table/Plugins/VisualStudioTools/Docs/images/ide_support_ue.png b/Table/Plugins/VisualStudioTools/Docs/images/ide_support_ue.png new file mode 100644 index 0000000000000000000000000000000000000000..2216c0c6ef06f9da92edc73782b30a67e6403265 GIT binary patch literal 10657 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 B7<~W$ literal 0 HcmV?d00001 diff --git a/Table/Plugins/VisualStudioTools/Docs/images/test_explorer.png b/Table/Plugins/VisualStudioTools/Docs/images/test_explorer.png new file mode 100644 index 0000000000000000000000000000000000000000..e72d9b5117f6ad47e05cd14f3adda743b9e0852d GIT binary patch literal 61011 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 literal 0 HcmV?d00001 diff --git a/Table/Plugins/VisualStudioTools/Docs/images/test_options.png b/Table/Plugins/VisualStudioTools/Docs/images/test_options.png new file mode 100644 index 0000000000000000000000000000000000000000..3a035e3d131615d95063a4d958ca5710b9640c5b GIT binary patch literal 103887 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 literal 0 HcmV?d00001 diff --git a/Table/Plugins/VisualStudioTools/LICENSE b/Table/Plugins/VisualStudioTools/LICENSE new file mode 100644 index 0000000..41f977a --- /dev/null +++ b/Table/Plugins/VisualStudioTools/LICENSE @@ -0,0 +1,22 @@ + Visual Studio Tools for Unreal Engine + Copyright (c) Microsoft Corporation. + + 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 diff --git a/Table/Plugins/VisualStudioTools/README.md b/Table/Plugins/VisualStudioTools/README.md new file mode 100644 index 0000000..4fa5176 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/README.md @@ -0,0 +1,116 @@ +# Unreal Engine plugin for Visual Studio + +This project contains an Unreal Editor plugin that works in conjunction with Visual Studio to help discover and run tests in C++ code. + +The plugin can be installed in either the Engine or Game project sources, and it is automatically activated when an Unreal Engine project is opened in Visual Studio. + +## Requirements + +Before you begin, please make sure you have the following software and tools set up: + +1. Visual Studio 2022 has the "Visual Studio Tools for Unreal Engine" component installed. + 1. The component can be found in the "Game development with C++" workload or as an individual component. +2. Unreal Engine, either installed or built from source. + 1. To learn how to install or build Unreal Engine, please refer to the following guide: [Installing Unreal Engine](https://docs.unrealengine.com/5.0/en-US/installing-unreal-engine). + 1. The source code and instructions have been tested on Unreal Engine versions 4.27 and 5.0+. + +## Building and Installing the Plugin + +> If you have Unreal Engine installed and set up through the Epic Games Launcher, and you only want to use the plugin, you can skip the steps below and install it directly from the [Unreal Engine Marketplace](https://aka.ms/vsueplugin). + +The most straightforward way to use the plugin is to clone the repo under the `Plugins` folder of your game project or engine source. If you have multiple projects in the same Visual Studio solution, it is recommended to install the plugin at the engine level and share the binaries across the projects. + +1. Clone the repo by using the following commands: + ```powershell + git clone https://github.com/microsoft/vc-ue-extensions.git + ``` + +2. Build the plugin from source: + ```powershell + msbuild -p:UnrealEngine= + ``` + Note#1: `` can be path to source code folder of the engine or the one installed by `Epic Games Launcher` (e.g `C:\Program Files\Epic Games\UE_5.4`) + Note#2: Alternatevly you can follow [Unreal Engine building plugins](https://dev.epicgames.com/community/learning/tutorials/qz93/unreal-engine-building-plugins) guide. + +3. Clone built plugin. + + 3.1. To Project folder: + ```powershell + move-item -path ./bin -destination \Plugins\VisualStudioTools + ``` + Note: You have to create `Plugins` folder in the root of the game project if it doens't exisist yet. + + 3.2. To Engine folder: + ```powershell + move-item -path ./bin -destination Note: To ensure proper activation of the plugin, make sure the correct plugin is selected or the desired changes are made in the `.uproject` file. + +## Manually invoking the plugin + +The plugin is designed to be used with Visual Studio, and as such, it does not provide any user interfaces, commands, or logs within the Unreal Editor. However, it is still possible to test the plugin's execution by running the **sample** command below: + +```powershell +& "\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" "$Env:UserProfile\Unreal Projects\EmptyProject\EmptyProject.uproject" -run=VisualStudioTools -output "$Env:Temp\vs-ue-tools.json" [-unattended -noshadercompile -nosound -nullrhi -nocpuprofilertrace -nocrashreports -nosplash] +``` + +This command will run the plugin for the specified project and save Unreal Engine Blueprint information in the output file. Optional parameters are included to run the command faster. + +For more information on the specific command line parameters, you can run the following command in the powershell prompt with `-help`: + +```powershell +& "" "" -run=VisualStudioTools -help [-unattended -noshadercompile -nosound -nullrhi -nocpuprofilertrace -nocrashreports -nosplash] +``` + +>Note: The executable name is `UE4Editor-cmd.exe` for UE4.x, located under a similar path. + +## Troubleshooting + +If you encounter any issues when setting up Visual Studio in conjunction with the Unreal Editor plugin, please refer to the [Troubleshooting](https://github.com/microsoft/vc-ue-extensions/blob/main/Docs/Troubleshooting.md) guide in the repository. This guide provides solutions for common issues and is periodically updated to ensure that the latest solutions are available. + +To report new issues, provide feedback, or request new features, please use the following options: [Report a Problem](https://aka.ms/feedback/cpp/unrealengine/report) and [Suggest a Feature](https://aka.ms/feedback/cpp/unrealengine/suggest). These options will allow you to submit your issue or feedback directly to our team and help us improve the plugin moving forward. + +## Contributing +This project welcomes contributions and suggestions. Check out our [contributing guide](CONTRIBUTING.md) for instructions on how to contribute to the project. + +## Trademarks + +This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). +Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. +Any use of third-party trademarks or logos are subject to those third-party's policies. \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/SECURITY.md b/Table/Plugins/VisualStudioTools/SECURITY.md new file mode 100644 index 0000000..e138ec5 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). + + diff --git a/Table/Plugins/VisualStudioTools/SUPPORT.md b/Table/Plugins/VisualStudioTools/SUPPORT.md new file mode 100644 index 0000000..b7cafca --- /dev/null +++ b/Table/Plugins/VisualStudioTools/SUPPORT.md @@ -0,0 +1,13 @@ +# Support + +## How to file issues and get help + +This project uses the Visual Studio Developer Community to track bugs and feature requests. Please search the existing feedback before filing new ones to avoid duplicates. + +For common issues, please refer to our [Troubleshooting](https://github.com/microsoft/vc-ue-extensions/blob/main/Docs/troubleshooting.md) guide in the repository. We will periodically update the guide to provide solutions for common issues. + +To report issues, provide feedback, and request features, please use one of the following options: [Report a Problem](https://aka.ms/feedback/cpp/unrealengine/report) and [Suggest a Feature](https://aka.ms/feedback/cpp/unrealengine/suggest). + +## Microsoft Support Policy + +Support for this **PROJECT or PRODUCT** is limited to the resources listed above. diff --git a/Table/Plugins/VisualStudioTools/Scripts/Package-Plugin.ps1 b/Table/Plugins/VisualStudioTools/Scripts/Package-Plugin.ps1 new file mode 100644 index 0000000..04650c0 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Scripts/Package-Plugin.ps1 @@ -0,0 +1,43 @@ +param( + [Parameter(Mandatory=$true)] + [string] + $EnginePath, + [Parameter(Mandatory=$true)] + [string] + $EngineVersion +) + +function New-TemporaryDirectory { + $parent = [System.IO.Path]::GetTempPath() + $name = [System.IO.Path]::GetRandomFileName() + New-Item -ItemType Directory -Path (Join-Path $parent $name) +} + +$PackagePath = New-TemporaryDirectory +& msbuild "-p:UnrealEngine=$EnginePath;OutputPath=$PackagePath;Versioned=true" + +# Add EnabledByDefault property in the descriptor file +Write-Host "Patch plugin descriptor file" +$descriptor = "$PackagePath/VisualStudioTools.uplugin" +$a = Get-Content $descriptor | ConvertFrom-Json +$a | Add-Member -NotePropertyName EnabledByDefault -NotePropertyValue $true -ErrorAction Ignore +$a | ConvertTo-Json -depth 100 | Out-File $descriptor -Encoding utf8 + +Write-Host "Copy Config folder" +Copy-Item -Path Config -Destination $PackagePath/Config -Recurse + +$PublishPath = "publish" +If(!(test-path -PathType Container $PublishPath)) +{ + New-Item -ItemType Directory -Path $PublishPath | Out-Null +} + +Write-Host "Create ZIP package" +$tag = $EngineVersion.Replace(".", "") +$files = Get-ChildItem $PackagePath -Exclude @("Binaries", "Intermediate") +$zip = "$PublishPath/VisualStudioTools_v$($a.VersionName)_ue$tag.zip" +Compress-Archive -Path $files -DestinationPath "$PublishPath/VisualStudioTools_v$($a.VersionName)_ue$tag.zip" -CompressionLevel Fastest + +Remove-Item $PackagePath -Force -Recurse + +Write-Host "Done: $($zip | Resolve-Path)" \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Scripts/SignDetached.proj b/Table/Plugins/VisualStudioTools/Scripts/SignDetached.proj new file mode 100644 index 0000000..0357524 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Scripts/SignDetached.proj @@ -0,0 +1,19 @@ + + + + + + $(MSBuildThisFileDirectory)../../out/ + + $(BaseOutputDirectory) + $(BaseOutputDirectory) + + + + + Microsoft400 + + + + + diff --git a/Table/Plugins/VisualStudioTools/Scripts/packages.config b/Table/Plugins/VisualStudioTools/Scripts/packages.config new file mode 100644 index 0000000..3fa1e7e --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Scripts/packages.config @@ -0,0 +1,4 @@ + + + + diff --git a/Table/Plugins/VisualStudioTools/Source/.editorconfig b/Table/Plugins/VisualStudioTools/Source/.editorconfig new file mode 100644 index 0000000..613c0eb --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/.editorconfig @@ -0,0 +1,91 @@ +[*.{cpp,h}] + +# Naming convention rules (note: currently need to be ordered from more to less specific) + +cpp_naming_rule.aactor_prefixed.symbols = aactor_class +cpp_naming_rule.aactor_prefixed.style = aactor_style + +cpp_naming_rule.swidget_prefixed.symbols = swidget_class +cpp_naming_rule.swidget_prefixed.style = swidget_style + +cpp_naming_rule.uobject_prefixed.symbols = uobject_class +cpp_naming_rule.uobject_prefixed.style = uobject_style + +cpp_naming_rule.booleans_prefixed.symbols = boolean_vars +cpp_naming_rule.booleans_prefixed.style = boolean_style + +cpp_naming_rule.structs_prefixed.symbols = structs +cpp_naming_rule.structs_prefixed.style = unreal_engine_structs + +cpp_naming_rule.enums_prefixed.symbols = enums +cpp_naming_rule.enums_prefixed.style = unreal_engine_enums + +cpp_naming_rule.templates_prefixed.symbols = templates +cpp_naming_rule.templates_prefixed.style = unreal_engine_templates + +cpp_naming_rule.general_names.symbols = all_symbols +cpp_naming_rule.general_names.style = unreal_engine_default + +# Naming convention symbols + +cpp_naming_symbols.aactor_class.applicable_kinds = class +cpp_naming_symbols.aactor_class.applicable_type = AActor + +cpp_naming_symbols.swidget_class.applicable_kinds = class +cpp_naming_symbols.swidget_class.applicable_type = SWidget + +cpp_naming_symbols.uobject_class.applicable_kinds = class +cpp_naming_symbols.uobject_class.applicable_type = UObject + +cpp_naming_symbols.boolean_vars.applicable_kinds = local,parameter,field +cpp_naming_symbols.boolean_vars.applicable_type = bool + +cpp_naming_symbols.enums.applicable_kinds = enum + +cpp_naming_symbols.templates.applicable_kinds = template_class + +cpp_naming_symbols.structs.applicable_kinds = struct + +cpp_naming_symbols.all_symbols.applicable_kinds = * + +# Naming convention styles + +cpp_naming_style.unreal_engine_default.capitalization = pascal_case +cpp_naming_style.unreal_engine_default.required_prefix = +cpp_naming_style.unreal_engine_default.required_suffix = +cpp_naming_style.unreal_engine_default.word_separator = + +cpp_naming_style.unreal_engine_enums.capitalization = pascal_case +cpp_naming_style.unreal_engine_enums.required_prefix = E +cpp_naming_style.unreal_engine_enums.required_suffix = +cpp_naming_style.unreal_engine_enums.word_separator = + +cpp_naming_style.unreal_engine_templates.capitalization = pascal_case +cpp_naming_style.unreal_engine_templates.required_prefix = T +cpp_naming_style.unreal_engine_templates.required_suffix = +cpp_naming_style.unreal_engine_templates.word_separator = + +cpp_naming_style.unreal_engine_structs.capitalization = pascal_case +cpp_naming_style.unreal_engine_structs.required_prefix = F +cpp_naming_style.unreal_engine_structs.required_suffix = +cpp_naming_style.unreal_engine_structs.word_separator = + +cpp_naming_style.uobject_style.capitalization = pascal_case +cpp_naming_style.uobject_style.required_prefix = U +cpp_naming_style.uobject_style.required_suffix = +cpp_naming_style.uobject_style.word_separator = + +cpp_naming_style.aactor_style.capitalization = pascal_case +cpp_naming_style.aactor_style.required_prefix = A +cpp_naming_style.aactor_style.required_suffix = +cpp_naming_style.aactor_style.word_separator = + +cpp_naming_style.swidget_style.capitalization = pascal_case +cpp_naming_style.swidget_style.required_prefix = S +cpp_naming_style.swidget_style.required_suffix = +cpp_naming_style.swidget_style.word_separator = + +cpp_naming_style.boolean_style.capitalization = pascal_case +cpp_naming_style.boolean_style.required_prefix = b +cpp_naming_style.boolean_style.required_suffix = +cpp_naming_style.boolean_style.word_separator = diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.cpp new file mode 100644 index 0000000..5afcac8 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.cpp @@ -0,0 +1,246 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +#include "VisualStudioBlueprintDebuggerHelperModule.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 4 +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +IMPLEMENT_MODULE(FVisualStudioBlueprintDebuggerHelper, VisualStudioBlueprintDebuggerHelper); + +DEFINE_LOG_CATEGORY(LogVisualStudioBlueprintDebuggerHelper); + +#if ENGINE_MAJOR_VERSION >= 5 +#define FCustomBlueprintPropertyInfo TSharedPtr +#else +#define FCustomBlueprintPropertyInfo FDebugInfo +#endif + +struct FVSNodePinRuntimeInformation +{ + UEdGraphPin* Pin; + FCustomBlueprintPropertyInfo Property; + + FVSNodePinRuntimeInformation(UEdGraphPin* InPin, FCustomBlueprintPropertyInfo InProperty) + : Pin(InPin) + , Property(InProperty) + { + } +}; + +struct FVSNodeData +{ + FText NodeName; + TArray> Properties; + int32 ScriptEntryTag; + const UEdGraphNode* Node; +}; + +struct FVSNodesRuntimeInformation +{ + TArray> Nodes; +}; + +struct FVSBlueprintRuntimeInformation +{ + TArray>> RunningBlueprints; +}; + +struct StackTraceHelper +{ + int32 ScriptEntryTag; + FString NodeName; +}; + +// Keep exported so we can read it. +VISUALSTUDIOBLUEPRINTDEBUGGERHELPER_API FVSBlueprintRuntimeInformation BlueprintsRuntimeInformation; + +VISUALSTUDIOBLUEPRINTDEBUGGERHELPER_API std::map StackFrameInformation; + +VISUALSTUDIOBLUEPRINTDEBUGGERHELPER_API const char* DebuggerHelperVersion = "1.0.0"; + +void FVisualStudioBlueprintDebuggerHelper::StartupModule() +{ + CurrentScriptEntryTag = 0; + + FBlueprintContextTracker::OnEnterScriptContext.AddRaw( + this, + &FVisualStudioBlueprintDebuggerHelper::OnEnterScriptContext); + + FBlueprintContextTracker::OnExitScriptContext.AddRaw( + this, + &FVisualStudioBlueprintDebuggerHelper::OnExitScriptContext); + + FBlueprintCoreDelegates::OnScriptException.AddRaw( + this, + &FVisualStudioBlueprintDebuggerHelper::OnScriptException); +} + +void FVisualStudioBlueprintDebuggerHelper::ShutdownModule() +{ + FBlueprintCoreDelegates::OnScriptException.RemoveAll(this); + FBlueprintContextTracker::OnExitScriptContext.RemoveAll(this); + FBlueprintContextTracker::OnEnterScriptContext.RemoveAll(this); +} + +void FVisualStudioBlueprintDebuggerHelper::OnEnterScriptContext( + const struct FBlueprintContextTracker& Context, + const UObject* SourceObject, + const UFunction* Function) +{ + if (!IsInGameThread()) + { + return; + } + + CurrentScriptEntryTag = Context.GetScriptEntryTag(); +} + +void FVisualStudioBlueprintDebuggerHelper::OnExitScriptContext(const struct FBlueprintContextTracker& Context) +{ + if (!IsInGameThread()) + { + return; + } + + for (auto ItRunningBlueprints = BlueprintsRuntimeInformation.RunningBlueprints.CreateIterator(); ItRunningBlueprints; ++ItRunningBlueprints) + { + auto& RunningBlueprint = ItRunningBlueprints->Value; + for (auto ItNodeData = RunningBlueprint->Nodes.CreateIterator(); ItNodeData; ++ItNodeData) + { + if ((*ItNodeData)->ScriptEntryTag == Context.GetScriptEntryTag()) + { + ItNodeData.RemoveCurrent(); + } + } + + if (!RunningBlueprint->Nodes.Num()) + { + ItRunningBlueprints.RemoveCurrent(); + } + } + + for (auto ItStackFrameInfo = StackFrameInformation.begin(); ItStackFrameInfo != StackFrameInformation.end();) + { + if (ItStackFrameInfo->second.ScriptEntryTag == Context.GetScriptEntryTag()) + { + ItStackFrameInfo = StackFrameInformation.erase(ItStackFrameInfo); + } + else + { + ++ItStackFrameInfo; + } + } + + CurrentScriptEntryTag--; +} + +void FVisualStudioBlueprintDebuggerHelper::OnScriptException( + const UObject* Owner, + const struct FFrame& Stack, + const FBlueprintExceptionInfo& ExceptionInfo) +{ + EBlueprintExceptionType::Type ExceptionType = ExceptionInfo.GetType(); + if (ExceptionType != EBlueprintExceptionType::Type::Tracepoint && + ExceptionType != EBlueprintExceptionType::Type::WireTracepoint && + ExceptionType != EBlueprintExceptionType::Type::Breakpoint) + { + return; + } + + UFunction* NodeFunction = Cast(Stack.Node); + if (!NodeFunction) + { + return; + } + + UBlueprintGeneratedClass* BlueprintGeneratedClass = Cast(NodeFunction->GetOuter()); + if (!BlueprintGeneratedClass) + { + return; + } + + UBlueprint* Blueprint = Cast(BlueprintGeneratedClass->ClassGeneratedBy); + if (!Blueprint) + { + return; + } + + const int32 BreakpointOffset = Stack.Code - Stack.Node->Script.GetData() - 1; + const UEdGraphNode* NodeStoppedAt = FKismetDebugUtilities::FindSourceNodeForCodeLocation(Owner, Stack.Node, BreakpointOffset, /*bAllowImpreciseHit=*/ true); + if (!NodeStoppedAt) + { + return; + } + + StackFrameInformation[NodeFunction] = { CurrentScriptEntryTag, FString::Printf(TEXT("%s::%s"), *Blueprint->GetFriendlyName(), *NodeStoppedAt->GetNodeTitle(ENodeTitleType::Type::ListView).ToString()) }; + TTuple>* ExistingNodesRuntimeInformationTuple = BlueprintsRuntimeInformation.RunningBlueprints.FindByPredicate([&Blueprint](const TTuple>& Tuple) { + return Tuple.Key == Blueprint; + }); + + TSharedPtr NodesRuntimeInformation; + if (!ExistingNodesRuntimeInformationTuple) + { + NodesRuntimeInformation = MakeShared(); + BlueprintsRuntimeInformation.RunningBlueprints.Add(MakeTuple(Blueprint, NodesRuntimeInformation)); + } + else + { + NodesRuntimeInformation = ExistingNodesRuntimeInformationTuple->Value; + } + + TSharedPtr CurrentNodeData; + if (NodesRuntimeInformation->Nodes.Num() == 0 || NodeStoppedAt != NodesRuntimeInformation->Nodes.Top()->Node) + { + CurrentNodeData = MakeShared(); + CurrentNodeData->Node = NodeStoppedAt; + CurrentNodeData->NodeName = NodeStoppedAt->GetNodeTitle(ENodeTitleType::Type::ListView); + CurrentNodeData->ScriptEntryTag = CurrentScriptEntryTag; + NodesRuntimeInformation->Nodes.Push(CurrentNodeData); + } + else + { + CurrentNodeData = NodesRuntimeInformation->Nodes.Top(); + } + + FCustomBlueprintPropertyInfo PinInstanceInfo; + for (auto GraphPin : NodeStoppedAt->Pins) + { + FKismetDebugUtilities::EWatchTextResult DebugResult = FKismetDebugUtilities::GetDebugInfo(PinInstanceInfo, Blueprint, (UObject*)Owner, GraphPin); + if (DebugResult != FKismetDebugUtilities::EWTR_Valid) + { + continue; + } + + TSharedPtr* Existing = CurrentNodeData->Properties.FindByPredicate([&GraphPin](TSharedPtr& PinInfo) { + return PinInfo->Pin == GraphPin; + }); + + if (!Existing) + { + CurrentNodeData->Properties.Add(MakeShared(GraphPin, PinInstanceInfo)); + } + else + { + (*Existing)->Property = PinInstanceInfo; + } + } +} diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.h new file mode 100644 index 0000000..3e19a7d --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/Private/VisualStudioBlueprintDebuggerHelperModule.h @@ -0,0 +1,29 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_LOG_CATEGORY_EXTERN(LogVisualStudioBlueprintDebuggerHelper, Log, All); + +class FVisualStudioBlueprintDebuggerHelper : public FDefaultModuleImpl +{ +private: + void OnScriptException(const UObject* Owner, const struct FFrame& Stack, const FBlueprintExceptionInfo& ExceptionInfo); + void OnEnterScriptContext(const struct FBlueprintContextTracker& Context, const UObject* SourceObject, const UFunction* Function); + void OnExitScriptContext(const struct FBlueprintContextTracker& Context); + + int32 CurrentScriptEntryTag; + +public: + void StartupModule() override; + void ShutdownModule() override; +}; diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/VisualStudioBlueprintDebuggerHelper.Build.cs b/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/VisualStudioBlueprintDebuggerHelper.Build.cs new file mode 100644 index 0000000..260b324 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioBlueprintDebuggerHelper/VisualStudioBlueprintDebuggerHelper.Build.cs @@ -0,0 +1,31 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +using UnrealBuildTool; + +public class VisualStudioBlueprintDebuggerHelper: ModuleRules +{ + public VisualStudioBlueprintDebuggerHelper(ReadOnlyTargetRules Target) : base(Target) + { + OptimizeCode = CodeOptimization.Never; + PrivateDependencyModuleNames.AddRange(new string[] { + "Core", + "ApplicationCore", + "AssetRegistry", + "CoreUObject", + "Engine", + "Json", + "JsonUtilities", + "Kismet", + "UnrealEd", + "Slate", + "SlateCore", + "ToolMenus", + "EditorSubsystem", + "MainFrame", + "BlueprintGraph", + "VisualStudioDTE", + "EditorStyle", + "Projects" + }); + } +} diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelper.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelper.cpp new file mode 100644 index 0000000..5eab4fe --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelper.cpp @@ -0,0 +1,113 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#include "BlueprintAssetHelpers.h" + +#include "AssetRegistry/AssetRegistryModule.h" +#include "Blueprint/BlueprintSupport.h" +#include "Engine/BlueprintCore.h" +#include "Engine/BlueprintGeneratedClass.h" +#include "Engine/Engine.h" +#include "Engine/StreamableManager.h" +#include "Misc/ScopeExit.h" +#include "VisualStudioTools.h" + +namespace VisualStudioTools +{ +namespace AssetHelpers +{ +/* +* These helpers handle the usage of some APIs that were deprecated in 5.1 +* but the replacements are not available in older versions. +* Might be overridden by the `Build.cs` rules +*/ +#if FILTER_ASSETS_BY_CLASS_PATH + +void SetBlueprintClassFilter(FARFilter& InOutFilter) +{ + // UE5.1 deprecated the API to filter using class names + InOutFilter.ClassPaths.Add(UBlueprintCore::StaticClass()->GetClassPathName()); +} + +static FString GetObjectPathString(const FAssetData& InAssetData) +{ + // UE5.1 deprecated 'FAssetData::ObjectPath' in favor of 'FAssetData::GetObjectPathString()' + return InAssetData.GetObjectPathString(); +} + +#else // FILTER_ASSETS_BY_CLASS_PATH + +void SetBlueprintClassFilter(FARFilter& InOutFilter) +{ + InOutFilter.ClassNames.Add(UBlueprintCore::StaticClass()->GetFName()); +} + +static FString GetObjectPathString(const FAssetData& InAssetData) +{ + return InAssetData.ObjectPath.ToString(); +} + +#endif // FILTER_ASSETS_BY_CLASS_PATH + +void ForEachAsset( + const TArray& TargetAssets, + TFunctionRef Callback) +{ + // Show a simpler logging output. + // LogTimes are still useful to tell how long it takes to process each asset. + TGuardValue DisableLogVerbosity(GPrintLogVerbosity, false); + TGuardValue DisableLogCategory(GPrintLogCategory, false); + + // We're about to load the assets which might trigger a ton of log messages + // Temporarily suppress them during this stage. + GEngine->Exec(nullptr, TEXT("log LogVisualStudioTools only")); + ON_SCOPE_EXIT + { + GEngine->Exec(nullptr, TEXT("log reset")); + }; + + FStreamableManager AssetLoader; + + for (int32 Idx = 0; Idx < TargetAssets.Num(); Idx++) + { + const FAssetData AssetData = TargetAssets[Idx]; + FSoftClassPath GenClassPath = AssetData.GetTagValueRef(FBlueprintTags::GeneratedClassPath); + UE_LOG(LogVisualStudioTools, Display, TEXT("Processing blueprints [%d/%d]: %s"), Idx + 1, TargetAssets.Num(), *GenClassPath.ToString()); + + TSharedPtr Handle = AssetLoader.RequestSyncLoad(GenClassPath); + ON_SCOPE_EXIT + { + // We're done, notify an unload. + Handle->ReleaseHandle(); + }; + + if (!Handle.IsValid()) + { + UE_LOG(LogVisualStudioTools, Warning, TEXT("Failed to get a streamable handle for Blueprint. Skipping. GenClassPath: %s"), *GenClassPath.ToString()); + continue; + } + + if (auto BlueprintGeneratedClass = Cast(Handle->GetLoadedAsset())) + { + Callback(BlueprintGeneratedClass, AssetData); + } + else + { + // Log some extra information to help the user understand why the asset failed to load. + + FString ObjectPathString = AssetHelpers::GetObjectPathString(AssetData); + + FString Msg = !GenClassPath.ToString().Contains(ObjectPathString) + ? FString::Printf( + TEXT("ObjectPath is not compatible with GenClassPath, consider re-saving it to avoid future issues. { ObjectPath: %s, GenClassPath: %s }"), + *ObjectPathString, + *GenClassPath.ToString()) + : FString::Printf(TEXT("ClassPath: %s"), *GenClassPath.ToString()); + + UE_LOG(LogVisualStudioTools, Warning, TEXT("Failed to load Blueprint. Skipping. %s"), *Msg); + } + } +} + +} +} \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelpers.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelpers.h new file mode 100644 index 0000000..02b5edd --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintAssetHelpers.h @@ -0,0 +1,26 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#pragma once +#include "CoreMinimal.h" +#include "UObject/NoExportTypes.h" + +class UBlueprintGeneratedClass; + +namespace VisualStudioTools +{ +namespace AssetHelpers +{ +void SetBlueprintClassFilter(FARFilter& InOutFilter); + +/** +* Loads each blueprint asset and invokes the callback with the resulting blueprint generated class. +* Each iteration will load the asset using a FStreamableHandle and verify that is a valid blueprint +* before invoking the callback. +*/ +void ForEachAsset( + const TArray& TargetAssets, + TFunctionRef Callback); + +} // namespace AssetHelpers +} // namespace VisualStudioTools diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.cpp new file mode 100644 index 0000000..4aeb046 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.cpp @@ -0,0 +1,248 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#include "BlueprintReferencesCommandlet.h" + +#include "Algo/Find.h" +#include "Algo/Transform.h" +#include "AssetRegistry/AssetRegistryModule.h" +#include "BlueprintAssetHelpers.h" +#include "Engine/BlueprintGeneratedClass.h" +#include "FindInBlueprintManager.h" +#include "JsonObjectConverter.h" +#include "Misc/Paths.h" +#include "Misc/ScopeExit.h" +#include "Policies/CondensedJsonPrintPolicy.h" +#include "VisualStudioTools.h" + +namespace VisualStudioTools +{ +static FString StripClassPrefix(const FString& InClassName) +{ + if (InClassName.IsEmpty()) + { + return InClassName; + } + + size_t PrefixSize = 0; + + const TCHAR ClassPrefixChar = InClassName[0]; + switch (ClassPrefixChar) + { + case TEXT('I'): + case TEXT('A'): + case TEXT('U'): + // If it is a class prefix, check for deprecated class prefix also + if (InClassName.Len() > 12 && FCString::Strncmp(&(InClassName[1]), TEXT("DEPRECATED_"), 11) == 0) + { + PrefixSize = 12; + } + else + { + PrefixSize = 1; + } + break; + case TEXT('F'): + case TEXT('T'): + // Struct prefixes are also fine. + PrefixSize = 1; + break; + default: + PrefixSize = 0; + break; + } + + return InClassName.RightChop(PrefixSize); +} + +/** +* Retrieves the asset data matching the given FindInBlueprints query. +*/ +TArray SearchForCandidateAssets(const FString& SearchQuery) +{ + IAssetRegistry& AssetRegistry = FModuleManager::LoadModuleChecked(TEXT("AssetRegistry")).Get(); + AssetRegistry.SearchAllAssets(true); + + TArray OutItemsFound; + FStreamSearch StreamSearch(SearchQuery); + while (!StreamSearch.IsComplete()) + { + FFindInBlueprintSearchManager::Get().Tick(0.0); + } + + // Execute the search and get all the assets in the result. + StreamSearch.GetFilteredItems(OutItemsFound); + + + TArray OutTargetAssets; + Algo::Transform(OutItemsFound, OutTargetAssets, + [&](const FSearchResult& Item) + { + // The DisplayText property of the result contains the blueprint's object path + // Use that to find the respective asset in the registry +#if FILTER_ASSETS_BY_CLASS_PATH + return AssetRegistry.GetAssetByObjectPath(FSoftObjectPath(*Item->DisplayText.ToString())); +#else + return AssetRegistry.GetAssetByObjectPath(*Item->DisplayText.ToString()); +#endif // FILTER_ASSETS_BY_CLASS_PATH + }); + + return OutTargetAssets; +} + +/** +* Loads each blueprint asset and filters the collection to items which use the +* target UFunction in their call graph, matching the native class and function names. +*/ +TMap GetConfirmedAssets( + const FString& FunctionName, const FString& ClassNameWithoutPrefix, const TArray& InAssets) +{ + TMap OutResults; + + AssetHelpers::ForEachAsset(InAssets, + [&](UBlueprintGeneratedClass* BlueprintClassName, const FAssetData AssetData) + { + auto MatchingFunction = Algo::FindByPredicate(BlueprintClassName->CalledFunctions, + [&](const UFunction* Fn) + { + return Fn->HasAnyFunctionFlags(EFunctionFlags::FUNC_Native) + && Fn->GetName() == FunctionName + && Fn->GetOwnerClass()->GetName() == ClassNameWithoutPrefix; + }); + + if (MatchingFunction != nullptr) + { + OutResults.Add(BlueprintClassName->GetName(), AssetData); + } + }); + + return OutResults; +} +using JsonWriter = TJsonWriter>; + +static void SerializeBlueprintReference( + TSharedRef& Json, const FString& BlueprintClassName, const FAssetData& Asset) +{ + FString PackageFileName; + FString PackageFile; + FString PackageFilePath; + if (FPackageName::TryConvertLongPackageNameToFilename(Asset.GetPackage()->GetName(), PackageFileName) && + FPackageName::FindPackageFileWithoutExtension(PackageFileName, PackageFile)) + { + PackageFilePath = FPaths::ConvertRelativePathToFull(MoveTemp(PackageFile)); + } + + Json->WriteObjectStart(); + Json->WriteValue(TEXT("name"), BlueprintClassName); + Json->WriteValue(TEXT("path"), PackageFilePath); + Json->WriteObjectEnd(); +} + +static void SerializeBlueprints( + TSharedRef& Json, const TMap& InAssets) +{ + Json->WriteIdentifierPrefix(TEXT("blueprints")); + Json->WriteArrayStart(); + + for (auto& Item : InAssets) + { + const FString& BlueprintClassName = Item.Key; + const FAssetData& Asset = Item.Value; + SerializeBlueprintReference(Json, BlueprintClassName, Asset); + } + + Json->WriteArrayEnd(); +} + +static void SerializeMetadata( + TSharedRef& Json, int TotalAssetCount) +{ + Json->WriteIdentifierPrefix(TEXT("metadata")); + Json->WriteObjectStart(); + { + Json->WriteValue(TEXT("asset_count"), TotalAssetCount); + } + Json->WriteObjectEnd(); +} + +static void SerializeResults( + const TMap& InAssets, + FArchive& OutArchive, + int TotalAssetCount) +{ + TSharedRef Json = JsonWriter::Create(&OutArchive); + Json->WriteObjectStart(); + + SerializeBlueprints(Json, InAssets); + SerializeMetadata(Json, TotalAssetCount); + + Json->WriteObjectEnd(); + Json->Close(); +} +} // namespace VisualStudioTools + +static constexpr auto SymbolParamVal = TEXT("symbol"); + +UVsBlueprintReferencesCommandlet::UVsBlueprintReferencesCommandlet() + : Super() +{ + HelpDescription = TEXT("Commandlet for generating data used by Blueprint support in Visual Studio."); + + HelpParamNames.Add(SymbolParamVal); + HelpParamDescriptions.Add(TEXT("[Optional] Fully qualified symbol to search for in the blueprints.")); + + HelpUsage = TEXT(" -run=VsBlueprintReferences -output= -symbol= [-unattended -noshadercompile -nosound -nullrhi -nocpuprofilertrace -nocrashreports -nosplash]"); +} + +int32 UVsBlueprintReferencesCommandlet::Run( + TArray& Tokens, + TArray& Switches, + TMap& ParamVals, + FArchive& OutArchive) +{ + using namespace VisualStudioTools; + GIsRunning = true; // Required for the blueprint search to work. + + FString* ReferencesSymbol = ParamVals.Find(SymbolParamVal); + if (ReferencesSymbol->IsEmpty()) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("Missing required symbol parameter.")); + PrintHelp(); + return -1; + } + + FString FunctionName; + FString ClassNameNative; + if (!ReferencesSymbol->Split(TEXT("::"), &ClassNameNative, &FunctionName)) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("Reference parameter should be in the qualified 'NativeClassName::MethodName' format.")); + PrintHelp(); + return -1; + } + + // Execute the search in two stages: + // 1. Use FindInBlueprints to get all candidate blueprints with calls to functions that match the requested symbol + // 2. Confirm the blueprints reference the requested function, by matching the target UFunction in their call graph. + // The first step acts as a filter to avoid loading too many blueprints to inspect their call graph. + // The second step is required because the FiB data does not always allow for searching with the function + // qualified with the owned class name, if the function is static. + + FString ClassNameWithoutPrefix = StripClassPrefix(ClassNameNative); + + // Create a FiB search query for function nodes where the native name matches the requested symbol + FString SearchValue = FString::Printf(TEXT("Nodes(\"Native Name\"=+%s & ClassName=K2Node_CallFunction)"), *FunctionName); + + UE_LOG(LogVisualStudioTools, Display, TEXT("Blueprint search query: %s"), *SearchValue); + + // Step 1: Execute the Fib search + TArray TargetAssets = SearchForCandidateAssets(SearchValue); + + // Step 2: Load the assets to confirm they are a match + TMap MatchAssets = GetConfirmedAssets(FunctionName, ClassNameWithoutPrefix, TargetAssets); + + // Finally, write the results back to the output + SerializeResults(MatchAssets, OutArchive, TargetAssets.Num()); + + UE_LOG(LogVisualStudioTools, Display, TEXT("Found %d blueprints."), MatchAssets.Num()); + return 0; +} \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.h new file mode 100644 index 0000000..a0b8b1e --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/BlueprintReferencesCommandlet.h @@ -0,0 +1,25 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include "CoreMinimal.h" +#include "VisualStudioToolsCommandletBase.h" + +#include "BlueprintReferencesCommandlet.generated.h" + +UCLASS() +class UVsBlueprintReferencesCommandlet + : public UVisualStudioToolsCommandletBase +{ + GENERATED_BODY() + +public: + UVsBlueprintReferencesCommandlet(); + + int32 Run( + TArray& Tokens, + TArray& Switches, + TMap& ParamVals, + FArchive& OutArchive) override; +}; diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/FSmartBSTR.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/FSmartBSTR.h new file mode 100644 index 0000000..46772f3 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/FSmartBSTR.h @@ -0,0 +1,63 @@ +#pragma once + +#include "VisualStudioDTE.h" +#include + +class FSmartBSTR +{ +public: + FSmartBSTR() : data(nullptr) + { + } + + FSmartBSTR(const FSmartBSTR& Other) + { + if (Other.data) data = SysAllocString(Other.data); + else data = nullptr; + } + + FSmartBSTR(FSmartBSTR&& Other) + { + data = std::exchange(Other.data, nullptr); + } + + FSmartBSTR(const FString& Other) + { + data = SysAllocString(*Other); + } + + FSmartBSTR(const OLECHAR *Ptr) + { + if (Ptr) data = SysAllocString(Ptr); + else data = nullptr; + } + + ~FSmartBSTR() + { + if (data) SysFreeString(data); + } + + FSmartBSTR& operator=(const FSmartBSTR& Other) + { + if (this == &Other) return *this; + if (data) SysFreeString(data); + if (Other.data) data = SysAllocString(Other.data); + else data = nullptr; + return *this; + } + + FSmartBSTR& operator=(FSmartBSTR&& Other) + { + if (data) SysFreeString(data); + data = std::exchange(Other.data, nullptr); + return *this; + } + + BSTR operator*() const + { + return data; + } + +private: + BSTR data; +}; \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.cpp new file mode 100644 index 0000000..70a55f5 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.cpp @@ -0,0 +1,118 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +#include "VSServerCommandlet.h" +#include "VSTestAdapterCommandlet.h" + +#include "Windows/AllowWindowsPlatformTypes.h" + +#include "HAL/PlatformNamedPipe.h" +#include "Runtime/Core/Public/Async/TaskGraphInterfaces.h" +#include "Runtime/Core/Public/Containers/Ticker.h" +#include "Runtime/Engine/Classes/Engine/World.h" +#include "Runtime/Engine/Public/TimerManager.h" +#include "Runtime/Launch/Resources/Version.h" +#include "Runtime\CoreUObject\Public\UObject\UObjectGlobals.h" +#include +#include +#include +#include +#include +#include + +#include "Windows/HideWindowsPlatformTypes.h" + +#include "VisualStudioTools.h" + +static constexpr auto NamedPipeParam = TEXT("NamedPipe"); +static constexpr auto KillServerParam = TEXT("KillVSServer"); + +UVSServerCommandlet::UVSServerCommandlet() +{ + HelpDescription = TEXT("Commandlet for Unreal Engine server mode."); + HelpUsage = TEXT(" -run=VSServer [-stdout -multiprocess -silent -unattended -AllowStdOutLogVerbosity -NoShaderCompile]"); + + HelpParamNames.Add(NamedPipeParam); + HelpParamDescriptions.Add(TEXT("[Required] The name of the named pipe used to communicate with Visual Studio.")); + + HelpParamNames.Add(KillServerParam); + HelpParamDescriptions.Add(TEXT("[Optional] Quit the server mode commandlet immediately.")); +} + +void UVSServerCommandlet::ExecuteSubCommandlet(FString ueServerNamedPipe) +{ + char buffer[1024]; + DWORD dwRead; + std::string result = "0"; + + // Open the named pipe. + std::wstring pipeName = L"\\\\.\\pipe\\"; + pipeName.append(ueServerNamedPipe.GetCharArray().GetData()); + HANDLE HPipe = CreateFile(pipeName.c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); + if (HPipe != INVALID_HANDLE_VALUE) + { + ConnectNamedPipe(HPipe, NULL); + DWORD dwState; + BOOL bSuccess = GetNamedPipeHandleState(HPipe, &dwState, NULL, NULL, NULL, NULL, 0); + if (bSuccess) + { + // Read data from the named pipe. + ReadFile(HPipe, buffer, sizeof(buffer) - 1, &dwRead, NULL); + buffer[dwRead] = '\0'; + std::string strSubCommandletParams(buffer, dwRead); + FString SubCommandletParams = FString(strSubCommandletParams.c_str()); + + // Determine which sub-commandlet to invoke, and write back result response. + if (SubCommandletParams.Contains("VSTestAdapter")) + { + UVSTestAdapterCommandlet *Commandlet = NewObject(); + try + { + int32 subCommandletResult = Commandlet->Main(SubCommandletParams); + } + catch (const std::exception &ex) + { + UE_LOG(LogVisualStudioTools, Display, TEXT("Exception invoking VSTestAdapter commandlet: %s"), UTF8_TO_TCHAR(ex.what())); + result = "0"; + } + } + else if (SubCommandletParams.Contains("KillVSServer")) + { + // When KillVSServer is passed in, then kill the Unreal Editor process to end server mode. + exit(0); + } + else + { + // If cannot find which sub-commandlet to run, then return error. + result = "1"; + } + + WriteFile(HPipe, result.c_str(), result.size(), &dwRead, NULL); + } + } +} + +int32 UVSServerCommandlet::Main(const FString &ServerParams) +{ + TArray Tokens; + TArray Switches; + TMap ParamVals; + + ParseCommandLine(*ServerParams, Tokens, Switches, ParamVals); + if (ParamVals.Contains(NamedPipeParam)) + { + FString ueServerNamedPipe = ParamVals[NamedPipeParam]; + + // Infinite loop that listens to requests every second. + while (true) + { + std::this_thread::sleep_for(std::chrono::seconds(1)); + ExecuteSubCommandlet(ueServerNamedPipe); + } + } + else + { + UE_LOG(LogVisualStudioTools, Display, TEXT("Missing named pipe parameter.")); + } + + return 1; +} \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.h new file mode 100644 index 0000000..a8c7ef5 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSServerCommandlet.h @@ -0,0 +1,29 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include "Commandlets/Commandlet.h" +#include + +#include +#include +#include + +#include "VSServerCommandlet.generated.h" + +UCLASS() +class UVSServerCommandlet + : public UCommandlet +{ + GENERATED_BODY() + +public: + UVSServerCommandlet(); + +public: + virtual int32 Main(const FString& Params) override; + +private: + void ExecuteSubCommandlet(FString ueServerNamedPipe); +}; \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.cpp new file mode 100644 index 0000000..493bfee --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.cpp @@ -0,0 +1,288 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +#include "VSTestAdapterCommandlet.h" + +#include "Runtime/Core/Public/Async/TaskGraphInterfaces.h" +#include "Runtime/Core/Public/Containers/Ticker.h" +#include "Runtime/Launch/Resources/Version.h" +#include +#include + +#include "VisualStudioTools.h" + +static constexpr auto FiltersParam = TEXT("filters"); +static constexpr auto ListTestsParam = TEXT("listtests"); +static constexpr auto RunTestsParam = TEXT("runtests"); +static constexpr auto TestResultsFileParam = TEXT("testresultfile"); +static constexpr auto HelpParam = TEXT("help"); + +static void GetAllTests(TArray& OutTestList) +{ + FAutomationTestFramework& Framework = FAutomationTestFramework::GetInstance(); + Framework.GetValidTestNames(OutTestList); +} + +static void ReadTestsFromFile(const FString& InFile, TArray& OutTestList) +{ + TSet TestCommands; + + // Wrapping in an inner scope to ensure automatic destruction of InStream object without explicitly calling .close(). + { + std::wifstream InStream(*InFile); + if (!InStream.good()) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("Failed to open file at path: %s"), *InFile); + return; + } + + std::wstring Line; + while (std::getline(InStream, Line)) + { + if (Line.length() > 0) + { + TestCommands.Add(FString(Line.c_str())); + } + } + } + + GetAllTests(OutTestList); + for (int32 Idx = OutTestList.Num() - 1; Idx >= 0; Idx--) + { + if (!TestCommands.Contains(OutTestList[Idx].GetTestName())) + { + OutTestList.RemoveAt(Idx); + } + } +} + +static int32 ListTests(const FString& TargetFile) +{ + std::wofstream OutFile(*TargetFile); + if (!OutFile.good()) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("Failed to open file at path: %s"), *TargetFile); + return 1; + } + + FAutomationTestFramework& Framework = FAutomationTestFramework::GetInstance(); + + TArray TestInfos; + GetAllTests(TestInfos); + + for (const auto& TestInfo : TestInfos) + { + const FString TestCommand = TestInfo.GetTestName(); + const FString DisplayName = TestInfo.GetDisplayName(); + const FString SourceFile = TestInfo.GetSourceFile(); + const int32 Line = TestInfo.GetSourceFileLine(); + + OutFile << *TestCommand << TEXT("|") << *DisplayName << TEXT("|") << Line << TEXT("|") << *SourceFile << std::endl; + } + + UE_LOG(LogVisualStudioTools, Display, TEXT("Found %d tests"), TestInfos.Num()); + OutFile.close(); + + return 0; +} + +static int32 RunTests(const FString& TestListFile, const FString& ResultsFile) +{ + std::wofstream OutFile(*ResultsFile); + if (!OutFile.good()) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("Failed to open file at path: %s"), *ResultsFile); + return 1; + } + + TArray TestInfos; + if (TestListFile.Equals(TEXT("All"), ESearchCase::IgnoreCase)) + { + GetAllTests(TestInfos); + } + else + { + ReadTestsFromFile(TestListFile, TestInfos); + } + + bool AllSuccessful = true; + + FAutomationTestFramework& Framework = FAutomationTestFramework::GetInstance(); + + for (const FAutomationTestInfo& TestInfo : TestInfos) + { + const FString TestCommand = TestInfo.GetTestName(); + const FString DisplayName = TestInfo.GetDisplayName(); + + UE_LOG(LogVisualStudioTools, Log, TEXT("Running %s"), *DisplayName); + + const int32 RoleIndex = 0; // always default to "local" role index. Only used for multi-participant tests + Framework.StartTestByName(TestCommand, RoleIndex); + + FDateTime Last = FDateTime::UtcNow(); + + while (!Framework.ExecuteLatentCommands()) + { + // Because we are not 'ticked' by the Engine we need to pump the TaskGraph + FTaskGraphInterface::Get().ProcessThreadUntilIdle(ENamedThreads::GameThread); + + const FDateTime Now = FDateTime::UtcNow(); + const float Delta = static_cast((Now - Last).GetTotalSeconds()); + + // .. and the core FTicker +#if ENGINE_MAJOR_VERSION >= 5 + FTSTicker::GetCoreTicker().Tick(Delta); +#else + FTicker::GetCoreTicker().Tick(Delta); +#endif + + Last = Now; + } + + FAutomationTestExecutionInfo ExecutionInfo; + const bool CurrentTestSuccessful = Framework.StopTest(ExecutionInfo) && ExecutionInfo.GetErrorTotal() == 0; + AllSuccessful = AllSuccessful && CurrentTestSuccessful; + + const FString Result = CurrentTestSuccessful ? TEXT("OK") : TEXT("FAIL"); + + // [RUNTEST] is part of the protocol, so do not remove. + OutFile << TEXT("[RUNTEST]") << *TestCommand << TEXT("|") << *DisplayName << TEXT("|") << *Result << TEXT("|") << ExecutionInfo.Duration << std::endl; + + if (!CurrentTestSuccessful) + { + for (const auto& Entry : ExecutionInfo.GetEntries()) + { + if (Entry.Event.Type == EAutomationEventType::Error) + { + OutFile << *Entry.Event.Message << std::endl; + UE_LOG(LogVisualStudioTools, Error, TEXT("%s"), *Entry.Event.Message); + } + } + + UE_LOG(LogVisualStudioTools, Log, TEXT("Failed %s"), *DisplayName); + } + + OutFile.flush(); + } + + return AllSuccessful ? 0 : 1; +} + +UVSTestAdapterCommandlet::UVSTestAdapterCommandlet() +{ + HelpDescription = TEXT("Commandlet for generating data used by Blueprint support in Visual Studio."); + HelpUsage = TEXT(" -run=VSTestAdapter [-stdout -multiprocess -silent -unattended -AllowStdOutLogVerbosity -NoShaderCompile]"); + + HelpParamNames.Add(ListTestsParam); + HelpParamDescriptions.Add(TEXT("[Required] The file path to write the test cases retrieved from FAutomationTestFramework")); + + HelpParamNames.Add(RunTestsParam); + HelpParamDescriptions.Add(TEXT("[Required] The test cases that will be sent to FAutomationTestFramework to run.")); + + HelpParamNames.Add(TestResultsFileParam); + HelpParamDescriptions.Add(TEXT("[Required] The output file from running test cases that we parse to retrieve test case results.")); + + HelpParamNames.Add(FiltersParam); + HelpParamDescriptions.Add(TEXT("[Optional] List of test filters to enable separated by '+'. Default is 'application+smoke+product+perf+stress+negative'")); + + HelpParamNames.Add(HelpParam); + HelpParamDescriptions.Add(TEXT("[Optional] Print this help message and quit the commandlet immediately.")); +} + +void UVSTestAdapterCommandlet::PrintHelp() const +{ + UE_LOG(LogVisualStudioTools, Display, TEXT("%s"), *HelpDescription); + UE_LOG(LogVisualStudioTools, Display, TEXT("Usage: %s"), *HelpUsage); + UE_LOG(LogVisualStudioTools, Display, TEXT("Parameters:")); + for (int32 Idx = 0; Idx < HelpParamNames.Num(); ++Idx) + { + UE_LOG(LogVisualStudioTools, Display, TEXT("\t-%s: %s"), *HelpParamNames[Idx], *HelpParamDescriptions[Idx]); + } +} + +int32 UVSTestAdapterCommandlet::Main(const FString& Params) +{ + TArray Tokens; + TArray Switches; + TMap ParamVals; + + // Functionality for Unreal Engine Test Adapter. + ParseCommandLine(*Params, Tokens, Switches, ParamVals); + if (ParamVals.Contains(HelpParam)) + { + PrintHelp(); + return 0; + } + + // Default to all the test filters. + auto filter = EAutomationTestFlags::ProductFilter | EAutomationTestFlags::SmokeFilter | EAutomationTestFlags::PerfFilter | EAutomationTestFlags::EngineFilter; + if (ParamVals.Contains(FiltersParam)) + { + FString filters = ParamVals[FiltersParam]; + if (filters.Contains("smoke")) + { + filter |= EAutomationTestFlags::SmokeFilter; + } + else + { + filter &= ~EAutomationTestFlags::SmokeFilter; + } + + if (filters.Contains("engine")) + { + filter |= EAutomationTestFlags::EngineFilter; + } + else + { + filter &= ~EAutomationTestFlags::EngineFilter; + } + + if (filters.Contains("product")) + { + filter |= EAutomationTestFlags::ProductFilter; + } + else + { + filter &= ~EAutomationTestFlags::ProductFilter; + } + + if (filters.Contains("perf")) + { + filter |= EAutomationTestFlags::PerfFilter; + } + else + { + filter &= ~EAutomationTestFlags::PerfFilter; + } + + if (filters.Contains("stress")) + { + filter |= EAutomationTestFlags::StressFilter; + } + else + { + filter &= ~EAutomationTestFlags::StressFilter; + } + + if (filters.Contains("negative")) + { + filter |= EAutomationTestFlags::NegativeFilter; + } + else + { + filter &= ~EAutomationTestFlags::NegativeFilter; + } + } + + FAutomationTestFramework::GetInstance().SetRequestedTestFilter(filter); + if (ParamVals.Contains(ListTestsParam)) + { + return ListTests(ParamVals[ListTestsParam]); + } + else if (ParamVals.Contains(RunTestsParam) && ParamVals.Contains(TestResultsFileParam)) + { + return RunTests(ParamVals[RunTestsParam], ParamVals[TestResultsFileParam]); + } + + PrintHelp(); + return 1; +} \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.h new file mode 100644 index 0000000..299b763 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VSTestAdapterCommandlet.h @@ -0,0 +1,28 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include "Commandlets/Commandlet.h" + +#include +#include +#include + +#include "VSTestAdapterCommandlet.generated.h" + +UCLASS() +class UVSTestAdapterCommandlet + : public UCommandlet +{ + GENERATED_BODY() + +public: + UVSTestAdapterCommandlet(); + +public: + virtual int32 Main(const FString &Params) override; + +private: + void PrintHelp() const; +}; diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioTools.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioTools.cpp new file mode 100644 index 0000000..0c59e55 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioTools.cpp @@ -0,0 +1,19 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#include "VisualStudioTools.h" + +#include "Modules/ModuleInterface.h" +#include "Modules/ModuleManager.h" + +DEFINE_LOG_CATEGORY(LogVisualStudioTools); + +class FVisualStudioToolsModule : public IModuleInterface +{ +public: + /** IModuleInterface implementation */ + virtual void StartupModule() override {} + virtual void ShutdownModule() override {} +}; + +IMPLEMENT_MODULE(FVisualStudioToolsModule, VisualStudioTools) diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.cpp new file mode 100644 index 0000000..9062eac --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.cpp @@ -0,0 +1,576 @@ +#include "VisualStudioToolsBlueprintBreakpointExtension.h" +#include "FSmartBSTR.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if ENGINE_MAJOR_VERSION < 5 +#include +#include +#endif + +DEFINE_LOG_CATEGORY(LogUVisualStudioToolsBlueprintBreakpointExtension); + +static const FName GraphEditorModuleName(TEXT("GraphEditor")); + +void UVisualStudioToolsBlueprintBreakpointExtension::Initialize(FSubsystemCollectionBase& Collection) +{ + FGraphEditorModule& GraphEditorModule = FModuleManager::LoadModuleChecked(GraphEditorModuleName); + GraphEditorModule.GetAllGraphEditorContextMenuExtender().Add( + FGraphEditorModule::FGraphEditorMenuExtender_SelectedNode::CreateUObject(this, &ThisClass::HandleOnExtendGraphEditorContextMenu)); +} + +void UVisualStudioToolsBlueprintBreakpointExtension::Deinitialize() +{ + FGraphEditorModule* GraphEditorModule = FModuleManager::GetModulePtr(GraphEditorModuleName); + if (!GraphEditorModule) + { + return; + } + + GraphEditorModule->GetAllGraphEditorContextMenuExtender().RemoveAll( + [](const FGraphEditorModule::FGraphEditorMenuExtender_SelectedNode& Delegate) { + FName LocalFunction = GET_FUNCTION_NAME_CHECKED(ThisClass, HandleOnExtendGraphEditorContextMenu); + return Delegate.TryGetBoundFunctionName() == LocalFunction; + }); +} + +TSharedRef UVisualStudioToolsBlueprintBreakpointExtension::HandleOnExtendGraphEditorContextMenu( + const TSharedRef CommandList, + const UEdGraph* Graph, + const UEdGraphNode* Node, + const UEdGraphPin* Pin, + bool /* bIsConst */) +{ + TSharedRef Extender = MakeShared(); + if (!CanAddVisualStudioBreakpoint(Node, nullptr, nullptr)) + { + return Extender; + } + + const FName ExtensionHook(TEXT("EdGraphSchemaNodeActions")); + Extender->AddMenuExtension( + ExtensionHook, + EExtensionHook::After, + CommandList, + FMenuExtensionDelegate::CreateUObject(this, &ThisClass::AddVisualStudioBlueprintBreakpointMenuOption, Node)); + + return Extender; +} + +void UVisualStudioToolsBlueprintBreakpointExtension::AddVisualStudioBlueprintBreakpointMenuOption(FMenuBuilder& MenuBuilder, const UEdGraphNode *Node) +{ + MenuBuilder.BeginSection(TEXT("VisualStudioTools"), FText::FromString("Visual Studio Tools")); + MenuBuilder.AddMenuEntry( + FText::FromString("Set breakpoint in Visual Studio"), + FText::FromString("This will set a breakpoint in Visual Studio so the native debugger can break the execution"), + FSlateIcon(), + FUIAction(FExecuteAction::CreateUObject(this, &ThisClass::AddVisualStudioBreakpoint, Node))); + MenuBuilder.EndSection(); +} + +FString UVisualStudioToolsBlueprintBreakpointExtension::GetProjectPath(const FString &ProjectDir) +{ + FString ProjectPath; + if (!FFileHelper::LoadFileToString(ProjectPath, *(FPaths::EngineIntermediateDir() / TEXT("ProjectFiles") / TEXT("PrimaryProjectPath.txt")))) + { + const FProjectDescriptor* CurrentProject = IProjectManager::Get().GetCurrentProject(); + + if ((CurrentProject == nullptr || CurrentProject->Modules.Num() == 0) || !FUProjectDictionary::GetDefault().IsForeignProject(ProjectDir)) + { + ProjectPath = FPaths::RootDir() / TEXT("UE5"); + } + else + { + const FString BaseName = FApp::HasProjectName() ? FApp::GetProjectName() : FPaths::GetBaseFilename(ProjectDir); + ProjectPath = ProjectDir / BaseName; + } + } + + ProjectPath = ProjectPath + TEXT(".sln"); + + FPaths::NormalizeFilename(ProjectPath); + + return ProjectPath; +} + +bool UVisualStudioToolsBlueprintBreakpointExtension::GetRunningVisualStudioDTE(TComPtr& OutDTE) +{ + IRunningObjectTable* RunningObjectTable; + bool bResult = false; + FString ProjectDir = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir()); + FPaths::NormalizeDirectoryName(ProjectDir); + FString SolutionPath = GetProjectPath(ProjectDir); + + if (SUCCEEDED(GetRunningObjectTable(0, &RunningObjectTable)) && RunningObjectTable) + { + IEnumMoniker* MonikersTable; + if (SUCCEEDED(RunningObjectTable->EnumRunning(&MonikersTable))) + { + MonikersTable->Reset(); + + // Look for all visual studio instances in the ROT + IMoniker* CurrentMoniker; + while (MonikersTable->Next(1, &CurrentMoniker, NULL) == S_OK) + { + IBindCtx* BindContext; + LPOLESTR OutName; + if (SUCCEEDED(CreateBindCtx(0, &BindContext)) && SUCCEEDED(CurrentMoniker->GetDisplayName(BindContext, NULL, &OutName))) + { + TComPtr ComObject; + if (SUCCEEDED(RunningObjectTable->GetObject(CurrentMoniker, &ComObject))) + { + TComPtr TempDTE; + if (SUCCEEDED(TempDTE.FromQueryInterface(__uuidof(EnvDTE::_DTE), ComObject))) + { + TComPtr Solution; + BSTR OutPath = nullptr; + if (SUCCEEDED(TempDTE->get_Solution(&Solution)) && + SUCCEEDED(Solution->get_FullName(&OutPath))) + { + FString Filename(OutPath); + FPaths::NormalizeFilename(Filename); + if (Filename == SolutionPath || Filename == ProjectDir) + { + OutDTE = TempDTE; + bResult = true; + } + } + else + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Could not get solution from DTE")); + } + + SysFreeString(OutPath); + } + } + } + else + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Could not get display name for moniker")); + } + BindContext->Release(); + CurrentMoniker->Release(); + if (bResult) break; + } + MonikersTable->Release(); + RunningObjectTable->Release(); + } + else + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Could not enumerate Running Object Table")); + } + } + else + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Could not get Running Object Table")); + } + + return bResult; +} + +bool UVisualStudioToolsBlueprintBreakpointExtension::CanAddVisualStudioBreakpoint(const UEdGraphNode* Node, UClass **OutOwnerClass, UFunction **OutFunction) +{ + const UK2Node_CallFunction* K2Node = Cast(Node); + if (!K2Node) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Node is not a UK2Node_CallFunction")); + return false; + } + + UFunction* Function = K2Node->GetTargetFunction(); + if (!Function || !Function->IsNative()) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Function is not native")); + return false; + } + + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Trying to get function definition for %s"), *Function->GetName()); + + UClass* OwnerClass = Function->GetOwnerClass(); + if (!OwnerClass->HasAllClassFlags(CLASS_Native)) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Owning class is not native")); + return false; + } + + if (OutOwnerClass) *OutOwnerClass = OwnerClass; + if (OutFunction) *OutFunction = Function; + return true; +} + +#if ENGINE_MAJOR_VERSION < 5 + +#define PRINT_PLATFORM_ERROR_MSG(_TXT) \ + do { \ + TCHAR _ErrorBuffer[MAX_SPRINTF] = { 0 }; \ + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("" #_TXT ": [%s]"), \ + FPlatformMisc::GetSystemErrorMessage(_ErrorBuffer, MAX_SPRINTF, 0)); \ + } while (0) + +bool UVisualStudioToolsBlueprintBreakpointExtension::PreloadModule(HANDLE ProcessHandle, HMODULE ModuleHandle, const FString& RemoteStorage) +{ + int32 ErrorCode = 0; + MODULEINFO ModuleInfo = { 0 }; + WCHAR ModuleName[FProgramCounterSymbolInfo::MAX_NAME_LENGTH] = { 0 }; + WCHAR ImageName[FProgramCounterSymbolInfo::MAX_NAME_LENGTH] = { 0 }; +#if PLATFORM_64BITS + static_assert(sizeof(MODULEINFO) == 24, "Broken alignment for 64bit Windows include."); +#else + static_assert(sizeof(MODULEINFO) == 12, "Broken alignment for 32bit Windows include."); +#endif + + if (!GetModuleInformation(ProcessHandle, ModuleHandle, &ModuleInfo, sizeof(ModuleInfo))) + { + PRINT_PLATFORM_ERROR_MSG("Could not read GetModuleInformation"); + return false; + } + + IMAGEHLP_MODULE64 ImageHelpModule = { 0 }; + ImageHelpModule.SizeOfStruct = sizeof(ImageHelpModule); + if (!SymGetModuleInfo64(ProcessHandle, (DWORD64)ModuleInfo.EntryPoint, &ImageHelpModule)) + { + PRINT_PLATFORM_ERROR_MSG("Could not SymGetModuleInfo64 from module"); + return false; + } + + if (ImageHelpModule.SymType != SymDeferred && ImageHelpModule.SymType != SymNone) + { + return true; + } + + if (!GetModuleFileNameExW(ProcessHandle, ModuleHandle, ImageName, 1024)) + { + PRINT_PLATFORM_ERROR_MSG("Could not GetModuleFileNameExW"); + return false; + } + + if (!GetModuleBaseNameW(ProcessHandle, ModuleHandle, ModuleName, 1024)) + { + PRINT_PLATFORM_ERROR_MSG("Could not GetModuleBaseNameW"); + return false; + } + + WCHAR SearchPath[MAX_PATH] = { 0 }; + WCHAR* FileName = NULL; + const auto Result = GetFullPathNameW(ImageName, MAX_PATH, SearchPath, &FileName); + + FString SearchPathList; + if (Result != 0 && Result < MAX_PATH) + { + *FileName = 0; + SearchPathList = SearchPath; + } + + if (!RemoteStorage.IsEmpty()) + { + if (!SearchPathList.IsEmpty()) + { + SearchPathList.AppendChar(TEXT(';')); + } + SearchPathList.Append(RemoteStorage); + } + + if (!SymSetSearchPathW(ProcessHandle, *SearchPathList)) + { + PRINT_PLATFORM_ERROR_MSG("Could not SymSetSearchPathW"); + return false; + } + + const DWORD64 BaseAddress = SymLoadModuleExW( + ProcessHandle, + ModuleHandle, + ImageName, + ModuleName, + (DWORD64)ModuleInfo.lpBaseOfDll, + ModuleInfo.SizeOfImage, + NULL, + 0); + if (!BaseAddress) + { + PRINT_PLATFORM_ERROR_MSG("Could not load the module"); + return false; + } + + return true; +} + +bool UVisualStudioToolsBlueprintBreakpointExtension::GetFunctionDefinitionLocation(const FString& FunctionSymbolName, const FString& FunctionModuleName, FString& SourceFilePath, uint32& SourceLineNumber) +{ + const HANDLE ProcessHandle = GetCurrentProcess(); + HMODULE ModuleHandle = GetModuleHandle(*FunctionModuleName); + if (!ModuleHandle || !PreloadModule(ProcessHandle, ModuleHandle, FPlatformStackWalk::GetDownstreamStorage())) + { + return false; + } + + ANSICHAR SymbolInfoBuffer[sizeof(IMAGEHLP_SYMBOL64) + MAX_SYM_NAME]; + PIMAGEHLP_SYMBOL64 SymbolInfoPtr = reinterpret_cast(SymbolInfoBuffer); + SymbolInfoPtr->SizeOfStruct = sizeof(SymbolInfoBuffer); + SymbolInfoPtr->MaxNameLength = MAX_SYM_NAME; + + FString FullyQualifiedSymbolName = FunctionSymbolName; + if (!FunctionModuleName.IsEmpty()) + { + FullyQualifiedSymbolName = FString::Printf(TEXT("%s!%s"), *FunctionModuleName, *FunctionSymbolName); + } + + if (!SymGetSymFromName64(ProcessHandle, TCHAR_TO_ANSI(*FullyQualifiedSymbolName), SymbolInfoPtr)) + { + PRINT_PLATFORM_ERROR_MSG("Could not load module symbol information"); + return false; + } + + IMAGEHLP_LINE64 FileAndLineInfo; + FileAndLineInfo.SizeOfStruct = sizeof(FileAndLineInfo); + + uint32 SourceColumnNumber = 0; + if (!SymGetLineFromAddr64(ProcessHandle, SymbolInfoPtr->Address, (::DWORD*)&SourceColumnNumber, &FileAndLineInfo)) + { + PRINT_PLATFORM_ERROR_MSG("Could not query module file and line number"); + return false; + } + + SourceLineNumber = FileAndLineInfo.LineNumber; + SourceFilePath = FString((const ANSICHAR*)(FileAndLineInfo.FileName)); + return true; +} + +#endif + +bool UVisualStudioToolsBlueprintBreakpointExtension::GetFunctionDefinitionLocation(const UEdGraphNode* Node, FString& SourceFilePath, FString& SymbolName, uint32& SourceLineNumber) +{ + UClass* OwningClass; + UFunction* Function; + if (!CanAddVisualStudioBreakpoint(Node, &OwningClass, &Function)) + { + return false; + } + + FString ModuleName; + + // Find module name for class + if (!FSourceCodeNavigation::FindClassModuleName(OwningClass, ModuleName)) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to find module name for class")); + return false; + } + + SymbolName = FString::Printf( + TEXT("%s%s::%s"), + OwningClass->GetPrefixCPP(), + *OwningClass->GetName(), + *Function->GetName()); + + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Symbol %s is defined in module %s"), *SymbolName, *ModuleName); + +#if ENGINE_MAJOR_VERSION >= 5 + uint32 SourceColumnNumber = 0; + return FPlatformStackWalk::GetFunctionDefinitionLocation( + SymbolName, + ModuleName, + SourceFilePath, + SourceLineNumber, + SourceColumnNumber); +#else + return GetFunctionDefinitionLocation(SymbolName, ModuleName, SourceFilePath, SourceLineNumber); +#endif +} + +bool UVisualStudioToolsBlueprintBreakpointExtension::GetProcessById(const TComPtr& Processes, DWORD CurrentProcessId, TComPtr& OutProcess) +{ + long Count = 0; + if (FAILED(Processes->get_Count(&Count))) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Could not get the process count")); + return false; + } + + TComPtr Process; + for (long i = 1; i <= Count; i++) + { + VARIANT Index; + Index.vt = VT_I4; + Index.lVal = i; + if (SUCCEEDED(Processes->Item(Index, &Process))) + { + long PID = 0; + if (SUCCEEDED(Process->get_ProcessID(&PID)) && CurrentProcessId == PID) + { + OutProcess = Process; + return true; + } + + Process.Reset(); + } + } + + return true; +} + +void UVisualStudioToolsBlueprintBreakpointExtension::AttachDebuggerIfNecessary(const TComPtr& Debugger) +{ + TComPtr Processes; + if (FAILED(Debugger->get_DebuggedProcesses(&Processes))) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to get debugging proccess")); + return; + } + + TComPtr Process; + DWORD CurrentProcessId = GetCurrentProcessId(); + if (!GetProcessById(Processes, CurrentProcessId, Process)) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to check if UE is already in debug mode")); + return; + } + + // currently debugging this process + if (Process.Get() != nullptr) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Already debugging UE.")); + return; + } + + Processes.Reset(); + if (FAILED(Debugger->get_LocalProcesses(&Processes))) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to attach to process")); + return; + } + + Process.Reset(); + if (!GetProcessById(Processes, CurrentProcessId, Process)) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to get all process")); + return; + } + + if (Process.Get() == nullptr) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("No UE proccess running.")); + return; + } + + if (FAILED(Process->Attach())) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to attach to process")); + } +} + +bool UVisualStudioToolsBlueprintBreakpointExtension::SetVisualStudioBreakpoint(const UEdGraphNode* Node, const FString& SourceFilePath, const FString& SymbolName, uint32 SourceLineNumber) +{ + TComPtr DTE; + bool bBreakpointAdded = false; + if (!GetRunningVisualStudioDTE(DTE)) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to access Visual Studio via DTE")); + return bBreakpointAdded; + } + + TComPtr Debugger; + TComPtr Breakpoints; + if (SUCCEEDED(DTE->get_Debugger(&Debugger)) && SUCCEEDED(Debugger->get_Breakpoints(&Breakpoints))) + { + FSmartBSTR BSTREmptyStr; + FSmartBSTR BSTRFilePath(SourceFilePath); + HRESULT Result = Breakpoints->Add( + *BSTREmptyStr, + *BSTRFilePath, + SourceLineNumber, + 1, + *BSTREmptyStr, + EnvDTE::dbgBreakpointConditionType::dbgBreakpointConditionTypeWhenTrue, + *BSTREmptyStr, + *BSTREmptyStr, + 0, + *BSTREmptyStr, + 0, + EnvDTE::dbgHitCountType::dbgHitCountTypeNone, + &Breakpoints); + + if (FAILED(Result)) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to add breakpoint")); + } + else + { + bBreakpointAdded = true; + AttachDebuggerIfNecessary(Debugger); + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Breakpoint set for %s"), *SymbolName); + } + } + else + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to get debugger or breakpoints")); + } + + return bBreakpointAdded; +} + +void UVisualStudioToolsBlueprintBreakpointExtension::AddVisualStudioBreakpoint(const UEdGraphNode* Node) +{ + FWindowsPlatformMisc::CoInitialize(); + FPlatformStackWalk::InitStackWalking(); + FString SourceFilePath; + FString SymbolName; + uint32 SourceLineNumber; + bool bBreakpointAdded = false; + + if (GetFunctionDefinitionLocation(Node, SourceFilePath, SymbolName, SourceLineNumber)) + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, TEXT("Method defined in %s at line %d"), *SourceFilePath, SourceLineNumber); + bBreakpointAdded = SetVisualStudioBreakpoint(Node, SourceFilePath, SymbolName, SourceLineNumber); + } + else + { + UE_LOG(LogUVisualStudioToolsBlueprintBreakpointExtension, Error, TEXT("Failed to get function definition location")); + } + + ShowOperationResultNotification(bBreakpointAdded, SymbolName); + FWindowsPlatformMisc::CoUninitialize(); +} + +void UVisualStudioToolsBlueprintBreakpointExtension::ShowOperationResultNotification(bool bBreakpointAdded, const FString &SymbolName) +{ + FNotificationInfo Info(bBreakpointAdded ? FText::FromString(FString::Printf(TEXT("Breakpoint added at %s"), *SymbolName)) : FText::FromString("Could not add Breakpoint in Visual Studio")); +#if ENGINE_MAJOR_VERSION >= 5 && ENGINE_MINOR_VERSION >= 1 + Info.Image = FAppStyle::GetBrush(TEXT("LevelEditor.RecompileGameCode")); +#else + Info.Image = FEditorStyle::GetBrush(TEXT("LevelEditor.RecompileGameCode")); +#endif + Info.FadeInDuration = 0.1f; + Info.FadeOutDuration = 0.5f; + Info.ExpireDuration = 3.0f; + Info.bUseThrobber = false; + Info.bUseSuccessFailIcons = true; + Info.bUseLargeFont = true; + Info.bFireAndForget = false; + Info.bAllowThrottleWhenFrameRateIsLow = false; + Info.WidthOverride = 400.0f; + TSharedPtr NotificationItem = FSlateNotificationManager::Get().AddNotification(Info); + NotificationItem->SetCompletionState(bBreakpointAdded ? SNotificationItem::CS_Success : SNotificationItem::CS_Fail); + NotificationItem->ExpireAndFadeout(); +} diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.h new file mode 100644 index 0000000..4e60234 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsBlueprintBreakpointExtension.h @@ -0,0 +1,64 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "VisualStudioToolsBlueprintBreakpointExtension.generated.h" + +DECLARE_LOG_CATEGORY_EXTERN(LogUVisualStudioToolsBlueprintBreakpointExtension, Log, All); + +UCLASS() +class UVisualStudioToolsBlueprintBreakpointExtension : public UEditorSubsystem +{ + GENERATED_BODY() + +public: + DECLARE_MULTICAST_DELEGATE_ThreeParams(FOnNodeMenuExtensionHookRequestDelegate, const UEdGraphNode*, const UEdGraph*, TSet&); + + void Initialize(FSubsystemCollectionBase& Collection) override; + void Deinitialize() override; + + FOnNodeMenuExtensionHookRequestDelegate& OnNodeMenuExtensionHookRequest() { return OnNodeMenuExtensionHookRequestDelegate; } + +private: + FOnNodeMenuExtensionHookRequestDelegate OnNodeMenuExtensionHookRequestDelegate; + + TSharedRef HandleOnExtendGraphEditorContextMenu( + const TSharedRef CommandList, + const UEdGraph* Graph, + const UEdGraphNode* Node, + const UEdGraphPin* Pin, + bool bIsConst); + + void AddVisualStudioBlueprintBreakpointMenuOption(FMenuBuilder& MenuBuilder, const UEdGraphNode* node); + + void AddVisualStudioBreakpoint(const UEdGraphNode* Node); + + bool GetFunctionDefinitionLocation(const UEdGraphNode* Node, FString& SourceFilePath, FString& SymbolName, uint32& SourceLineNumber); + + bool SetVisualStudioBreakpoint(const UEdGraphNode* Node, const FString& SourceFilePath, const FString& SymbolName, uint32 SourceLineNumber); + + bool CanAddVisualStudioBreakpoint(const UEdGraphNode* Node, UClass** OutOwnerClass, UFunction** OutFunction); + + void ShowOperationResultNotification(bool bBreakpointAdded, const FString& SymbolName); + + FString GetProjectPath(const FString& ProjectDir); + + bool GetRunningVisualStudioDTE(TComPtr& OutDTE); + + void AttachDebuggerIfNecessary(const TComPtr& Debugger); + + bool GetProcessById(const TComPtr& Processes, DWORD CurrentProcessId, TComPtr& OutProcess); + +#if ENGINE_MAJOR_VERSION < 5 + bool PreloadModule(HANDLE ProcessHandle, HMODULE ModuleHandle, const FString& RemoteStorage); + + bool GetFunctionDefinitionLocation(const FString& FunctionSymbolName, const FString& FunctionModuleName, FString& SourceFilePath, uint32& SourceLineNumber); +#endif +}; diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.cpp new file mode 100644 index 0000000..b3d367e --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.cpp @@ -0,0 +1,492 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +#include "VisualStudioToolsCommandlet.h" + +#include "Algo/Transform.h" +#include "AssetRegistry/AssetRegistryModule.h" +#include "Blueprint/BlueprintSupport.h" +#include "BlueprintAssetHelpers.h" +#include "Engine/BlueprintGeneratedClass.h" +#include "JsonObjectConverter.h" +#include "Misc/Paths.h" +#include "Misc/ScopeExit.h" +#include "Policies/CondensedJsonPrintPolicy.h" +#include "SourceCodeNavigation.h" +#include "UObject/CoreRedirects.h" +#include "UObject/UObjectIterator.h" +#include "VisualStudioTools.h" + +namespace VisualStudioTools +{ +static const FName CategoryFName = TEXT("Category"); +static const FName ModuleNameFName = TEXT("ModuleName"); + +static TArray GetChangedPropertiesList( + UStruct* InStruct, const uint8* DataPtr, const uint8* DefaultDataPtr) +{ + TArray Result; + + const UClass* OwnerClass = Cast(InStruct); + + // Walk only in the properties defined in the current class, the super classes are processed individually + for (TFieldIterator It(OwnerClass, EFieldIteratorFlags::ExcludeSuper); It; ++It) + { + FProperty* Property = *It; + for (int32 Idx = 0; Idx < Property->ArrayDim; Idx++) + { + const uint8* PropertyValue = Property->ContainerPtrToValuePtr(DataPtr, Idx); + const uint8* DefaultPropertyValue = Property->ContainerPtrToValuePtrForDefaults(InStruct, DefaultDataPtr, Idx); + + if (!Property->Identical(PropertyValue, DefaultPropertyValue)) + { + Result.Add(Property); + break; + } + } + } + + return Result; +} + +static bool FindBlueprintNativeParents( + const UClass* BlueprintGeneratedClass, TFunctionRef Callback) +{ + bool bAnyNativeParent = false; + for (UClass* Super = BlueprintGeneratedClass->GetSuperClass(); Super; Super = Super->GetSuperClass()) + { + // Ignore the root `UObject` class and non-native parents. + if (Super->HasAnyClassFlags(CLASS_Native) && Super->GetFName() != NAME_Object) + { + bAnyNativeParent = true; + Callback(Super); + } + } + + return bAnyNativeParent; +} + +struct FPropertyEntry +{ + FProperty* Property; + TArray Blueprints; +}; + +struct FFunctionEntry +{ + UFunction* Function; + TArray Blueprints; +}; + +struct FClassEntry +{ + const UClass* Class; + TArray Blueprints; + TMap Properties; + TMap Functions; +}; + +using ClassMap = TMap; + +struct FAssetIndex +{ + TSet AssetPathCache; + ClassMap Classes; + TArray Blueprints; + + void ProcessBlueprint(const UBlueprintGeneratedClass* BlueprintGeneratedClass) + { + if (BlueprintGeneratedClass == nullptr) + { + return; + } + + int32 BlueprintIndex = Blueprints.Num(); + + bool bHasAnyParent = FindBlueprintNativeParents(BlueprintGeneratedClass, [&](UClass* Parent) + { + FString ParentName = Parent->GetFName().ToString(); + if (!Classes.Contains(ParentName)) + { + Classes.Add(ParentName).Class = Parent; + } + + FClassEntry& ClassEntry = Classes[ParentName]; + + ClassEntry.Blueprints.Add(BlueprintIndex); + + // Retrieve the properties from the parent class that changed in the Blueprint class, by comparing their CDOs. + UObject* GeneratedClassDefault = BlueprintGeneratedClass->ClassDefaultObject; + UObject* SuperClassDefault = Parent->GetDefaultObject(false); + TArray ChangedProperties = GetChangedPropertiesList(Parent, (uint8*)GeneratedClassDefault, (uint8*)SuperClassDefault); + + for (FProperty* Property : ChangedProperties) + { + FString PropertyName = Property->GetFName().ToString(); + if (!ClassEntry.Properties.Contains(PropertyName)) + { + ClassEntry.Properties.Add(PropertyName).Property = Property; + } + + FPropertyEntry& PropEntry = ClassEntry.Properties[PropertyName]; + PropEntry.Blueprints.Add(BlueprintIndex); + } + + // Iterate over the functions originally from the parent class + // and check if they are implemented in the BP class as well. + for (TFieldIterator It(Parent, EFieldIteratorFlags::ExcludeSuper); It; ++It) + { + UFunction* Fn = BlueprintGeneratedClass->FindFunctionByName((*It)->GetFName(), EIncludeSuperFlag::ExcludeSuper); + // If the function not present in the BP class directly, it means it was implemented. Otherwise, ignore. + if (!Fn) + { + continue; + } + + FString FnName = Fn->GetFName().ToString(); + if (!ClassEntry.Functions.Contains(FnName)) + { + ClassEntry.Functions.Add(FnName).Function = Fn; + } + + FFunctionEntry& FuncEntry = ClassEntry.Functions[FnName]; + FuncEntry.Blueprints.Add(BlueprintIndex); + } + }); + + if (bHasAnyParent) + { + check(Blueprints.Add(BlueprintGeneratedClass) == BlueprintIndex); + } + + return; + } +}; + +using JsonWriter = TJsonWriter>; + +static bool ShouldSerializePropertyValue(FProperty* Property) +{ + if (Property->ArrayDim > 1) // Skip properties that are not scalars + { + return false; + } + + if (FEnumProperty* EnumProperty = CastField(Property)) + { + return true; + } + + if (FNumericProperty* NumericProperty = CastField(Property)) + { + UEnum* EnumDef = NumericProperty->GetIntPropertyEnum(); + if (EnumDef != NULL) + { + return true; + } + + if (NumericProperty->IsFloatingPoint()) + { + return true; + } + + if (NumericProperty->IsInteger()) + { + return true; + } + } + + if (FBoolProperty* BoolProperty = CastField(Property)) + { + return true; + } + + if (FStrProperty* StringProperty = CastField(Property)) + { + return true; + } + + return false; +} + +static void SerializeBlueprints(TSharedRef& Json, TArray Items) +{ + Json->WriteArrayStart(); + for (const UClass* Blueprint : Items) + { + Json->WriteObjectStart(); + + Json->WriteValue(TEXT("name"), Blueprint->GetName()); + Json->WriteValue(TEXT("path"), Blueprint->GetPathName()); + Json->WriteObjectEnd(); + } + Json->WriteArrayEnd(); +} + +static void SerializeProperties(TSharedRef& Json, FClassEntry& Entry, TArray& Blueprints) +{ + Json->WriteArrayStart(); + for (auto& Item : Entry.Properties) + { + auto& PropName = Item.Key; + auto& PropEntry = Item.Value; + FProperty* Property = PropEntry.Property; + + Json->WriteObjectStart(); + + Json->WriteValue(TEXT("name"), PropName); + + Json->WriteIdentifierPrefix(TEXT("metadata")); + { + Json->WriteObjectStart(); + if (Property->HasMetaData(CategoryFName)) + { + Json->WriteValue(TEXT("categories"), Property->GetMetaData(CategoryFName)); + } + Json->WriteObjectEnd(); + } + + Json->WriteIdentifierPrefix(TEXT("values")); + { + Json->WriteArrayStart(); + for (auto& BlueprintEntry : PropEntry.Blueprints) + { + Json->WriteObjectStart(); + + Json->WriteValue(TEXT("blueprint"), BlueprintEntry); + + UObject* GeneratedClassDefault = Blueprints[BlueprintEntry]->ClassDefaultObject; + const uint8* PropData = PropEntry.Property->ContainerPtrToValuePtr(GeneratedClassDefault); + + if (ShouldSerializePropertyValue(PropEntry.Property)) + { + TSharedPtr JsonValue = FJsonObjectConverter::UPropertyToJsonValue(Property, PropData); + FJsonSerializer::Serialize(JsonValue.ToSharedRef(), TEXT("value"), Json); + } + + Json->WriteObjectEnd(); + } + Json->WriteArrayEnd(); + } + + Json->WriteObjectEnd(); + } + Json->WriteArrayEnd(); +} + +static void SerializeFunctions(TSharedRef& Json, FClassEntry& Entry) +{ + Json->WriteArrayStart(); + for (auto& Item : Entry.Functions) + { + auto& Name = Item.Key; + auto& FnEntry = Item.Value; + Json->WriteObjectStart(); + Json->WriteValue(TEXT("name"), Name); + Json->WriteValue(TEXT("blueprints"), FnEntry.Blueprints); + Json->WriteObjectEnd(); + } + Json->WriteArrayEnd(); +} + +static void SerializeClasses(TSharedRef& Json, ClassMap& Items, TArray Blueprints) +{ + Json->WriteArrayStart(); + for (auto& Item : Items) + { + auto& ClassName = Item.Key; + auto& Entry = Item.Value; + Json->WriteObjectStart(); + Json->WriteValue(TEXT("name"), FString::Printf(TEXT("%s%s"), Entry.Class->GetPrefixCPP(), *Entry.Class->GetName())); + + Json->WriteValue(TEXT("blueprints"), Entry.Blueprints); + + Json->WriteIdentifierPrefix(TEXT("properties")); + SerializeProperties(Json, Entry, Blueprints); + + Json->WriteIdentifierPrefix(TEXT("functions")); + SerializeFunctions(Json, Entry); + + Json->WriteObjectEnd(); + } + Json->WriteArrayEnd(); +} + +static void SerializeToIndex(FAssetIndex Index, FArchive& IndexFile) +{ + TSharedRef Json = JsonWriter::Create(&IndexFile); + + Json->WriteObjectStart(); + + Json->WriteIdentifierPrefix(TEXT("blueprints")); + SerializeBlueprints(Json, Index.Blueprints); + + Json->WriteIdentifierPrefix(TEXT("classes")); + SerializeClasses(Json, Index.Classes, Index.Blueprints); + + Json->WriteObjectEnd(); + Json->Close(); +} + +static TArray GetModulesByPath(const FString& InDir) +{ + TArray OutResult; + Algo::TransformIf( + FSourceCodeNavigation::GetSourceFileDatabase().GetModuleNames(), + OutResult, + [&](const FString& Module) { + return FPaths::IsUnderDirectory(Module, InDir); + }, + [](const FString& Module) { +#if 0 + // Old version assumes that each module is in a folder with the same name as the module + return FPaths::GetBaseFilename(FPaths::GetPath(*Module)); +#else + // New version assumes that each module is in a file with the name Module.Build.cs + FString TempString = FPaths::GetBaseFilename(*Module); + TempString.RemoveFromEnd(TEXT(".Build")); + return TempString; +#endif + }); + + return OutResult; +} + +static void GetNativeClassesByPath(const FString& InDir, TArray>& OutClasses) +{ + TArray Modules = GetModulesByPath(InDir); + + for (TObjectIterator ClassIt; ClassIt; ++ClassIt) + { + UClass* TestClass = *ClassIt; + if (!TestClass->HasAnyClassFlags(CLASS_Native)) + { + continue; + } + + FAssetData ClassAssetData(TestClass); + FString ModuleName = ClassAssetData.GetTagValueRef(ModuleNameFName); + + if (!ModuleName.IsEmpty() && Modules.Contains(ModuleName)) + { + OutClasses.Add(TestClass); + } + } +} + +static void RunAssetScan( + FAssetIndex& Index, + const TArray>& FilterBaseClasses) +{ + FARFilter Filter; + Filter.bRecursivePaths = true; + Filter.bRecursiveClasses = true; + AssetHelpers::SetBlueprintClassFilter(Filter); + + // Add all base classes to the tag filter for native parent + Algo::Transform(FilterBaseClasses, Filter.TagsAndValues, [](const TWeakObjectPtr& Class) { + return MakeTuple( + FBlueprintTags::NativeParentClassPath, + FObjectPropertyBase::GetExportPath(Class.Get(), nullptr /*Parent*/, nullptr /*ExportRootScope*/, 0 /*PortFlags*/)); + }); + + // Take account of any core redirects for the blueprint classes we want to scan. + for (const auto& BaseClass : FilterBaseClasses) + { + if (BaseClass.IsValid()) + { + TArray PreviousNames; + if (FCoreRedirects::FindPreviousNames(ECoreRedirectFlags::Type_Class, BaseClass->GetPathName(), PreviousNames)) + { + for (const auto& PreviousName : PreviousNames) + { + // FString PreviousString = FObjectPropertyBase::GetExportPath(BaseClass->GetClass()->GetClassPathName(), PreviousName.ToString()); // Alternative way to add /Script/CoreUObject.Class'' wrapper - but not sure it makes sense to use the new class when referencing a previous name + FString PreviousString = "/Script/CoreUObject.Class'" + PreviousName.ToString() + "'"; + Filter.TagsAndValues.Add(FBlueprintTags::NativeParentClassPath, PreviousString); + } + } + } + } + + IAssetRegistry& AssetRegistry = FModuleManager::LoadModuleChecked(TEXT("AssetRegistry")).Get(); + + TArray TargetAssets; + AssetRegistry.GetAssets(Filter, TargetAssets); + + AssetHelpers::ForEachAsset(TargetAssets, + [&](UBlueprintGeneratedClass* BlueprintGeneratedClass, const FAssetData& /*AssetData*/) + { + Index.ProcessBlueprint(BlueprintGeneratedClass); + }); +} + +} // namespace VS + +static constexpr auto FilterSwitch = TEXT("filter"); +static constexpr auto FullSwitch = TEXT("full"); + +UVisualStudioToolsCommandlet::UVisualStudioToolsCommandlet() + : Super() +{ + HelpDescription = TEXT("Commandlet for generating data used by Blueprint support in Visual Studio."); + + HelpParamNames.Add(FilterSwitch); + HelpParamDescriptions.Add(TEXT("[Optional] Scan only blueprints derived from native classes under the provided path. Defaults to `FPaths::ProjectDir`. Incompatible with `-full`.")); + + HelpParamNames.Add(FullSwitch); + HelpParamDescriptions.Add(TEXT("[Optional] Scan blueprints derived from native classes from ALL modules, include the Engine. This can be _very slow_ for large projects. Incompatible with `-filter`.")); + + HelpUsage = TEXT(" -run=VisualStudioTools -output= [-filter=|-full] [-unattended -noshadercompile -nosound -nullrhi -nocpuprofilertrace -nocrashreports -nosplash]"); +} + +int32 UVisualStudioToolsCommandlet::Run( + TArray& Tokens, + TArray& Switches, + TMap& ParamVals, + FArchive& OutArchive) +{ + using namespace VisualStudioTools; + + FString* Filter = ParamVals.Find(FilterSwitch); + const bool bFullScan = Switches.Contains(FullSwitch); + + if (Filter != nullptr && bFullScan) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("Incompatible scan options.")); + PrintHelp(); + return -1; + } + + TArray> FilterBaseClasses; + if (!bFullScan) + { + if (Filter) + { + FPaths::NormalizeDirectoryName(*Filter); + GetNativeClassesByPath(*Filter, FilterBaseClasses); + } + else + { + GetNativeClassesByPath(FPaths::ProjectDir(), FilterBaseClasses); + } + } + else + { + for (TObjectIterator ClassIt; ClassIt; ++ClassIt) + { + UClass* TestClass = *ClassIt; + if (!TestClass->HasAnyClassFlags(CLASS_Native)) + { + continue; + } + + FilterBaseClasses.Add(TestClass); + } + } + + FAssetIndex Index; + RunAssetScan(Index, FilterBaseClasses); + SerializeToIndex(Index, OutArchive); + UE_LOG(LogVisualStudioTools, Display, TEXT("Found %d blueprints."), Index.Blueprints.Num()); + + return 0; +} diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.h new file mode 100644 index 0000000..05ad18d --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandlet.h @@ -0,0 +1,24 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include "CoreMinimal.h" +#include "VisualStudioToolsCommandletBase.h" + +#include "VisualStudioToolsCommandlet.generated.h" + +UCLASS() +class UVisualStudioToolsCommandlet + : public UVisualStudioToolsCommandletBase +{ + GENERATED_BODY() + +public: + UVisualStudioToolsCommandlet(); + int32 Run( + TArray& Tokens, + TArray& Switches, + TMap& ParamVals, + FArchive& OutArchive) override; +}; diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.cpp b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.cpp new file mode 100644 index 0000000..716101a --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.cpp @@ -0,0 +1,88 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#include "VisualStudioToolsCommandletBase.h" + +#include "Windows/AllowWindowsPlatformTypes.h" + +#include "HAL/FileManager.h" +#include "Misc/Paths.h" +#include "VisualStudioTools.h" + +#include "Windows/HideWindowsPlatformTypes.h" + +static constexpr auto HelpSwitch = TEXT("help"); +static constexpr auto OutputSwitch = TEXT("output"); + +UVisualStudioToolsCommandletBase::UVisualStudioToolsCommandletBase() +{ + IsClient = false; + IsEditor = true; + IsServer = false; + LogToConsole = false; + ShowErrorCount = false; + + HelpParamNames.Add(OutputSwitch); + HelpParamDescriptions.Add(TEXT("[Required] The file path to write the command output.")); + + HelpParamNames.Add(HelpSwitch); + HelpParamDescriptions.Add(TEXT("[Optional] Print this help message and quit the commandlet immediately.")); +} + +void UVisualStudioToolsCommandletBase::PrintHelp() const +{ + UE_LOG(LogVisualStudioTools, Display, TEXT("%s"), *HelpDescription); + UE_LOG(LogVisualStudioTools, Display, TEXT("Usage: %s"), *HelpUsage); + UE_LOG(LogVisualStudioTools, Display, TEXT("Parameters:")); + for (int32 i = 0; i < HelpParamNames.Num(); ++i) + { + UE_LOG(LogVisualStudioTools, Display, TEXT("\t-%s: %s"), *HelpParamNames[i], *HelpParamDescriptions[i]); + } +} + +int32 UVisualStudioToolsCommandletBase::Main(const FString& Params) +{ + TArray Tokens; + TArray Switches; + TMap ParamVals; + + ParseCommandLine(*Params, Tokens, Switches, ParamVals); + + if (Switches.Contains(HelpSwitch)) + { + PrintHelp(); + return 0; + } + + UE_LOG(LogVisualStudioTools, Display, TEXT("Init VS Tools cmdlet.")); + + if (!FPaths::IsProjectFilePathSet()) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("You must invoke this commandlet with a project file.")); + return -1; + } + + FString FullPath = ParamVals.FindRef(OutputSwitch); + + if (FullPath.IsEmpty() && !FParse::Value(*Params, TEXT("output "), FullPath)) + { + // VS:1678426 - Initial version was using `-output "path-to-file"` (POSIX style). + // However, that does not support paths with spaces, even when surrounded with + // quotes because `FParse::Value` only handles that case when there's no space + // between the parameter name and quoted value. + // For back-compatibility reasons, parse that style by including the space in + // the parameter token like it's usually done for the `=` sign. + UE_LOG(LogVisualStudioTools, Error, TEXT("Missing file output parameter.")); + PrintHelp(); + return -1; + } + + TUniquePtr OutArchive{ IFileManager::Get().CreateFileWriter(*FullPath) }; + if (!OutArchive) + { + UE_LOG(LogVisualStudioTools, Error, TEXT("Failed to create index with path: %s."), *FullPath); + return -1; + } + + return this->Run(Tokens, Switches, ParamVals, *OutArchive); +} diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.h new file mode 100644 index 0000000..7c370ef --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Private/VisualStudioToolsCommandletBase.h @@ -0,0 +1,29 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include "Commandlets/Commandlet.h" + +#include "VisualStudioToolsCommandletBase.generated.h" + +UCLASS(Abstract) +class UVisualStudioToolsCommandletBase + : public UCommandlet +{ + GENERATED_BODY() + +public: + int32 Main(const FString& Params) override; + +protected: + UVisualStudioToolsCommandletBase(); + + void PrintHelp() const; + + virtual int32 Run( + TArray& Tokens, + TArray& Switches, + TMap& ParamVals, + FArchive& OutArchive) PURE_VIRTUAL(UVisualStudioToolsCommandletBase::Run, return 0;); +}; \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Public/VisualStudioTools.h b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Public/VisualStudioTools.h new file mode 100644 index 0000000..0ffe4e9 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/Public/VisualStudioTools.h @@ -0,0 +1,7 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +#pragma once + +#include "CoreMinimal.h" + +DECLARE_LOG_CATEGORY_EXTERN(LogVisualStudioTools, Log, All); \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/VisualStudioTools.Build.cs b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/VisualStudioTools.Build.cs new file mode 100644 index 0000000..da2b217 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/Source/VisualStudioTools/VisualStudioTools.Build.cs @@ -0,0 +1,77 @@ +// Copyright 2022 (c) Microsoft. All rights reserved. + +using UnrealBuildTool; + +public class VisualStudioTools : ModuleRules +{ + public VisualStudioTools(ReadOnlyTargetRules Target) : base(Target) + { + bool bIsCustomDevBuild = System.Environment.GetEnvironmentVariable("VSTUE_IsCustomDevBuild") == "1"; + if (bIsCustomDevBuild) + { + // Get correct header suggestions in the IDE and validate + // the plugin build without having to affect for the whole target, + // which is expensive in source-builds of the engine. + PCHUsage = ModuleRules.PCHUsageMode.NoPCHs; + bUseUnity = false; + + // When debugging the commandlet code, disable optimizations to get + // proper local variable inspection and less inlined stack frames + OptimizeCode = CodeOptimization.Never; + + // Enable more restrict warnings during compilation in UE5. + // Required by tasks in the compliance pipeline. + if (Target.Version.MajorVersion >= 5) + { + UnsafeTypeCastWarningLevel = WarningLevel.Error; + } + } + else + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + } + + // To support UE5.1+, the code is using the new FTopLevelAssetPath API + // with a detection of support via version numbers. + // If the check is producing a false positive/negative in your version of the engine + // you can change the block below and force the check as enabled/disabled. + if ((Target.Version.MajorVersion == 5 && Target.Version.MinorVersion >= 1) || Target.Version.MajorVersion > 5) + { + PrivateDefinitions.Add("FILTER_ASSETS_BY_CLASS_PATH=1"); + } + else + { + PrivateDefinitions.Add("FILTER_ASSETS_BY_CLASS_PATH=0"); + } + + PublicDependencyModuleNames.AddRange( + new[] + { + "Core", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "ApplicationCore", + "AssetRegistry", + "CoreUObject", + "Engine", + "Json", + "JsonUtilities", + "Kismet", + "UnrealEd", + "Slate", + "SlateCore", + "ToolMenus", + "EditorSubsystem", + "MainFrame", + "BlueprintGraph", + "VisualStudioDTE", + "EditorStyle", + "Projects" + } + ); + } +} diff --git a/Table/Plugins/VisualStudioTools/VisualStudioTools.uplugin b/Table/Plugins/VisualStudioTools/VisualStudioTools.uplugin new file mode 100644 index 0000000..b9bb932 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/VisualStudioTools.uplugin @@ -0,0 +1,38 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "2.7", + "FriendlyName": "Visual Studio Integration Tools", + "Description": "Enables integration with Visual Studio IDE.", + "Category": "Programming", + "CreatedBy": "Microsoft", + "CreatedByURL": "http://www.microsoft.com", + "DocsURL": "", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/362651520df94e4fa65492dbcba44ae2", + "SupportURL": "https://developercommunity.visualstudio.com/", + "EnabledByDefault": true, + "Installed": false, + "bExplicitlyLoaded": true, + "CanContainContent": false, + "SupportedTargetPlatforms": [ + "Win64" + ], + "Modules": [ + { + "Name": "VisualStudioTools", + "Type": "Editor", + "LoadingPhase": "Default", + "PlatformAllowList": [ + "Win64" + ] + }, + { + "Name": "VisualStudioBlueprintDebuggerHelper", + "Type": "Editor", + "LoadingPhase": "None", + "PlatformAllowList": [ + "Win64" + ] + } + ] +} diff --git a/Table/Plugins/VisualStudioTools/azure-pipelines/Support-extra-UBT-args-in-UAT.BuildPlugin.patch b/Table/Plugins/VisualStudioTools/azure-pipelines/Support-extra-UBT-args-in-UAT.BuildPlugin.patch new file mode 100644 index 0000000..9d1a396 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/azure-pipelines/Support-extra-UBT-args-in-UAT.BuildPlugin.patch @@ -0,0 +1,46 @@ +From f7238064c8680f6392793eb664ee2c773daff594 Mon Sep 17 00:00:00 2001 +From: Oleksandr Kozlov +Date: Tue, 1 Apr 2025 15:22:14 +0200 +Subject: [PATCH] Support extra UBT args in UAT.BuildPlugin + +Forwarding extra parameters to UBT to allow customizing the build of a plugin. +Example: runuat.bat buildpluing -plugin=... -ubtargs="-LinkerArguments=\"/profile\"" + +--- + .../Scripts/BuildPluginCommand.Automation.cs | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs b/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs +index 5a43dc0c4..aaf3f192f 100644 +--- a/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs ++++ b/Engine/Source/Programs/AutomationTool/Scripts/BuildPluginCommand.Automation.cs +@@ -64,6 +64,9 @@ public sealed class BuildPlugin : BuildCommand + // Option for verifying that all include directive s + bool bStrictIncludes = ParseParam("StrictIncludes"); + ++ // Extra arguments forwarded to UBT ++ string UBTArgs = ParseParamValue("ubtargs"); ++ + // Make sure the packaging directory is valid + DirectoryReference PackageDir = new DirectoryReference(PackageParam); + +@@ -126,6 +129,16 @@ public sealed class BuildPlugin : BuildCommand + AdditionalArgs.Append(" -NoPCH -NoSharedPCH -DisableUnity"); + } + ++ // Pass extra parameters to UBT ++ if (string.IsNullOrEmpty(UBTArgs) == false) ++ { ++ Logger.LogInformation("Building with extra UBT parameters: {UBTArgs}", UBTArgs); ++ string Arg = UBTArgs; ++ Arg = Arg.TrimStart(new char[] { '\"' }); ++ Arg = Arg.TrimEnd(new char[] { '\"' }); ++ AdditionalArgs.Append(' ').Append(Arg); ++ } ++ + // check if any architectures were specified + foreach (UnrealTargetPlatform Platform in UnrealTargetPlatform.GetValidPlatforms()) + { +-- +2.49.0.windows.1 + diff --git a/Table/Plugins/VisualStudioTools/azure-pipelines/TSAOptions.json b/Table/Plugins/VisualStudioTools/azure-pipelines/TSAOptions.json new file mode 100644 index 0000000..54198e1 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/azure-pipelines/TSAOptions.json @@ -0,0 +1,21 @@ +{ + "tsaVersion": "TsaV2", + "codebase": "NewOrUpdate", + "codebaseName": "vc-ue-extensions", + "tsaStamp": "DevDiv", + "tsaEnvironment": "PROD", + "notificationAliases": [ + "hebaggio@microsoft.com", + "cpp-apogee@microsoft.com" + ], + "codebaseAdmins": [ + "REDMOND\\hebaggio", + "REDMOND\\cpp-apogee" + ], + "instanceUrl": "https://devdiv.visualstudio.com", + "projectName": "DevDiv", + "areaPath": "DevDiv\\Cpp Developer Experience\\GameDev Experience\\Unreal Engine integrations", + "iterationPath": "DevDiv", + "alltools": true, + "repositoryName": "vc-ue-extensions" + } \ No newline at end of file diff --git a/Table/Plugins/VisualStudioTools/azure-pipelines/compliance.yml b/Table/Plugins/VisualStudioTools/azure-pipelines/compliance.yml new file mode 100644 index 0000000..82aee67 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/azure-pipelines/compliance.yml @@ -0,0 +1,123 @@ +# IMPORTANT: +# Do not run BinSkim because we do not control producing the binaries. That process is owned by +# Epic. We just provide source code. Since we do not control the build, BinSkim is not needed. + +variables: + Codeql.Enabled: true + Codeql.SourceRoot: '$(Build.SourcesDirectory)' + +trigger: +- main + +pr: + autoCancel: true + branches: + include: + - main + - dev/* + +schedules: + - cron: "0 12 * * Sun" + displayName: Weekly run + branches: + include: + - main + always: true + +resources: + repositories: + - repository: 1ESPipelineTemplates + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release + +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates + parameters: + pool: + name: VSEngSS-MicroBuild2022-1ES + os: windows + customBuildTags: + - ES365AIMigrationTooling + stages: + - stage: stage + jobs: + - job: 'UnrealEngine_VisualStudioTools_Compliance' + timeoutInMinutes: 1440 + steps: + - task: CmdLine@2 + displayName: 'Clone Unreal Engine Repository' + inputs: + script: 'git clone "https://$(token)@github.com/EpicGames/UnrealEngine" --single-branch --branch $(ue_branch) --depth 1 ue' + workingDirectory: '$(Agent.BuildDirectory)' + - task: CmdLine@2 + displayName: 'Apply patch to allow us to pass linker flags to the build' + inputs: + script: 'git apply --ignore-whitespace $(Build.SourcesDirectory)/azure-pipelines/Support-extra-UBT-args-in-UAT.BuildPlugin.patch' + workingDirectory: '$(Agent.BuildDirectory)\ue' + - task: PowerShell@2 + displayName: '[UE] Append /unattended option' + inputs: + targetType: 'inline' + script: + $filePath = "$(Agent.BuildDirectory)/ue/Setup.bat"; + (Get-Content $filePath).Replace("/register", "/register /unattended") | Set-Content $filePath + - task: CmdLine@2 + displayName: '[UE] Run Setup.bat' + inputs: + script: 'ue\Setup.bat --force' + workingDirectory: '$(Agent.BuildDirectory)' + - task: MSBuild@1 + displayName: 'Build Plugin' + timeoutInMinutes: 300 + inputs: + solution: '$(Build.SourcesDirectory)/build.proj' + msbuildArguments: '/p:UnrealEngine=$(Agent.BuildDirectory)\ue /p:OutputPath=$(Build.ArtifactStagingDirectory)\drop /p:VulkanReadyBinaries=true' + createLogFile: true + - task: CopyFiles@2 + displayName: 'Collect binaries to analyze' + inputs: + SourceFolder: '$(Build.ArtifactStagingDirectory)\drop' + Contents: '**\unrealeditor-visualstudiotools.*' + TargetFolder: '$(Build.ArtifactStagingDirectory)\binariesToAnalyze' + CleanTargetFolder: true + OverWrite: true + - task: PoliCheck@2 + inputs: + targetType: 'F' + targetArgument: '$(Build.SourcesDirectory)' + - task: ComponentGovernanceComponentDetection@0 + inputs: + ignoreDirectories: '$(Agent.BuildDirectory)\ue' + displayName: 'Component Detection' + - task: APIScan@2 + displayName: 'Run APIScan' + inputs: + softwareFolder: '$(Build.ArtifactStagingDirectory)/binariesToAnalyze' + softwareName: 'Visual Studio Tools for Unreal Engine' + softwareVersionNum: '2.4' + softwareBuildNum: '$(Build.BuildId)' + toolVersion: 'Latest' + env: + AzureServicesAuthConnectionString: runAs=App;AppId=$(ApiScanClientId) + - task: SDLNativeRules@3 + displayName: 'Run the PREfast SDL Native Rules for MSBuild' + env: + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + inputs: + publishXML: true + userProvideBuildInfo: auto + rulesetName: Recommended + setupCommandlinePicker: 'vs2022' + - task: PublishSecurityAnalysisLogs@3 + displayName: 'Publish security analysis logs' + inputs: + ArtifactName: 'CodeAnalysisLogs' + ArtifactType: 'Container' + AllTools: true + ToolLogsNotFoundAction: 'Standard' + - task: TSAUpload@2 + displayName: 'TSA upload' + inputs: + GdnPublishTsaOnboard: True + GdnPublishTsaConfigFile: '$(Build.SourcesDirectory)/azure-pipelines/TSAOptions.json' diff --git a/Table/Plugins/VisualStudioTools/azure-pipelines/release.yml b/Table/Plugins/VisualStudioTools/azure-pipelines/release.yml new file mode 100644 index 0000000..bf04be1 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/azure-pipelines/release.yml @@ -0,0 +1,117 @@ +# IMPORTANT: +# Do not run BinSkim because we do not control producing the binaries. That process is owned by +# Epic. We just provide source code. Since we do not control the build, BinSkim is not needed. + +# Manual trigger for now +trigger: none +pr: none + +parameters: +- name: SignTypeOverride + displayName: Signing Type (default is real for the main branch and test otherwise) + type: string + default: default + values: + - default + - test + - real + +variables: + # MicroBuild requires TeamName to be set. + - name: TeamName + value: C++ Unreal Engine + - name: TagName + value: $[replace(variables['Build.SourceBranch'], 'refs/tags/', '')] + # If the user didn't override the signing type, then only real-sign on main. + - ${{ if ne(parameters.SignTypeOverride, 'default') }}: + - name: SignType + value: ${{ parameters.SignTypeOverride }} + - ${{ if and(eq(parameters.SignTypeOverride, 'default'), or(eq(variables['Build.SourceBranchName'], 'main'), startsWith(variables['Build.SourceBranch'], 'refs/tags'))) }}: + - name: SignType + value: real + - ${{ if and(eq(parameters.SignTypeOverride, 'default'), not(or(eq(variables['Build.SourceBranchName'], 'main'), startsWith(variables['Build.SourceBranch'], 'refs/tags')))) }}: + - name: SignType + value: test + +resources: + repositories: + - repository: 1ESPipelineTemplates + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release + +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates + parameters: + pool: + name: VSEngSS-MicroBuild2022-1ES + os: windows + customBuildTags: + - ES365AIMigrationTooling + stages: + - stage: stage + jobs: + - job: 'UnrealEngine_VisualStudioTools_Release' + timeoutInMinutes: 1440 + templateContext: + outputParentDirectory: $(Agent.BuildDirectory)/out/ + outputs: + - output: pipelineArtifact + displayName: 'Publish signed plugin files' + targetPath: $(Agent.BuildDirectory)/out + artifactName: SignedPlugin + artifactType: container + sbomEnabled: false + steps: + - powershell: | + Write-Host "##vso[task.setVariable variable=SHA1]$(git rev-parse HEAD)" + displayName: Save tag commit hash + workingDirectory: '$(Build.SourcesDirectory)' + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild Signing + inputs: + signType: $(SignType) + zipSources: true + - task: PowerShell@2 + displayName: "Create zip excluding .git folder" + inputs: + targetType: 'inline' + script: | + $destinationDirectory = "$(Agent.BuildDirectory)/out" + New-Item -Path $destinationDirectory -ItemType Directory + git archive -o "$destinationDirectory/VisualStudioTools.zip" $(SHA1) + - powershell: New-FileCatalog -Path .\VisualStudioTools.zip -CatalogFilePath .\VisualStudioTools.zip.cat -CatalogVersion 2.0 + displayName: Create standalone catalog + workingDirectory: '$(Agent.BuildDirectory)\out' + - task: NuGetToolInstaller@1 + inputs: + versionSpec: 5.7 + - task: NuGetCommand@2 + displayName: 'NuGet Restore MicroBuild Signing Extension' + inputs: + command: 'restore' + restoreSolution: 'Scripts/SignDetached.proj' + feedsToUse: 'config' + restoreDirectory: '$(Build.SourcesDirectory)\Scripts\packages' + - task: MSBuild@1 + displayName: Sign catalogs + inputs: + solution: Scripts/SignDetached.proj + msbuildArguments: /p:SignType=$(SignType) /p:BaseOutputDirectory=$(Agent.BuildDirectory)\out + # === Disabled for now in favor of uploading the artifacts to the pipeline === + # - task: GitHubRelease@1 + # displayName: Pre-release to public repo + # condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags')) + # inputs: + # gitHubConnection: GitHub-VSCodeExtensions + # repositoryName: microsoft/vc-ue-extensions + # action: create + # target: $(SHA1) + # tagSource: gitTag + # tag: $(TagName) + # title: $(TagName) + # isDraft: true + # isPreRelease: true + # assets: | + # $(Agent.BuildDirectory)\out\VisualStudioTools.zip + # $(Agent.BuildDirectory)\out\VisualStudioTools.zip.cat diff --git a/Table/Plugins/VisualStudioTools/build.proj b/Table/Plugins/VisualStudioTools/build.proj new file mode 100644 index 0000000..14e1f70 --- /dev/null +++ b/Table/Plugins/VisualStudioTools/build.proj @@ -0,0 +1,24 @@ + + + $(MSBuildProjectDirectory) + $([System.IO.Path]::Combine($(PluginFolder), `VisualStudioTools.uplugin`)) + $([System.IO.Path]::Combine($(PluginFolder), "bin")) + $(UnrealEngine) + + $([MSBuild]::GetRegistryValue('HKEY_LOCAL_MACHINE\SOFTWARE\EpicGames\Unreal Engine\$(UnrealEngine)', 'InstalledDirectory')) + + $(EnginePath.Trim())\Engine\Build\BatchFiles\RunUAT.bat + -Unversioned + -ubtargs="-LinkerArguments=\"/profile\" " + + + + + + + + + + diff --git a/Table/Source/Table.Target.cs b/Table/Source/Table.Target.cs new file mode 100644 index 0000000..0c5adfa --- /dev/null +++ b/Table/Source/Table.Target.cs @@ -0,0 +1,15 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class TableTarget : TargetRules +{ + public TableTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V6; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7; + ExtraModuleNames.Add("Table"); + } +} diff --git a/Table/Source/Table/Private/ContentNodeWidget.cpp b/Table/Source/Table/Private/ContentNodeWidget.cpp new file mode 100644 index 0000000..4307376 --- /dev/null +++ b/Table/Source/Table/Private/ContentNodeWidget.cpp @@ -0,0 +1,112 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "ContentNodeWidget.h" +#include "Misc/FileHelper.h" +#include "Misc/Paths.h" +#include "IImageWrapper.h" +#include "IImageWrapperModule.h" +#include "Engine/Texture2D.h" + +FString UContentNodeWidget::ResolvePath(const FString& RelativePath) +{ + //return FPaths::ConvertRelativePathToFull(BaseFolderPath + RelativePath); + FString FullPath = FPaths::ConvertRelativePathToFull( + FPaths::Combine(BaseFolderPath, RelativePath) + ); + + return FullPath; +} + +UTexture2D* UContentNodeWidget::LoadTexture(const FString& RelativePath) +{ + FString FullPath = ResolvePath(RelativePath); + return LoadTextureFromPath(FullPath); // see below +} + +FString UContentNodeWidget::LoadTextFile(const FString& RelativePath) +{ + FString FullPath = ResolvePath(RelativePath); + FString Result; + + if (!FFileHelper::LoadFileToString(Result, *FullPath)) + UE_LOG(LogTemp, Warning, TEXT("ContentNodeWidget: failed to load text: %s"), *FullPath); + + return Result; +} + +TArray UContentNodeWidget::LoadPDFPages(const FString& RelativePath) +{ + TArray Pages; + + // Expects PNGs named: rulebook_p01.png, rulebook_p02.png etc. + // alongside the .pdf — generated by your Python converter offline + FString BaseName = FPaths::GetBaseFilename(RelativePath); + FString Folder = FPaths::GetPath(ResolvePath(RelativePath)); + + TArray PageFiles; + IFileManager::Get().FindFiles(PageFiles, *Folder, TEXT("*.png")); + PageFiles.Sort(); // ensures p01, p02, p03 order + + for (const FString& PageFile : PageFiles) + { + // Only grab files that belong to this PDF by checking prefix + if (!PageFile.StartsWith(BaseName)) continue; + + UTexture2D* Tex = LoadTextureFromPath(Folder / PageFile); + + + + if (Tex) { + Tex->CompressionSettings = TC_EditorIcon; // or TC_UserInterface2D if available + Tex->MipGenSettings = TMGS_NoMipmaps; + Tex->Filter = TF_Nearest; // or TF_Default if too sharp + Tex->SRGB = true; + + Tex->UpdateResource(); + + Pages.Add(Tex); + } + } + + return Pages; +} + +// Internal helper — loads any PNG/JPG from an absolute path at runtime +UTexture2D* UContentNodeWidget::LoadTextureFromPath(const FString& FullPath) +{ + TArray FileData; + if (!FFileHelper::LoadFileToArray(FileData, *FullPath)) + { + UE_LOG(LogTemp, Warning, TEXT("ContentNodeWidget: failed to read file: %s"), *FullPath); + return nullptr; + } + + IImageWrapperModule& ImageWrapperModule = + FModuleManager::LoadModuleChecked(TEXT("ImageWrapper")); + + EImageFormat Format = ImageWrapperModule.DetectImageFormat(FileData.GetData(), FileData.Num()); + TSharedPtr ImageWrapper = ImageWrapperModule.CreateImageWrapper(Format); + + if (!ImageWrapper.IsValid() || !ImageWrapper->SetCompressed(FileData.GetData(), FileData.Num())) + { + UE_LOG(LogTemp, Warning, TEXT("ContentNodeWidget: failed to decode image: %s"), *FullPath); + return nullptr; + } + + TArray RawData; + ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, RawData); + + UTexture2D* Texture = UTexture2D::CreateTransient( + ImageWrapper->GetWidth(), + ImageWrapper->GetHeight(), + PF_B8G8R8A8 + ); + + void* TextureData = Texture->GetPlatformData()->Mips[0].BulkData.Lock(LOCK_READ_WRITE); + FMemory::Memcpy(TextureData, RawData.GetData(), RawData.Num()); + Texture->GetPlatformData()->Mips[0].BulkData.Unlock(); + Texture->UpdateResource(); + + return Texture; +} \ No newline at end of file diff --git a/Table/Source/Table/Private/DetectionManager.cpp b/Table/Source/Table/Private/DetectionManager.cpp new file mode 100644 index 0000000..5864116 --- /dev/null +++ b/Table/Source/Table/Private/DetectionManager.cpp @@ -0,0 +1,250 @@ + +#include "DetectionManager.h" +#include "DrawDebugHelpers.h" +#include "Sockets.h" +#include "SocketSubsystem.h" +#include "Common/UdpSocketBuilder.h" +#include "Common/UdpSocketReceiver.h" +#include "Networking.h" + + + +// MediaPipe Hands connections (20 bones) +const int32 ADetectionManager::HandConnections[20][2] = { + {0,1},{1,2},{2,3},{3,4}, + {0,5},{5,6},{6,7},{7,8}, + {0,9},{9,10},{10,11},{11,12}, + {0,13},{13,14},{14,15},{15,16}, + {0,17},{17,18},{18,19},{19,20} +}; + +ADetectionManager::ADetectionManager() +{ + PrimaryActorTick.bCanEverTick = true; +} + +void ADetectionManager::BeginPlay() +{ + Super::BeginPlay(); + if (bStartReceiverOnBeginPlay) + { + StartUdpReceiver(); + } +} + +void ADetectionManager::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + StopUdpReceiver(); + Super::EndPlay(EndPlayReason); +} + +void ADetectionManager::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + +} + +void ADetectionManager::StartUdpReceiver() +{ + if (Socket) + { + return; + } + + const FIPv4Endpoint Endpoint(FIPv4Address::Any, ListenPort); + + Socket = FUdpSocketBuilder(TEXT("HandTrackingUdpSocket")) + .AsNonBlocking() + .AsReusable() + .BoundToEndpoint(Endpoint) + .WithReceiveBufferSize(2 * 1024 * 1024); + + if (!Socket) + { + UE_LOG(LogTemp, Error, TEXT("[DetectionManager] Failed to create UDP socket on port %d"), ListenPort); + return; + } + + const FTimespan ThreadWaitTime = FTimespan::FromMilliseconds(2); + Receiver = MakeShared(Socket, ThreadWaitTime, TEXT("HandTrackingUdpReceiver")); + Receiver->OnDataReceived().BindUObject(this, &ADetectionManager::OnUdpPacketReceived); + Receiver->Start(); + + UE_LOG(LogTemp, Log, TEXT("[DetectionManager] UDP receiver started on port %d"), ListenPort); +} + +void ADetectionManager::StopUdpReceiver() +{ + if (Receiver.IsValid()) + { + Receiver->Stop(); + Receiver.Reset(); + } + + if (Socket) + { + Socket->Close(); + ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(Socket); + Socket = nullptr; + } + + UE_LOG(LogTemp, Log, TEXT("[DetectionManager] UDP receiver stopped")); +} + +void ADetectionManager::OnUdpPacketReceived( + const TSharedPtr& ArrayReader, + const FIPv4Endpoint& EndPt +) +{ + + if (!ArrayReader.IsValid() || ArrayReader->Num() <= 0) + { + return; + } + + TArray Bytes; + Bytes.SetNumUninitialized(ArrayReader->Num()); + FMemory::Memcpy(Bytes.GetData(), ArrayReader->GetData(), ArrayReader->Num()); + + int32 Seq = 0; + uint64 TsMs = 0; + TArray Hands; + + if (!ParseHandPacket(Bytes, Seq, TsMs, Hands)) + { + return; + } + + { + FScopeLock Lock(&DataMutex); + LatestSeq = Seq; + LatestTimestampMs = TsMs; + LatestHands = MoveTemp(Hands); + bHasNewData = true; + } +} + + +// ---- Little-endian readers ---- +static uint32 ReadU32LE(const uint8* Ptr) +{ + return (uint32)Ptr[0] | ((uint32)Ptr[1] << 8) | ((uint32)Ptr[2] << 16) | ((uint32)Ptr[3] << 24); +} + +static uint64 ReadU64LE(const uint8* Ptr) +{ + uint64 v = 0; + for (int i = 0; i < 8; ++i) v |= ((uint64)Ptr[i] << (8 * i)); + return v; +} + +static float ReadF32LE(const uint8* Ptr) +{ + uint32 u = ReadU32LE(Ptr); + float f; + FMemory::Memcpy(&f, &u, sizeof(float)); + return f; +} + +bool ADetectionManager::ParseHandPacket(const TArray& Bytes, int32& OutSeq, uint64& OutTsMs, TArray& OutHands) +{ + // Header: <4s B I Q B + // per hand: End) return false; + + const uint8 HandId = *Ptr++; + const uint8 PointCount = *Ptr++; + + const uint8 HandednessByte = *Ptr++; + const float Confidence = ReadF32LE(Ptr); Ptr += 4; + + const int64 NeedBytes = (int64)PointCount * 3 * 4; + if (Ptr + NeedBytes > End) return false; + + if (PointCount != 21) + { + Ptr += NeedBytes; + continue; + } + + FHandPacketHand Hand; + Hand.HandId = (int32)HandId; + Hand.Handedness = (HandednessByte == 1) ? EHandedness::Left : + (HandednessByte == 2) ? EHandedness::Right : + EHandedness::Unknown; + Hand.Confidence = Confidence; + + Hand.Points.SetNum(PointCount); + + for (int32 pi = 0; pi < PointCount; ++pi) + { + const float X = ReadF32LE(Ptr); Ptr += 4; + const float Y = ReadF32LE(Ptr); Ptr += 4; + const float Z = ReadF32LE(Ptr); Ptr += 4; + + Hand.Points[pi] = FVector(X, Y, -Z); + } + + OutHands.Add(MoveTemp(Hand)); + } + + return true; +} + +float ADetectionManager::MapDepthToRadiusCm(float Z) const +{ + if (!bRadiusFromDepth) + return BasePointRadiusCm; + + const float Zc = FMath::Clamp(Z, DepthNear, DepthFar); + const float T = (Zc - DepthNear) / FMath::Max(1.0f, (DepthFar - DepthNear)); // 0..1 + return FMath::Lerp(RadiusNearCm, RadiusFarCm, T); +} + +bool ADetectionManager::ConsumeLatestHands(TArray& OutHands, int32& OutSeq, int64& OutTimestampMs) +{ + FScopeLock Lock(&DataMutex); + if (!bHasNewData) + { + OutHands.Reset(); + OutSeq = 0; + OutTimestampMs = 0; + return false; + } + + // Atomically "consume" the latest frame + bHasNewData = false; + OutSeq = LatestSeq; + OutTimestampMs = (int64)LatestTimestampMs; + + OutHands = MoveTemp(LatestHands); // takes ownership, leaves LatestHands empty + return OutHands.Num() > 0; +} diff --git a/Table/Source/Table/Private/FingerTip.cpp b/Table/Source/Table/Private/FingerTip.cpp new file mode 100644 index 0000000..5c79f67 --- /dev/null +++ b/Table/Source/Table/Private/FingerTip.cpp @@ -0,0 +1,27 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "FingerTip.h" + +// Sets default values +AFingerTip::AFingerTip() +{ + // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. + PrimaryActorTick.bCanEverTick = true; + +} + +// Called when the game starts or when spawned +void AFingerTip::BeginPlay() +{ + Super::BeginPlay(); + +} + +// Called every frame +void AFingerTip::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + +} + diff --git a/Table/Source/Table/Private/GestureAction.cpp b/Table/Source/Table/Private/GestureAction.cpp new file mode 100644 index 0000000..5cf6af8 --- /dev/null +++ b/Table/Source/Table/Private/GestureAction.cpp @@ -0,0 +1,46 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "GestureAction.h" +#include "HandActor.h" + +// Sets default values +AGestureAction::AGestureAction() +{ + // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. + PrimaryActorTick.bCanEverTick = true; + +} + +// Called when the game starts or when spawned +void AGestureAction::BeginPlay() +{ + Super::BeginPlay(); + +} + +// Called every frame +void AGestureAction::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + +} + +void AGestureAction::UpdateAction() +{ + Destroy(); +} + +void AGestureAction::AbortAction() +{ +} + +void AGestureAction::AddExtension(AHandActor* OtherHand) +{ + HandB = OtherHand; +} + +void AGestureAction::EndGesture() +{ + Destroy(); +} \ No newline at end of file diff --git a/Table/Source/Table/Private/GestureData.cpp b/Table/Source/Table/Private/GestureData.cpp new file mode 100644 index 0000000..4997d0a --- /dev/null +++ b/Table/Source/Table/Private/GestureData.cpp @@ -0,0 +1,5 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "GestureData.h" + diff --git a/Table/Source/Table/Private/GestureDefinition.cpp b/Table/Source/Table/Private/GestureDefinition.cpp new file mode 100644 index 0000000..eba038f --- /dev/null +++ b/Table/Source/Table/Private/GestureDefinition.cpp @@ -0,0 +1,27 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "GestureDefinition.h" +#include "HandActor.h" + +float UGestureDefinition::Evaluate(AHandActor* Hand) const +{ + return 0.f; +} + +float UGesture_PinchPoint::Evaluate(AHandActor* Hand) const +{ + float Pinch = GetPinchScore(Hand, EHandFinger::Thumb, EHandFinger::Index); + float IndexExtended = GetFingerExtendedScore(Hand, EHandFinger::Index); + + float OthersCurled = GetFingersAverage( + Hand, + { EHandFinger::Middle, EHandFinger::Ring, EHandFinger::Pinky }, + false + ); + + return + Pinch * 0.5f + + IndexExtended * 0.3f + + OthersCurled * 0.2f; +} diff --git a/Table/Source/Table/Private/GestureManagerComponent.cpp b/Table/Source/Table/Private/GestureManagerComponent.cpp new file mode 100644 index 0000000..72be9b0 --- /dev/null +++ b/Table/Source/Table/Private/GestureManagerComponent.cpp @@ -0,0 +1,252 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "GestureManagerComponent.h" +#include "HandManager.h" +#include "GestureDefinition.h" +#include "GestureAction.h" +#include "HandActor.h" + +// Sets default values for this component's properties +UGestureManagerComponent::UGestureManagerComponent() +{ + // Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features + // off to improve performance if you don't need them. + PrimaryComponentTick.bCanEverTick = false; + + HandManager = Cast(GetOwner()); +} + + +// Called when the game starts +void UGestureManagerComponent::BeginPlay() +{ + Super::BeginPlay(); + + HandManager->OnHandAdded.AddDynamic(this, &UGestureManagerComponent::OnHandAdded); + HandManager->OnHandRemoved.AddDynamic(this, &UGestureManagerComponent::OnHandRemoved); +} + +void UGestureManagerComponent::EvaluateHands() +{ + TArray& Hands = HandManager->HandList; + + for (AHandActor* Hand : Hands) Hand->bUsedThisTick = false; + + CheckGestureDefinitions(Hands); + + for (AHandActor* Hand : Hands) + { + if (Hand->bUsedThisTick) continue; + switch (Hand->Phase) + { + case EGesturePhase::Started: + TriggerAction(Hand); + break; + case EGesturePhase::Ended: + Hand->ResetGesture(); + EndGesture(); + break; + } + } + + UpdateOngoingAction(); +} + +void UGestureManagerComponent::OnHandAdded(AHandActor* Hand) +{ + Hand->ResetGesture(); +} + +void UGestureManagerComponent::OnHandRemoved(AHandActor* Hand) +{ + Hand->PairedHand->PairedHand = nullptr; + Hand->ResetGesture(); +} + +void UGestureManagerComponent::CheckGestureDefinitions(TArray& Hands) +{ + const float MinScoreThreshold = 0.5f; + + for (AHandActor* Hand : Hands) { + float BestScore = 0.f; + FString BestGesture = ""; + + for (UGestureDefinition* Gesture : GestureDefinitions) { + + float Score = Gesture->Evaluate(Hand); + + if (Score > BestScore) + { + BestScore = Score; + BestGesture = Gesture->GestureName; + } + } + + if (BestScore < MinScoreThreshold) + { + if (Hand->Phase != EGesturePhase::None) + { + Hand->FailFrames++; + + if (Hand->FailFrames >= FailThreshold) + { + Hand->Phase = EGesturePhase::Ended; + } + } + + continue; + } + + switch (Hand->Phase) + { + case EGesturePhase::None: + Hand->ActiveGestureName = BestGesture; + Hand->Phase = EGesturePhase::Candidate; + Hand->CandidateFrames = 1; + Hand->FailFrames = 0; + + break; + case EGesturePhase::Candidate: + if (Hand->ActiveGestureName != BestGesture) + { + Hand->FailFrames++; + break; + } + + Hand->CandidateFrames++; + Hand->FailFrames = 0; + + if (Hand->CandidateFrames >= CandidateThreshold) + Hand->Phase = EGesturePhase::Started; + + break; + case EGesturePhase::Ongoing: + if (Hand->ActiveGestureName != BestGesture) + { + Hand->FailFrames++; + + if (Hand->FailFrames >= FailThreshold) + { + Hand->Phase = EGesturePhase::Ended; + } + } + else + { + Hand->FailFrames = 0; + } + break; + } + + + + if (Hand->FailFrames >= FailThreshold) + Hand->Phase = EGesturePhase::Ended; + } +} + +void UGestureManagerComponent::TriggerAction(AHandActor* Hand) +{ + if (!Hand->bUsedThisTick) return; + + if (Hand->IsPaired()) + { + AHandActor* Other = Hand->PairedHand; + + for (const FGestureBinding& Binding : GestureBindings) + { + const bool bLeftMatch = (Hand->Handedness == EHandedness::Left && Hand->ActiveGestureName == Binding.LeftGesture && + Other->ActiveGestureName == Binding.RightGesture); + + const bool bRightMatch = (Hand->Handedness == EHandedness::Right && Hand->ActiveGestureName == Binding.RightGesture && + Other->ActiveGestureName == Binding.LeftGesture); + + if (!(bLeftMatch || bRightMatch)) + continue; + + // both must be ready + if (Other->Phase != EGesturePhase::Started) + continue; + + // mark used + Hand->bUsedThisTick = true; + Other->bUsedThisTick = true; + + Hand->Phase = EGesturePhase::Ongoing; + Other->Phase = EGesturePhase::Ongoing; + + // spawn action (centralized factory recommended) + SpawnGestureAction(Binding.ActionName, Hand, Other); + + return; + } + } + + for (const FGestureBinding& Binding : GestureBindings) + { + const bool bMatch = + (Hand->Handedness == EHandedness::Left && Binding.LeftGesture == Hand->ActiveGestureName) || + (Hand->Handedness == EHandedness::Right && Binding.RightGesture == Hand->ActiveGestureName); + + if (!bMatch) + continue; + + // if paired hand is actively running something, allow extension check later + if (Hand->IsPaired() && Hand->PairedHand && Hand->PairedHand->Phase == EGesturePhase::Ongoing) + { + for (const FExtendedGestureBinding& Ext : Binding.ExentdedGestures) + { + if (Ext.GestureName != Hand->ActiveGestureName) + continue; + + if (Ext.GestureAction == Binding.ActionName) + { + // extend current action + ExtendGestureAction(Binding.ActionName, Hand); + Hand->bUsedThisTick = true; + return; + } + else + { + // branch: spawn new action linked to existing one + SpawnGestureActionWithParent(Ext.GestureAction, Hand, Hand->PairedHand); + Hand->bUsedThisTick = true; + return; + } + } + } + + // normal one-hand action + Hand->bUsedThisTick = true; + SpawnGestureAction(Binding.ActionName, Hand, nullptr); + return; + } + +} + + +void UGestureManagerComponent::UpdateOngoingAction() +{ + for (AGestureAction* Action : ActiveGestureActions) + { + if (!Action) continue; + + Action->UpdateAction(); + } +} + +void UGestureManagerComponent::SpawnGestureAction(FString ActionName, AHandActor* A, AHandActor* B) +{ +} + +void UGestureManagerComponent::ExtendGestureAction(FString ActionName, AHandActor* Hand) +{ +} + +void UGestureManagerComponent::SpawnGestureActionWithParent(FString ActionName, AHandActor* Hand, AHandActor* ParentHand) +{ +} + + + + diff --git a/Table/Source/Table/Private/HandActor.cpp b/Table/Source/Table/Private/HandActor.cpp new file mode 100644 index 0000000..82a48ce --- /dev/null +++ b/Table/Source/Table/Private/HandActor.cpp @@ -0,0 +1,148 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "HandActor.h" +#include "HandManager.h" +#include "FingerTip.h" +#include "DrawDebugHelpers.h" + + +static const int32 HandBones[][2] = { + {0,1},{1,2},{2,3},{3,4}, + {0,5},{5,6},{6,7},{7,8}, + {0,9},{9,10},{10,11},{11,12}, + {0,13},{13,14},{14,15},{15,16}, + {0,17},{17,18},{18,19},{19,20}, + {5,9},{9,13},{13,17} +}; + +static const int32 FingerTipBones[] = { + 4, 8, 12, 16, 20 +}; + +static const int32 HandBoneCount = sizeof(HandBones) / sizeof(HandBones[0]); + +static const float Life = 0.05f; + +// Sets default values +AHandActor::AHandActor() +{ + // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. + PrimaryActorTick.bCanEverTick = true; + +} + +// Called when the game starts or when spawned +void AHandActor::BeginPlay() +{ + Super::BeginPlay(); + GetWorld()->GetTimerManager().SetTimer(DeathTimer, this, &AHandActor::HandDeath, DeathTime, true); + + + +} + +// Called every frame +void AHandActor::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + DrawDebugCoordinateSystem(GetWorld(), FVector::ZeroVector, FRotator::ZeroRotator, 100.0f, false, 0.1f, 0, 2.0f); + //SetActorLocation(GetPalmCenter()); + + if (Points.Num() != 21) return; + for(int32 i = 0; i < HandBoneCount; ++i) + { + const int32 BoneA = HandBones[i][0]; + const int32 BoneB = HandBones[i][1]; + DrawDebugLine( + GetWorld(), + Points[BoneA], + Points[BoneB], + FColor::Red, + false, + Life, + 0, + 1.5f + ); + + } + + for (const FVector& P : Points) { + DrawDebugSphere(GetWorld(), P, 2.0f, 8, FColor::Green, false, Life); + } +} + +FVector AHandActor::GetPalmCenter() +{ + return ((Points[0] + Points[5] + Points[9] + Points[13] + Points[17]) / 5.0f); +} + +EHandedness AHandActor::GetHandedness() +{ + return Handedness; +} + +void AHandActor::InitHand_Implementation(const FHandPacketHand& NewHand, AHandManager* NewHandManager, TSubclassOf FingerTipClass) +{ + Points = NewHand.Points; + Handedness = NewHand.Handedness; + Confidence = NewHand.Confidence; + HandId = NewHand.HandId; + HandManager = NewHandManager; + + + //Spawn Finger Tips + for (int32 FingerTipPoint : FingerTipBones) + { + FTransform SpawnTransform; + SpawnTransform.SetLocation(GetPalmCenter()); + SpawnTransform.SetRotation(FQuat::Identity); + SpawnTransform.SetScale3D(FVector::OneVector); + + FActorSpawnParameters Params; + Params.Owner = this; + Params.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; + + AFingerTip* NewFinger = GetWorld()->SpawnActor( + FingerTipClass, + SpawnTransform, + Params + ); + + FingerTipActorList.Add(NewFinger); + } + +} + +void AHandActor::UpdateHand(const FHandPacketHand& NewHand) +{ + GetWorld()->GetTimerManager().ClearTimer(DeathTimer); + GetWorld()->GetTimerManager().SetTimer(DeathTimer, this, &AHandActor::HandDeath, DeathTime, true); + + Points = NewHand.Points; + Handedness = NewHand.Handedness; + Confidence = NewHand.Confidence; + HandId = NewHand.HandId; + + //UE_LOG(LogTemp, Error, TEXT("Update Hand")); + + for (int32 n = 0; n < 5; n++) + { + FVector f = Points[FingerTipBones[n]]; + FingerTipActorList[n]->SetActorLocation(f); + + } +} + + +void AHandActor::HandDeath() +{ + for (AFingerTip* FingerTip : FingerTipActorList) { + FingerTip->Destroy(); + } + + if (IsValid(HandManager)) + { + HandManager->AddDeadHand(this); + } +} + diff --git a/Table/Source/Table/Private/HandManager.cpp b/Table/Source/Table/Private/HandManager.cpp new file mode 100644 index 0000000..7f91e12 --- /dev/null +++ b/Table/Source/Table/Private/HandManager.cpp @@ -0,0 +1,128 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "HandManager.h" +#include "GestureManagerComponent.h" +#include "HandActor.h" + +// Sets default values +AHandManager::AHandManager() +{ + // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. + PrimaryActorTick.bCanEverTick = true; + GestureManager = CreateDefaultSubobject(TEXT("GestureManager")); +} + +// Called when the game starts or when spawned +void AHandManager::BeginPlay() +{ + Super::BeginPlay(); + + if (!IsValid(HandActorClass)) + { + HandActorClass = AHandActor::StaticClass(); + } + +} + +// Called every frame +void AHandManager::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + + if (!IsValid(DM)) return; + + RemoveDeadHands(); + UpdateHands(); + + GestureManager->EvaluateHands(); +} + +void AHandManager::SpawnNewHand(const FVector& PalmCenter, const FHandPacketHand& NewHand) +{ + FTransform SpawnTransform; + SpawnTransform.SetLocation(PalmCenter); + SpawnTransform.SetRotation(FQuat::Identity); + SpawnTransform.SetScale3D(FVector::OneVector); + + FActorSpawnParameters Params; + Params.Owner = this; + Params.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; + + AHandActor* NewHandActor = GetWorld()->SpawnActor( + HandActorClass, + SpawnTransform, + Params + ); + + if (NewHandActor) + { + HandList.Add(NewHandActor); + NewHandActor->InitHand(NewHand, this, FingerTipClass); + } + + OnHandAdded.Broadcast(NewHandActor); +} + +void AHandManager::AddDeadHand(AHandActor* DeadHand) +{ + DeadHands.Add(DeadHand); +} + +TArray AHandManager::GetHandList() +{ + return HandList; +} + +void AHandManager::RemoveDeadHands() +{ + for (AHandActor* Hand : DeadHands) + { + if (IsValid(Hand)) + { + HandList.Remove(Hand); + OnHandRemoved.Broadcast(Hand); + Hand->Destroy(); + } + } + DeadHands.Empty(); +} + +void AHandManager::UpdateHands() +{ + TArray NewHands; + int32 OutSeq; + int64 OutTimestampMs; + + if (DM->ConsumeLatestHands(NewHands, OutSeq, OutTimestampMs)) { + bool HandFound; + + for (const FHandPacketHand& NewHand : NewHands) + { + const TArray& Points = NewHand.Points; + HandFound = false; + + if (Points.Num() < 21) continue; + const FVector PalmCenter = (Points[0] + Points[5] + Points[9] + Points[13] + Points[17]) / 5.0f; + + for (AHandActor* Hand : HandList) + { + if (!IsValid(Hand)) continue; + if (Hand->GetHandedness() != NewHand.Handedness) continue; + + float DistSq = FVector::DistSquared(Hand->GetPalmCenter(), PalmCenter); + + if (DistSq > HandAllocationDistance) continue; + + Hand->UpdateHand(NewHand); + HandFound = true; + break; + } + + if (!HandFound) + { + SpawnNewHand(PalmCenter, NewHand); + } + + } + } +} diff --git a/Table/Source/Table/Private/JsonSelectionOption.cpp b/Table/Source/Table/Private/JsonSelectionOption.cpp new file mode 100644 index 0000000..1a399f8 --- /dev/null +++ b/Table/Source/Table/Private/JsonSelectionOption.cpp @@ -0,0 +1,11 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "JsonSelectionOption.h" + +FString UJsonSelectionOption::GetOptionDisplayName() +{ + // Gets the folder containing the json, e.g. "Tyranid" + FString Folder = FPaths::GetCleanFilename(FPaths::GetPath(OptionValue)); + return Folder; +} diff --git a/Table/Source/Table/Private/UserHUDWidget.cpp b/Table/Source/Table/Private/UserHUDWidget.cpp new file mode 100644 index 0000000..d51f789 --- /dev/null +++ b/Table/Source/Table/Private/UserHUDWidget.cpp @@ -0,0 +1,115 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "UserHUDWidget.h" +#include "Misc/Paths.h" +#include "Misc/FileHelper.h" +#include "HAL/FileManager.h" + + + +TArray UUserHUDWidget::GetJsonFileNames() +{ + TArray FileNames; + + FString FolderPath = ConfigFolderPath; + + IFileManager::Get().FindFilesRecursive( + FileNames, + *FolderPath, + TEXT("*.json"), + true, // files + false // directories + ); + + //for (FString& Name : FileNames) FPaths::GetBaseFilename(Name); + + return FileNames; +} + +UContentWidgetData* UUserHUDWidget::LoadUserHUDJsonFile(const FString& FullPath) +{ + FString JsonString; + + // Load the File as a String + if (!FFileHelper::LoadFileToString(JsonString, *FullPath)) + { + UE_LOG(LogTemp, Warning, TEXT("LoadUserHUDJsonFile: failed to read %s"), *FullPath); + return nullptr; + } + + TSharedPtr RootObject; + TSharedRef> Reader = TJsonReaderFactory<>::Create(JsonString); + + //Convert the Loaded String to a JSON Format + if (!FJsonSerializer::Deserialize(Reader, RootObject) || !RootObject.IsValid()) + { + UE_LOG(LogTemp, Warning, TEXT("LoadUserHUDJsonFile: failed to parse JSON at %s"), *FullPath); + return nullptr; + } + + return ParseContentData(RootObject, this); +} + + + +UContentWidgetData* UUserHUDWidget::ParseContentData(TSharedPtr JsonObject, UObject* Outer) +{ + UContentWidgetData* ContentData = NewObject(Outer); + + // WidgetType + JsonObject->TryGetStringField(ContentJsonKeys::Type, ContentData->WidgetType); + + // Sources array + const TArray>* SourcesArray; + if (JsonObject->TryGetArrayField(ContentJsonKeys::Sources, SourcesArray)) + { + for (const TSharedPtr& SourceValue : *SourcesArray) + { + TSharedPtr SourceObj = SourceValue->AsObject(); + if (SourceObj.IsValid()) + ContentData->DataSources.Add(ParseContentSource(SourceObj)); + } + } + + // Children array — [{ "name": "Rules", "content": { ... } }, ...] + const TArray>* ChildrenArray; + if (JsonObject->TryGetArrayField(ContentJsonKeys::SubWidgets, ChildrenArray)) + { + for (const TSharedPtr& ChildValue : *ChildrenArray) + { + TSharedPtr SubWidgetObj = ChildValue->AsObject(); + if (!SubWidgetObj.IsValid()) continue; + + FString SubWidgetName; + SubWidgetObj->TryGetStringField(ContentJsonKeys::Name, SubWidgetName); + + const TSharedPtr* ContentObj; + if (SubWidgetObj->TryGetObjectField(ContentJsonKeys::Content, ContentObj)) + { + ContentData->SubWidgetNames.Add(SubWidgetName); + // Recurse — pass Node as Outer so GC hierarchy is correct + ContentData->SubWidgets.Add(ParseContentData(*ContentObj, ContentData)); + } + } + } + + return ContentData; +} + +FContentSource UUserHUDWidget::ParseContentSource(TSharedPtr SourceObject) +{ + FContentSource Source; + + FString ContentTypeString; + SourceObject->TryGetStringField(ContentJsonKeys::ContentType, ContentTypeString); + SourceObject->TryGetStringField(ContentJsonKeys::Source, Source.Source); + + if (ContentTypeString == TEXT("Image")) Source.ContentType = EContentSourceType::Image; + else if (ContentTypeString == TEXT("PDF")) Source.ContentType = EContentSourceType::PDF; + else if (ContentTypeString == TEXT("TextFile")) Source.ContentType = EContentSourceType::TextFile; + else if (ContentTypeString == TEXT("InlineText")) Source.ContentType = EContentSourceType::InlineText; + else Source.ContentType = EContentSourceType::InlineText; + + return Source; +} diff --git a/Table/Source/Table/Public/ContentNodeWidget.h b/Table/Source/Table/Public/ContentNodeWidget.h new file mode 100644 index 0000000..04daf77 --- /dev/null +++ b/Table/Source/Table/Public/ContentNodeWidget.h @@ -0,0 +1,48 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "UserHUDWidget.h" +#include "ContentNodeWidget.generated.h" + +/** + * + */ +UCLASS() +class TABLE_API UContentNodeWidget : public UUserWidget +{ + GENERATED_BODY() + +public: + // Set this before adding the widget to the viewport + UPROPERTY(BlueprintReadWrite, Category = "Content", Meta = (ExposeOnSpawn = true)) + UContentWidgetData* WidgetData; + + // Base folder of the loaded army — all relative paths resolve against this + // e.g. "C:/Test/HUDs/Tyranid/" + UPROPERTY(BlueprintReadWrite, Category = "Content", Meta = (ExposeOnSpawn = true)) + FString BaseFolderPath; + + // Load a single texture from a relative path + UFUNCTION(BlueprintCallable, Category = "Content") + UTexture2D* LoadTexture(const FString& RelativePath); + + // Load a .txt file as a string + UFUNCTION(BlueprintCallable, Category = "Content") + FString LoadTextFile(const FString& RelativePath); + + // PDF — returns one texture per page (expects pre-rendered PNGs) + // naming convention: basename_p01.png, basename_p02.png ... + UFUNCTION(BlueprintCallable, Category = "Content") + TArray LoadPDFPages(const FString& RelativePath); + + // Convenience — full path from relative + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Content") + FString ResolvePath(const FString& RelativePath); + + +private: + UTexture2D* LoadTextureFromPath(const FString& FullPath); +}; diff --git a/Table/Source/Table/Public/DetectionManager.h b/Table/Source/Table/Public/DetectionManager.h new file mode 100644 index 0000000..22165de --- /dev/null +++ b/Table/Source/Table/Public/DetectionManager.h @@ -0,0 +1,125 @@ +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "HAL/CriticalSection.h" +#include "Misc/ScopeLock.h" +#include "Serialization/ArrayReader.h" // FArrayReader +#include "Interfaces/IPv4/IPv4Endpoint.h" // FIPv4Endpoint + +#include "GestureData.h" +#include "DetectionManager.generated.h" + +class FSocket; +class FUdpSocketReceiver; + + + +USTRUCT(BlueprintType) +struct FHandPacketHand +{ + GENERATED_BODY() + + UPROPERTY() + int32 HandId = -1; + + UPROPERTY() + EHandedness Handedness = EHandedness::Unknown; + + UPROPERTY() + float Confidence = 0.0f; + + UPROPERTY() + TArray Points; // size 21 +}; + +UCLASS() +class TABLE_API ADetectionManager : public AActor +{ + GENERATED_BODY() + +public: + ADetectionManager(); + + UFUNCTION(BlueprintCallable, Category = "Hands") + bool ConsumeLatestHands(TArray& OutHands, int32& OutSeq, int64& OutTimestampMs); + +protected: + virtual void BeginPlay() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + +public: + virtual void Tick(float DeltaTime) override; + + // UDP settings + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|UDP") + int32 ListenPort = 9000; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|UDP") + bool bStartReceiverOnBeginPlay = true; + + // Debug draw + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + bool bDrawDebugHands = true; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + bool bDrawDebugBones = true; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + float UnitScaleToUE = 0.1f; // mm -> cm + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + bool bUseActorTransformAsOrigin = true; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + bool bRadiusFromDepth = true; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + float BasePointRadiusCm = 1.0f; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + float DepthNear = 200.0f; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + float DepthFar = 1200.0f; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + float RadiusNearCm = 2.0f; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + float RadiusFarCm = 0.5f; + + UPROPERTY(BlueprintReadOnly, Category = "Hand Tracking|Debug") + int32 LastSeq = 0; + + UPROPERTY(BlueprintReadOnly, Category = "Hand Tracking|Debug") + int32 LastHandCount = 0; + +private: + // Socket + receiver + FSocket* Socket = nullptr; + TSharedPtr Receiver; + + // Thread-safe latest data buffer + FCriticalSection DataMutex; + bool bHasNewData = false; + int32 LatestSeq = 0; + uint64 LatestTimestampMs = 0; + TArray LatestHands; + +private: + void StartUdpReceiver(); + void StopUdpReceiver(); + + // Must match FUdpSocketReceiver delegate signature + void OnUdpPacketReceived( + const TSharedPtr& ArrayReader, + const FIPv4Endpoint& EndPt + ); + + bool ParseHandPacket(const TArray& Bytes, int32& OutSeq, uint64& OutTsMs, TArray& OutHands); + + float MapDepthToRadiusCm(float Z) const; + + static const int32 HandConnections[20][2]; +}; diff --git a/Table/Source/Table/Public/FingerTip.h b/Table/Source/Table/Public/FingerTip.h new file mode 100644 index 0000000..669cc76 --- /dev/null +++ b/Table/Source/Table/Public/FingerTip.h @@ -0,0 +1,26 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "FingerTip.generated.h" + +UCLASS() +class TABLE_API AFingerTip : public AActor +{ + GENERATED_BODY() + +public: + // Sets default values for this actor's properties + AFingerTip(); + +protected: + // Called when the game starts or when spawned + virtual void BeginPlay() override; + +public: + // Called every frame + virtual void Tick(float DeltaTime) override; + +}; diff --git a/Table/Source/Table/Public/GestureAction.h b/Table/Source/Table/Public/GestureAction.h new file mode 100644 index 0000000..8265c0c --- /dev/null +++ b/Table/Source/Table/Public/GestureAction.h @@ -0,0 +1,48 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "GestureAction.generated.h" + +class AHandActor; + +UCLASS() +class TABLE_API AGestureAction : public AActor +{ + GENERATED_BODY() + +public: + // Sets default values for this actor's properties + AGestureAction(); + +protected: + // Called when the game starts or when spawned + virtual void BeginPlay() override; + +public: + // Called every frame + virtual void Tick(float DeltaTime) override; + + UPROPERTY(BlueprintReadWrite) + TMap Anchors; + + UPROPERTY(BlueprintReadWrite) + AHandActor* HandA; + + UPROPERTY(BlueprintReadWrite) + AHandActor* HandB; + + UFUNCTION(BlueprintCallable) + void UpdateAction(); + + UFUNCTION(BlueprintCallable) + void AbortAction(); + + UFUNCTION(BlueprintCallable) + void AddExtension(AHandActor* OtherHand); + + UFUNCTION(BlueprintCallable) + void EndGesture(); +}; diff --git a/Table/Source/Table/Public/GestureData.h b/Table/Source/Table/Public/GestureData.h new file mode 100644 index 0000000..bff9fa1 --- /dev/null +++ b/Table/Source/Table/Public/GestureData.h @@ -0,0 +1,81 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Engine/DataTable.h" +#include "GestureData.generated.h" + +class AHandActor; +class AGestureAction; +class UGestureDefinition; + +UENUM(BlueprintType) +enum class EHandedness : uint8 +{ + Unknown = 0, + Left = 1, + Right = 2 +}; + +UENUM(BlueprintType) +enum class EGesturePhase : uint8 +{ + None, + Candidate, + Started, + Ongoing, + Ended +}; + +// Row struct for DT_GestureDefinitions +USTRUCT(BlueprintType) +struct FGestureDefinitionRow : public FTableRowBase +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere, BlueprintReadOnly) + TSubclassOf DefinitionClass; +}; + +// Row struct for DT_GestureActions +USTRUCT(BlueprintType) +struct FGestureActionRow : public FTableRowBase +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere, BlueprintReadOnly) + TSubclassOf ActionClass; +}; + +USTRUCT(BlueprintType) +struct FExtendedGestureBinding +{ + GENERATED_BODY() + + UPROPERTY(BlueprintReadOnly) + FString GestureName; + + UPROPERTY(BlueprintReadOnly) + FString GestureAction; +}; + +// What gets parsed from the JSON +USTRUCT(BlueprintType) +struct FGestureBinding +{ + GENERATED_BODY() + + UPROPERTY(BlueprintReadOnly) + FString ActionName; + + UPROPERTY(BlueprintReadOnly) + FString LeftGesture; + + UPROPERTY(BlueprintReadOnly) + FString RightGesture; + + UPROPERTY(BlueprintReadOnly) + TArray ExentdedGestures; + +}; \ No newline at end of file diff --git a/Table/Source/Table/Public/GestureDefinition.h b/Table/Source/Table/Public/GestureDefinition.h new file mode 100644 index 0000000..a4c3635 --- /dev/null +++ b/Table/Source/Table/Public/GestureDefinition.h @@ -0,0 +1,146 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Object.h" +#include "GestureManagerComponent.h" +#include "GestureDefinition.generated.h" + + +class AHandActor; + +UENUM(BlueprintType) +enum class EHandFinger : uint8 +{ + Thumb, + Index, + Middle, + Ring, + Pinky +}; + +/** + * + */ +UCLASS() +class TABLE_API UGestureDefinition : public UObject +{ + GENERATED_BODY() + +public: + + UPROPERTY(BlueprintReadWrite) + FString GestureName; + + UFUNCTION() + virtual float Evaluate(AHandActor* Hand) const; + + int32 GetFingerTipIndex(EHandFinger Finger) const + { + switch (Finger) + { + case EHandFinger::Thumb: return 4; + case EHandFinger::Index: return 8; + case EHandFinger::Middle: return 12; + case EHandFinger::Ring: return 16; + case EHandFinger::Pinky: return 20; + } + return 0; + } + + int32 GetFingerBaseIndex(EHandFinger Finger) const + { + switch (Finger) + { + case EHandFinger::Thumb: return 1; // thumb base is special + case EHandFinger::Index: return 5; + case EHandFinger::Middle: return 9; + case EHandFinger::Ring: return 13; + case EHandFinger::Pinky: return 17; + } + return 0; + } + + const FVector& GetPoint(const AHandActor* Hand, int32 Index) const + { + return Hand->Points[Index]; + } + + float GetHandScale(const AHandActor* Hand) const + { + const TArray& P = Hand->Points; + return FVector::Dist(P[0], P[9]); // wrist -> middle base + } + + float GetNormalizedDistance(const AHandActor* Hand, int32 A, int32 B) const + { + float Dist = FVector::Dist(GetPoint(Hand, A), GetPoint(Hand, B)); + return Dist / GetHandScale(Hand); + } + + float GetPinchScore(const AHandActor* Hand, EHandFinger A, EHandFinger B) const + { + float Dist = GetNormalizedDistance( + Hand, + GetFingerTipIndex(A), + GetFingerTipIndex(B) + ); + + const float Threshold = 0.25f; + + return 1.0f - FMath::Clamp(Dist / Threshold, 0.f, 1.f); + } + + float GetFingerExtendedScore(const AHandActor* Hand, EHandFinger Finger) const + { + const TArray& P = Hand->Points; + + const FVector& Wrist = P[0]; + const FVector& Base = P[GetFingerBaseIndex(Finger)]; + const FVector& Tip = P[GetFingerTipIndex(Finger)]; + + float Dot = FVector::DotProduct( + (Tip - Base).GetSafeNormal(), + (Base - Wrist).GetSafeNormal() + ); + + return FMath::Clamp(Dot, 0.f, 1.f); + } + + float GetFingerCurledScore(const AHandActor* Hand, EHandFinger Finger) const + { + return 1.0f - GetFingerExtendedScore(Hand, Finger); + } + + float GetFingersAverage(const AHandActor* Hand, const TArray& Fingers, bool bExtended) const + { + float Sum = 0.f; + + for (EHandFinger Finger : Fingers) + { + Sum += bExtended + ? GetFingerExtendedScore(Hand, Finger) + : GetFingerCurledScore(Hand, Finger); + } + + return Fingers.Num() > 0 ? Sum / Fingers.Num() : 0.f; + } + + FVector GetFingerDirection(const AHandActor* Hand, EHandFinger Finger) const + { + const FVector& Base = GetPoint(Hand, GetFingerBaseIndex(Finger)); + const FVector& Tip = GetPoint(Hand, GetFingerTipIndex(Finger)); + + return (Tip - Base).GetSafeNormal(); + } +}; + +UCLASS() +class TABLE_API UGesture_PinchPoint : public UGestureDefinition +{ + GENERATED_BODY() + +public: + virtual float Evaluate(AHandActor* Hand) const override; +}; \ No newline at end of file diff --git a/Table/Source/Table/Public/GestureManagerComponent.h b/Table/Source/Table/Public/GestureManagerComponent.h new file mode 100644 index 0000000..44ccc01 --- /dev/null +++ b/Table/Source/Table/Public/GestureManagerComponent.h @@ -0,0 +1,84 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Components/ActorComponent.h" +#include "GestureData.h" +#include "GestureManagerComponent.generated.h" + + + +UCLASS(ClassGroup = "Gesture", BlueprintType, Blueprintable, ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) +class TABLE_API UGestureManagerComponent : public UActorComponent +{ + GENERATED_BODY() + +public: + // Sets default values for this component's properties + UGestureManagerComponent(); + +protected: + // Called when the game starts + virtual void BeginPlay() override; + +public: + + UPROPERTY(BlueprintReadOnly) + class AHandManager* HandManager; + + UFUNCTION(BlueprintCallable, Category = "Gesture") + void EvaluateHands(); + + UFUNCTION() + void OnHandAdded(AHandActor* Hand); + + UFUNCTION() + void OnHandRemoved(AHandActor* Hand); + + UPROPERTY(EditDefaultsOnly, Category = "Gesture") + FString BindingConfigPath; // path to the per-game JSON + + // Loaded from JSON — gesture name -> definition object + UPROPERTY(BlueprintReadOnly, Category = "Gesture") + TArray GestureDefinitions; + + UPROPERTY(BlueprintReadOnly, Category = "Gesture") + TArray ActiveGestureActions; + + // Populated on BeginPlay from JSON + UPROPERTY(BlueprintReadOnly, Category = "Gesture") + TArray GestureBindings; + + // Populated on BeginPlay from the tables + UPROPERTY(BlueprintReadOnly, Category = "Gesture") + TMap DefinitionMap; + + UPROPERTY(BlueprintReadOnly, Category = "Gesture") + TMap> ActionClassMap; + + + +private: + // GestureManager.h — add these + UPROPERTY(EditDefaultsOnly, Category = "Gesture") + UDataTable* GestureDefinitionTable; + + UPROPERTY(EditDefaultsOnly, Category = "Gesture") + UDataTable* GestureActionTable; + + + void CheckGestureDefinitions(TArray& Hands); + void TriggerAction(AHandActor* Hand); + void UpdateOngoingAction(); + void EndGesture(); + + void SpawnGestureAction(FString ActionName, AHandActor* A, AHandActor* B); + void ExtendGestureAction(FString ActionName, AHandActor* Hand); + void SpawnGestureActionWithParent(FString ActionName, AHandActor* Hand, AHandActor* ParentHand); + + static constexpr int32 CandidateThreshold = 8; + static constexpr int32 FailThreshold = 5; +}; + + diff --git a/Table/Source/Table/Public/HandActor.h b/Table/Source/Table/Public/HandActor.h new file mode 100644 index 0000000..61fc8aa --- /dev/null +++ b/Table/Source/Table/Public/HandActor.h @@ -0,0 +1,102 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "DetectionManager.h" +#include "GestureData.h" + +#include "HandActor.generated.h" + +class AHandManager; +class AFingerTip; + +UCLASS() +class TABLE_API AHandActor : public AActor +{ + GENERATED_BODY() + +public: + // Sets default values for this actor's properties + AHandActor(); + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stuff") + int32 HandId; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stuff") + EHandedness Handedness; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stuff") + float Confidence; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stuff") + TArray Points; // size 21 + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stuff") + TArray FingerTipActorList; // size 21 + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stuff") + AHandManager* HandManager; + + FTimerHandle DeathTimer; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stuff") + int32 DeathTime = 5; + + // Gestures + + UPROPERTY(BlueprintReadWrite) + EGesturePhase Phase = EGesturePhase::None; + + UPROPERTY(BlueprintReadWrite) + FString ActiveGestureName; + + UPROPERTY(BlueprintReadWrite) + TMap Anchors; + + UPROPERTY(BlueprintReadWrite) + int32 CandidateFrames = 0; + + UPROPERTY(BlueprintReadWrite) + int32 FailFrames = 0; + + UPROPERTY(BlueprintReadOnly) + AHandActor* PairedHand = nullptr; + + bool bUsedThisTick = false; + + bool IsPaired() const { return PairedHand != nullptr; } + + void ResetGesture() + { + Phase = EGesturePhase::None; + ActiveGestureName = ""; + CandidateFrames = 0; + FailFrames = 0; + } + + +protected: + // Called when the game starts or when spawned + virtual void BeginPlay() override; + +public: + // Called every frame + virtual void Tick(float DeltaTime) override; + + UFUNCTION(BlueprintCallable) + FVector GetPalmCenter(); + + UFUNCTION(BlueprintCallable) + EHandedness GetHandedness(); + + UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + void InitHand(const FHandPacketHand& NewHand, AHandManager* NewHandManager, TSubclassOf FingerTipClass); + + UFUNCTION(BlueprintCallable) + void UpdateHand(const FHandPacketHand& NewHand); + + UFUNCTION(BlueprintCallable) + void HandDeath(); +}; diff --git a/Table/Source/Table/Public/HandManager.h b/Table/Source/Table/Public/HandManager.h new file mode 100644 index 0000000..eecea9e --- /dev/null +++ b/Table/Source/Table/Public/HandManager.h @@ -0,0 +1,77 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "DetectionManager.h" + +#include "HandManager.generated.h" + +class AHandActor; +class UGestureManagerComponent; + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnHandAdded, AHandActor*, Hand); +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnHandRemoved, AHandActor*, Hand); + + +UCLASS() +class TABLE_API AHandManager : public AActor +{ + GENERATED_BODY() + +public: + // Sets default values for this actor's properties + AHandManager(); + +protected: + // Called when the game starts or when spawned + virtual void BeginPlay() override; + +public: + // Called every frame + virtual void Tick(float DeltaTime) override; + + void SpawnNewHand(const FVector& PalmCenter, const FHandPacketHand& NewHand); + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand Tracking|Debug") + ADetectionManager* DM; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand") + TArray HandList; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand") + TArray DeadHands; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand") + int32 HandAllocationDistance = FMath::Square(1000);; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand") + TSubclassOf HandActorClass; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Hand") + TSubclassOf FingerTipClass; + + UFUNCTION(BlueprintCallable) + void AddDeadHand(AHandActor* DeadHand); + + UPROPERTY(BlueprintAssignable) + FOnHandAdded OnHandAdded; + + UPROPERTY(BlueprintAssignable) + FOnHandRemoved OnHandRemoved; + + UFUNCTION(BlueprintCallable) + TArray GetHandList(); + + //Gestures + + UPROPERTY(VisibleAnywhere, Category = "Gesture") + UGestureManagerComponent* GestureManager; + + const TArray& GetHandList() const { return HandList; } + +private: + void RemoveDeadHands(); + void UpdateHands(); +}; diff --git a/Table/Source/Table/Public/JsonSelectionOption.h b/Table/Source/Table/Public/JsonSelectionOption.h new file mode 100644 index 0000000..913a50e --- /dev/null +++ b/Table/Source/Table/Public/JsonSelectionOption.h @@ -0,0 +1,25 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "JsonSelectionOption.generated.h" + +/** + * + */ +UCLASS() +class TABLE_API UJsonSelectionOption : public UUserWidget +{ + GENERATED_BODY() + +public: + UPROPERTY(BlueprintReadWrite, Meta = (ExposeOnSpawn = true)) + FString OptionValue; + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "HUD") + FString GetOptionDisplayName(); + + +}; diff --git a/Table/Source/Table/Public/OpenCVIncludes.h b/Table/Source/Table/Public/OpenCVIncludes.h new file mode 100644 index 0000000..171d8b7 --- /dev/null +++ b/Table/Source/Table/Public/OpenCVIncludes.h @@ -0,0 +1,19 @@ +#pragma once + +#pragma once +THIRD_PARTY_INCLUDES_START + +#ifdef check +#pragma push_macro("check") +#undef check +#define OPENCV_RESTORE_CHECK_MACRO 1 +#endif + +#include + +#ifdef OPENCV_RESTORE_CHECK_MACRO +#pragma pop_macro("check") +#undef OPENCV_RESTORE_CHECK_MACRO +#endif + +THIRD_PARTY_INCLUDES_END \ No newline at end of file diff --git a/Table/Source/Table/Public/UserHUDWidget.h b/Table/Source/Table/Public/UserHUDWidget.h new file mode 100644 index 0000000..f18a5b8 --- /dev/null +++ b/Table/Source/Table/Public/UserHUDWidget.h @@ -0,0 +1,103 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "UserHUDWidget.generated.h" + + + + +/** + * + */ +UCLASS(BlueprintType, Blueprintable) +class TABLE_API UUserHUDWidget : public UUserWidget +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category = "HUD") + TArray GetJsonFileNames(); + + UFUNCTION(BlueprintCallable, Category = "HUD") + UContentWidgetData* LoadUserHUDJsonFile(const FString& FullPath); + + UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "HUD") + FString ConfigFolderPath = TEXT("C:/git/Table/Test/HUDs"); + +private: + UContentWidgetData* ParseContentData(TSharedPtr JsonObject, UObject* Outer); + FContentSource ParseContentSource(TSharedPtr SourceObject); + +}; + + + + + + + + + + +//-------------------------------------------------------------------------------------- +namespace ContentJsonKeys +{ + const FString Type = TEXT("type"); + const FString Sources = TEXT("sources"); + const FString SubWidgets = TEXT("subwidgets"); + const FString Name = TEXT("name"); + const FString Content = TEXT("content"); + const FString Key = TEXT("key"); + + const FString ContentType = TEXT("contenttype"); + const FString Source = TEXT("source"); +} + +UENUM(BlueprintType) +enum class EContentSourceType : uint8 +{ + Image, + PDF, + TextFile, + InlineText +}; + +USTRUCT(BlueprintType) +struct FContentSource +{ + GENERATED_BODY() + + UPROPERTY(BlueprintReadOnly) + FString Key; + + UPROPERTY(BlueprintReadOnly) + EContentSourceType ContentType = EContentSourceType::InlineText; + + UPROPERTY(BlueprintReadOnly) + FString Source; +}; + +UCLASS(BlueprintType) +class TABLE_API UContentWidgetData : public UObject +{ + GENERATED_BODY() + +public: + UPROPERTY(BlueprintReadOnly) + FString WidgetType; + + UPROPERTY(BlueprintReadOnly) + TArray DataSources; + + UPROPERTY(BlueprintReadOnly) + TArray SubWidgetNames; + + UPROPERTY(BlueprintReadOnly) + TArray SubWidgets; +}; + + + diff --git a/Table/Source/Table/Table.Build.cs b/Table/Source/Table/Table.Build.cs new file mode 100644 index 0000000..6d91b4c --- /dev/null +++ b/Table/Source/Table/Table.Build.cs @@ -0,0 +1,36 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System.IO; +using UnrealBuildTool; + + +public class Table : ModuleRules +{ + public Table(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[] { "Core", + "CoreUObject", + "Engine", + "InputCore", + "EnhancedInput", + "Sockets", + "Networking", + "UMG" , + "Json", + "JsonUtilities", + "ImageWrapper" + }); + + PrivateDependencyModuleNames.AddRange(new string[] { }); + + // Uncomment if you are using Slate UI + // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); + + // Uncomment if you are using online features + // PrivateDependencyModuleNames.Add("OnlineSubsystem"); + + // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true + } +} diff --git a/Table/Source/Table/Table.cpp b/Table/Source/Table/Table.cpp new file mode 100644 index 0000000..94eff7c --- /dev/null +++ b/Table/Source/Table/Table.cpp @@ -0,0 +1,6 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "Table.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, Table, "Table" ); diff --git a/Table/Source/Table/Table.h b/Table/Source/Table/Table.h new file mode 100644 index 0000000..677c8e2 --- /dev/null +++ b/Table/Source/Table/Table.h @@ -0,0 +1,6 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + diff --git a/Table/Source/TableEditor.Target.cs b/Table/Source/TableEditor.Target.cs new file mode 100644 index 0000000..14b5747 --- /dev/null +++ b/Table/Source/TableEditor.Target.cs @@ -0,0 +1,15 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class TableEditorTarget : TargetRules +{ + public TableEditorTarget( TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V6; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7; + ExtraModuleNames.Add("Table"); + } +} diff --git a/Table/Table.uproject b/Table/Table.uproject new file mode 100644 index 0000000..d0f330c --- /dev/null +++ b/Table/Table.uproject @@ -0,0 +1,32 @@ +{ + "FileVersion": 3, + "EngineAssociation": "5.7", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "Table", + "Type": "Runtime", + "LoadingPhase": "Default", + "AdditionalDependencies": [ + "Engine", + "UMG", + "CoreUObject" + ] + } + ], + "Plugins": [ + { + "Name": "ModelingToolsEditorMode", + "Enabled": true + }, + { + "Name": "VisualStudioTools", + "Enabled": true, + "SupportedTargetPlatforms": [ + "Win64" + ], + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/product/362651520df94e4fa65492dbcba44ae2" + } + ] +} \ No newline at end of file diff --git a/charuco_A4.png b/charuco_A4.png new file mode 100644 index 0000000000000000000000000000000000000000..32363c9b54972bef727073036d88afc2f6983b7c GIT binary patch literal 62884 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 literal 0 HcmV?d00001

v3P^(7T!9r2{AcAQk&EU^*0x4!XcsSItw^$?iids;n3TwY?OR z=Aha*MVzPs`|mdLgt{}Q!p~40#Lo?dNvxHq>@A+So^G#cQWJa1IrBJ{Y*BqfpTjII z*=uW)bdYn|qlP-4v4xV`U_{IuAz+I+kajsODcEj=-8jj$nYJ>AI!L$E|MYSqycf|QrZgj7?quK(D_NM*dBfh{A6x;gPah$DV{TSn1VE*jWDyQpYu5_*zm;Z z;6>=3qjxldRNzHupPBk(pvf@bLU*8o_Mxw_I%RGgt$wSrgnTGENAHjXwIFO!^2y)O z_7OqXV0B90&;?OJha(u$@JZev_KiccVh~dU6Lw&NjuCRG_`cNU8k32Ya+bvp^l)L; zr5dC4IR+U(XG4=fL-r{Lkw8zQ+tUFvb{K-_5OT<$srvSz<1p;0p3#D;pyM#@DOMC~ zBX=-@VxZBmgd}SNjfMMyq0!JcRBqscUg583v}I~jj8Xc8p(_xsXtkwgwrq&OQ#XKS zLimclAy=EVgBrAs;7Fw{JtJNFW9MrS4RjO&F2;sA^d`uN05gHA%Nf!5jLP% zf-s;55W+B!Y4F8Wzp%A({$%0!`y1gmyek4M2A?1nBjp`yIC-X|C5AaBGPSe&aEZ(F zIv2*{6rY~?2MYPgHbK<#!8d4sggFFzXn*)hXd7r;NVgISUXH(fL0iye*)NHsZ|73R zl(H1Ew6c_JnADim=z~~;7=xJj@b}OHkj#N$UpC9`B#(@c13_Qp^2p<{M&S#gF(FgF zQ+$Emxmxn(dqX`J(odZlFqrjj9T!0Jk~`l025v?PpglE!wKLwWx$dM_GTGs;9a97E zd3Vmo9;8=UQv?1rcg|MeX7toR_L6t&HMo-#*ry6?DY$bsIv3i|0*@wtyxYCt-I@fp zgn~PQN1F!waDqnz9Pf&Nj}r&ptpQsTz<#B7&H-Q*8hEJIse!JV2iI$xu8j^|)+ei~ zRKa5Ku65VOI(Ro_X`E!yr;WGC@CpT7A=BXe&~VJNyUxJ4f25a=r4?S(V z^h=h;J*?08#56`O7ZzLuxjZ&FGXxwvier6sHTr~$%Jy@>Y8C6VR#Drt))8)x4KuJg zvpDt@O^KvMQ)5K9yllT2Y@P(GlfYh*8Y2#14>Y^8R`iCs&C)t&w6e@Llru}muJ&|a z)y)avJjbIeEnc?(RbICzu*r9Eazns_v*qjNM3ov?HQ4A@VYb%RVYbHak7z4rqhO+& zxSp6kL9I2{N}a-KNoXML+2B%=;6kLNzv}wvP5seg@O?(NwBA?zw_}ZrDqw>?FFD9T zsJnxS4xv675}?vPyBs(p{Oz`89tP?I4$c(#=WH=v_W(nE>>3tdp7wag}&~~(|IV~y{BIj{zN(%T;U74)y z!;<>L3B3^AoapV$^7acly#-H!GS?7sTQH>W;6owywZVDe#{7=H%0jwdjpC z*$q9kkPj}f5f9i12W%t)HX;ER5QNS?ks|aKWcLHbZ6NsJJ_uc~Vx?Dk# zZXyZk!U^euC6rJ*_-KT{1yrGSBw!;Zun`jIPIqI?e{+JmGke)vV1e41Prc)R1*4AOLA}~U$M7mReW^Zu}td{KbF&ixSh>-Ee zh*ORRx{D7MEMmlcmFhf=0XA^#O@bnLN2EIWdG;pRF<7_IZ}&`wB&?aMjkCLx>wnZA{fFd6 z&MNk=KPGVDSvMzp6L9THX?qhZw}0@sVs2(&1}T_*!q39b!Oq9`FD&i9R2@48gCS1H=R^C5uU?i*s znDF->l%xL>Jo^u6;QxaM{-^hU`26pQgB|~q(JXG_X7Nvt|H}esc$m6-JA;=7Tm@zV z3o!3i#ns%x)#e`>?!Vo@N(~QZXK;DWe^wZrhysyS>mPC>511*z&Bf2c$Hv9O51z54 z*1wGZCUO3Y^!}fd{GTAfoSgq8YWXifutDOuV=x=K)YAtdYm(FfT;TVRcuY)cT>nxo zvMhfpU$iL-R(wbp2d$NuD-t^g zpa?;dgw}o*fr=i2#*BH}GavWPUvcEfj34d=b-Yi=geMHkX~=e%Ml5q94`W#U&k9#m713 zt`p|);n{3*VV{B%xMa}b)xNlM8k6_teJ_Ovk_WYZml=e@bDzB0Z_*(p_3-$#jPjYW zVifetXB&^QA|kJnF3SAHYEcm~zhnFQ&iDP}PnV%y(jS0_riX|B)XPGN4N| zyuWr9-`=eoLCDg5UviV?;Wk?8yvONnhC+Xu=yZO0tG7ykX+{4Yo1V%HdP{WjhNCBh zqqjJo6#d)JPPHvWb|OrsIwc(N(*FmZ3Kl&^eV|fv87-B;~*cnlyZF{bDoU?;r-<6O2OaKIph7$7+T>fEMFR zcMTI#Yxl=TPyuUOz5O7T22usaa&F80+cW39zQ;EC=Z3KGo-*IGqiY!_6~BPKIvE2U z3))Y<)9{_nv~4()=5+>&pQy9O|D-yT9w$gCbD&{=ue3NT>?M#^e+J+TW=yX60#%F?RdVn zc%h-dildBHh1SegyjH3=>JJ?;yd$K$P`H)js12Em0TH62$T`kt-F3!wq~ELH2l3;o zC7BtSS%Cg&$-PDn0Iy82N&S*^~G2|pp!Vs6O^~u%&5f; zeduR5Hf8u*2VNEJeEoe}qE`}hP%IemuL!v4_3 zGPBV7sI-wm_Ft~h`o)y(In^o6)W&SbIqaz`TDV1<>UkM`gKJ*hYqOIZ2AIfIf4=DF z=^HftN%%fk;nL#_O}cK1UEl0|^Cl>bNUDfS+UN5POE*+zmT_?QmqD=Z*KXAFF_R5> zR6U93g33HdU_S50}85e<`^{0MtSQx3nS%hWyb5;yHA6!H2CnR<_ zynRYZ)u<2rh&3!9DeWG3+WHIycC`7rox+MF-@j;-rD8a?s=@FXY;c@)pYY5mScbi| zL*S)%Oh5Pf!Iqe*ef)XH=wq805PIz7=Ob&VgGahkF&aJcA+V&F^byFby|$j{NB-RV zSw9wjYS3?@Un(tRs1m!6PjSRlKU!fm>3G*PYuXaKPf{JBkxcB4UJi z+GHA$jUvO|t)nk#YeeT}6T^Pz*J;5Dl|5!GxY_|DFxuAdBzMkbO=x&~9ClzQn)tAu1Z)t?7ULAm2g?lx0aY!n{0=$QHN|NRolV;J5KA^%O@t6h6j!c4E?~c}zul0cLx$s7W$C9sh%zBlV3)WTb*3e|@yboSW z-X>V&Z~DO5-4LCVY=mv=UhinNj)V7IS{`_oc1h12He!9NT3q0+8n%XOZUxVoHzHBb znH%??mh_%cmh_xmb15MijW*-I7AP|eykdldFf zhC>6-4G)MMzzrW5B7%(&x=O8Dg7qq`8~6{?u4vIcxpNC4P)TL#EuD}<1c_qJYTLI;?vxu(`dC=Ti0~j^{9MFs$0FJ93@YUEfRaHv&^D zdvwbJTV;KNZkiub1O;q%rY-4aV@ z=sQ@%K!HW@bfp0hFIQ)JN0_)ir|m=yRm}8nP$A(q=Ao>-_4tjA73jxsRFdnqpk(A-v*mJ$o z6{(TBNsC9E(>a0B8G+FysZqTGCUM3@GrsFLKS7f1VNCnB+e>@D4yF2rTW)%uQJzeL zC77pK~-Z{g~2UtA4QCrYf=a$lN$e;y*PG-538de=L_SCUMAO#+FE|qC5 zc)-6r&0ZNtDrd#kK(UmJSJ?=V7@_p;f1lr-F@RVLrkN}gAgP~ckjpsm63AB8NyyI7 zTSRAZ2Cqr>rJeaARaxShDFO?K;DmJe($zN`l{HyL23`cuy=4BJB~Mt}^(^D+hezt< zQ7w!?d-b|z$N26%F+Hkp8EhFK-NCctD2YpMQ70cOb%m73uw~@f^`%ru010De*R#zp zhpoNEmZfFjvcAJ3bJB)sX4A1HpP_yJ+L=;)uY~a6X6_be2&0zYJ|mNcZQ}csTe9_Ji`H86eDdeqByr$&4e5D|WQWR3eNsLX}xAp*~70Qr#r)6FEF+vm_p3gme z8_UzzSw5F-k-Y1>eBHnX4u>d9Af*NRcxK ztT(vO#4r?6w@h8)FfcGIahwNCw=Xl>^gjs?5HuJ(1-gnrGPl^Zl61<8?b!4TpFz-2 z7>w6}-y(4G>9IlBM2&C?eYK**u3<=;+@+7q$l(L+Dy+zo?+^=vRDfVV8UV2?9k$ZGQ7o zE7f8PVUCFZ8Mh)~ZeN(R;DHD0j%VABbbBTK_exyKOYEEleiNp<T66^q9=Gd7mt4E?p!^GPOcRE+ix?i)z|)&t+kN-#ORe?RP@wTF3?58Bp1%7- zP`^~_%bV2k^uwR1sm%R5yvdA9r0I;Vv&8kLr2a!_21GYo(Z8_;Ee+F z7}0u+-L`sk7LzpN5*oy6v&1=U?%EBD9#rCYMK^XS2b|FeV5ipZMnzu;jNFi@#G}HwIrEaHO=KawD4NNZm+V9# zJ4!3Xjd6m6=rdVI3StV&G|u)|hT$i)sNqy!{{6BN{sBKh?RY;cRx5Yib>8c$a?9Y> zC)`x($>rd_1FJZ<;r+|3S-G!{?HcR?W87`_-Ygw!?we)!J#8B7SN6xzj~@B6HkW_q zkGsG8ZsrzZ&RkpG`to~6pijG@T8p7d)hY}z@pzKDrDoriWGVSc36&JuY(~DKF)3aq z)pfYe3)>8dK>m!!C2Uphj3@a~-ZSyJxTteh?#0P)jEL1U5hRLvH)#x!S?e#O<2~oc zfnTVV*@72l^HFlyPS^J8Ef9AZu!a*wlj|RrJlSiqm>^Ue%~@_~oxx?gKah2MQ%?+I z=;FPC9`|sXxglLWgaXYrTCU`P*wJ9^At(1cjHl09uMD5J`XI)xns#{3BB;*Z0(H}b zQygZDfGN`DUEWl`B@w^kE2i0yeBZPCp{SOt+t)-9COKfdDA&w&&4VxOvjIZS*Zmf) z*CIwyvZsQc0Bt9Z6t4cbTXSOgqog`=b9jCn7LGLPU23Q?a=xF5eSFEt()(!J$D_vZ zs$*ZWA_W_gzx8ZNolEYS# z!%vc7(8=^^;@BIq*f)|KQ;pdp>(p` z?&>k{WyK;SWgMwVe@ZU+LnTONebc*+p4v-Ncjh)T4Ai*CXze=5ZOOBi^cWeFpH<7E zYK}#B{&d_z@M+a@;iLU#F)Cxd+8-!f!KlX(c=MUr#qf&-rU4eR)t6hUy$ovF>)T}w z7Ru@;@(cb=0q>dUDdLp9NN5|2uIW}R9*%^UEZk97@^?@wqe6ES~ zEx8{nqso-W)p~-F#6;<2`ANt>n}Ugs8a)&H8u2{5_e*WA%wkqdhHyN@SiK`N;5s&Hl*i@rb+S{b*iVe^mzX1(4G?ioE80&W z6N}Om423yC^P0{{$3jLDvD^Imab)t11KUPDoQvQ)SD9GGU;^!X0xga#7K#lexe~At zfqhz0@6`T9`=#PubS`|}s1U6Pt#DhZC;J=cyS$Ir%b)v(Q-f2hIl+0sIhEp;5;6tR z#I3Y%d|d+mX6?-W5pmO%tl>oxkjIMFh7faqx{Wz>e2b(r2AL%moe1R!8nmC9jox+wz22* z1BrHa?kZwRjnq0q*I)m&VBuD{*U|luSGo13dwoomeFpvDy0mD7J;6P}R@})}oJrA{ z-9e~cyx%}btsPhW$kSHL<%9KV6D~-*j`+itUBZnpA{VqP@)~1eT#6W!5x6ANmC&}< z_-wd|KF(IO@j7I@h)ZX;uAL(j|3EwE4>b3`0lAKSiW{+)s}8HIIvZ~s`a}LmaBzGf z>s2*u2nB3-c*a={%FTqYvAF<7f(_^W)#H^$ zx=e#ALvbM^p}~H-^u1E8gcY|$Z@f%ZeZq8eC!(kS`|(%C2Bz7Bc}cgTGMo+Lotlia zpFa8*PgGSaOhql?aeeYr&#fKTzQjhT^h6)k(g#`0Z@t1>3fck;^l5PV2(6+LMP;Q7 z;1Pk+KH*3#f&WV>#z1)bgM>((F zc%ev0;(gz@j~`k+Qs;k`fef1E@_XH&aj1VF#8^9~WisH;X3UyWnfXu`WV^I7!wDg!%>;J>|ae)|`!lk-sSx2Wdga!DO;)(x@yINAm_Xr5nf5 zJ+fo8edWqlbGyb!^j8Umk-7P4hpC%+jbt36zEs|coF5Ff#G-Bd1F5_-PUjc!7EiLU z^mmjf4O9+w35^b(c44e>F@=hM)%<-PE59<*7IO2{*HfC2&H5R*`||A*fVUFE4(7yl z2?Qg_ul;^{64uHghRsa|cw-x!KmQCa(TA1+7y&vMHg*x*6OJT0I2eXqa!ruP_1q83O2ArKfxkfE<(-J-CJrzzWabf0+#Ofx<|UlO#=jqKZiW>Y zIz8P@#%W`)LX6(OD-popkqu)aOJJv~Lr%g+qeLNadl?0EGj5x3bj36`#wr%&^LO7J zf+?SG0(AkO=cHvCldb&1NH;O6Dpw43X8G#cOw7|va(AVMShf5S`%+;D2c~l zWv=gq_wy5S=iu07#U}-=ZsvKYD+jibPRSIM`33NtU8w@S%Ii%5_5eG*^-^tffS%p@ zy|Ue(Xl=>3CWnQ_=07M^7{!0geM*`hhMg@J&H&O**-Bx6uac#mF&Qgqx5{batDKA+ zzCKgh3nTf#18QF79n;SNi&@JJ(GHT*ranu>WR;bp)>IhRDS@X1S&Lb_{Q!+;fcHRF!*6IrnGTq+wJwA|YXA!=E_siWVPz~%MyCAq zL#zz9WsC`Uryv4eb%N^TX8UW$+gv5R6t9;1jV;2cuU|u~pHH`c-ADf3IEwYA9OEkx zTap0#^twT#~%4aD_LYMkXmKI5tLSr zhRATqa1=IC1S3?U+eAzhPfSVb%5ZSTBj##v+FaU@$W0o$6$W}D91jWLOhrD*)jtNX z?v6VlTUG01X9yR9<30zosxo51QkH2xMQ+lY5e4?v zh_F8gL$StJb{rI&NnqiQmfRt-37-q(eK-JDakdN^2`0 zj+|5&(3*P)p&H;F9(};#$vAjvpyhQsVDpPYm8{NP=!~S=h*;V!i|GPeGg>4+B`vx( zrhJ`?g75l5Ws|ki8JVQ>_XZbBdrBAPYhSgMCuXfcTSu(1C0%O8yc^otB&m7Oz=Sfz zvZ?12E?a}f)FQK$$LG3Ui-xj@V*53v7&qtLn2@gym`dJE5Esyy+a9#0#Tsteas&&7@7Zg8{8UU#JSj=%Be@atZ3IU9gABXKa+*N}*8n7@q4C~~I#N+B!eSS@$OKw>Y)ytAks)M|EBDtJT-wG2`_YBWECW(DE}gT zz<9M;oqih>wOK7RJN}&Bc(ig;Nj^Q4CqR8?9M4#wJ}+OO zCfl(Y9*IFi8Ayr_czy{lt*NP|WDXNEbv~ztXqi%KXMX)m(8|-n*^xZ4W1p3+|HB}? z$wKpGq8BaMca?L*G0>c3t1^++T{m1wlSV1{;$qCN#N#>cUJUL)`8?t@FD^xsk_6r5 z`%Fo@u$(}6PPnfx>9@ZQ=FXnSx*U8R$@Z&LvvL~^y$JlqTfbbf!(d5~zSKM2$GZ{MmrDaY z;T&OYxk6*T_?3{`;2uJmi`DC4e{SHZqI$Bw3vKrKH+|+x9OP1bGimPT7S=+OT4GO{F(fil55SqE~MA)J4dASp8zLb}Tr zLJqS|S@0)4bm2}kY(7dExm{cm8V6AZ=r*Y~UqY>Tj2v{e9Fq%$@^@1)@dGzWS{uC|Fus$Zxs#Vt-8rUPi*v(2%dU0|p~L z-ov2=*Q~ss<%`K+iuYZ`^D3XDH=VkniNBSIf(P zhUEmAS`|J|0jLY<^EK>M_#H}lH)KQh9u%wFUGAyT76Dob5btf;=}8TXsKjZd47+b4 zbXIP^KT1V)1&!%>t?8$c-j$t5^gXUvX$J{Owded^r5^mJI!*g4ag>TS8b%y1e6QNQ zttQw9#8+dRO6V*%)?7W;lkdW#MOc#we^<;;8+6&PrUy?8I-$a+Xy@MO z4Jw_4!yMK2qJ(Z4cItnn-G`k&Lu2o_XQRLf$x0gy~dZ)eq<24qvx9Z)YaZgEL9^3fgh-yO!ooS}|nX;TK zjD?uz*d>FYi=Y9^7=xU**bOxnfhWBZ$$gWr9 zWrRt-j@rUkeB>i*LzYyZHI1Sod3x+_PMk!c9}|-Ac+{5nC_^YbUBngv^2-oi>5|?B zAN09NjNg_|G}m!OINzHEr?uCJx0~BmxKx-*kFHK$s`)tDt^24H!V_eUHv$fC+QW+< zb6ZPI9yWg2prJ4!~m2N;1wJqJJvFH?E!=5>|e6#w+JoY1G zlTx`P^>d+y+izm4D3p6(m}_u;liJ6)_4tLihRQN$&ajQ!ycLeS=3NV@g!Ve%;rycR zf_M2d9V11qs9Q;0ifjBT3&kfKv4wO9gmi|)YHtn=uA1y8QT;Pe2cK4nM?4`QLnHVM zgvS=_GZsE(zEus-@>Z#Je4Ey82Z|iSpV0zYH^0kh%!+U+FjT8Ll&ib^bik^#qlD72w@QG7Iz>?@vD{^lg_wEf2SGA z#;@v%XSX(>=bHeBHs$Gh1I^BgO*8n8g~HNl{dL7&G9|)bd1i3TQ;Md1;B*fr1}{Q7 zVhU@GG6VoeAR|!q9yb%TWaD53lRU*Pr=T2efFY@wM53N#=>u87J@&(Z_Hv7$!vpNs-D!`*g7xJxk|xZr$2sZsh^wyijrDW z()Ve~eJ;a0PSq?MyN+u|qTfZd)`X~H)DBZVhbMu`UTSei_HkG{)g|NB0h=Zvlfkmc1TUdHC55i!~c>BhBY>>3qsTw(4Q7++G zDK`eWz{sfnz^JyEryN-9OXxM$)lvfr30 zI?E8H^LfM)^m~_?MPphi0d-~ftLmfEs@|A^`N`dKv(r0EN9K=jFGmI*NwP%ja-6Hq zXGd=Jah7P7ah6_9>f?1N=;24)C#Vg);7ofbloyKh=8V{o7A0S-7*#zH6-cs|mVd;= zc3SiOw)b$?g`0?HsVr2Z*0(w{a1ds_fgu zBDn1m{8>q!4zNl-qg&t@CfEQ`#d zuZo2BIP;-i_(Jap(2^>+Di!^ENOqdo#@k_dP*`2C0jzspUR@#4p%LwAvafON))712 z+l%<+mSul8YOW-I1OuVUA2}7(jkrxc>n%5KpS|?tZrCieXrp}D#$0_we2~+2XmupV zVU_KD;x5nb^}{GLa|ZTGDPjD~%e^YU=IMa?Z(b_`3~;njf`TRRgfi)m1~*q|ke&L^ z_-IEtud*V>65`YcDn{0u z2@}?O|XiULFB3vx?>-9^NwhYa3F~*x^*_uID)3EhCq=p zY_|W=hj}*5w>K}%oQi#}L*?_1mxc&*P-I}RthnyYwlc-RBrL6E@W*%Z?I)2_#a8Nq z__srgk1?2@+;6|0GDFlfIj6nP(iob_keC$>c|x|~Vt;i4ds-v^C@-hc+<;$}m~8CS z6P@cZ^vFanZu?_QDg?@{r(2BfZ?nGehK?*RRGvoS&Y^1tlg<#1Id zBH4qfSx2y4S1*uOxequvvhJzy%(bkHHZ$MTfZKwy_ZJE1Z86AnNn=h8cMWkC*OODY zcJ+D<+ZH|JBGRzvq70N!cg=<;bj=cha4i|{(sChg7+?q*ZIO-8@$MowLr#lY_ZoeH z!;jhKB7tPhU*e4TG(Tdnu?(JULQFHwgoaW+@BdEx<)LfDDR&6n?D2Q@vETsGH)XR=)hmK1>}JouovIB5h{FBz5n6=u1aXZsy)`@$-Z3nc+kN6T)sg z&iD2(OQ)}ldmH_J@mUv7On=7miw|gY#%eI+zs0E1X8;QA?z5#8YQua2Z_xz>6vDM~JWkULn>26t zs$*WySosP}HW`>d9rJFYO-_p4eOd04V%cW~~%1*^o}S$UA0`oH`+>bLt+yRtUj z!|Eu`Y{>H-(`0TRz)_wR{h7Mp&HRh3#5}`~eZq_vj*8G?NcjXeF0MA4imrY=+K_T2 zF?3o&GSu{+d)#I5pTq$<04)VO^~Ejc*8FJos%Xr1@V|Z8vI3*E0Zdgzo(GP?4($l z`JFG6Ewp_6JvAXnDL3DmkuIj0Su%O791oqY6cr6!efC-P;IbQh+{P>BYd+5NqNWH| zoZk9}iA_aN} zWV&0vbKY7pxvv#&uVo+V==V_2F@H426_cOP)iA*?%Iz#{5Mm`B3+A&d7|OAD;XUM- zYCrhpNn;bk3qp2MZr#}rJNADFIi+6GT8Nc2`C~m~p?FPmjLAyhcl`tg6dSrXRf>|P zU^QMuqpYUC$xwQ6F}b>jc5JV)cG5Nv1Tsz9D&Nu*)A^b!(b~H=zu+d^@j6p=2(-d}^qYBEsL(y#rGB5uEkz*X%)KJe(8*7ff@}+-vMqVo zvy9;?b7%KBaBWbeQ4&v<&IpMJhD_$7(d1AikFp?E!LwF)4%~*UqgZMM7b_ z^jYRQF6@=A2m~@OlC?RHgXsg>8p=@^^X!#x_d<2=uX?aC)pqDC#pgf@W4oerJ_1YW zl#sDKao6-X{UdTDZr8Hx&%3gG`9I6zA;~oLIzY6no0WVk%0xI!tNGO=7~BPZRY4bxaAF)3o+07h0Ida`eETTPE6Tk zTi*BekvYg%(~QIo?kR=c3xh(WWQcq=h{s?z+}hD4z;LA^VHLH)JM)b0qfV!wkF(GK7S7CGh**0c@*W-#>bC zvpSnOP%Ot5&?{3pqqBowLnFTgDn&6@CY&nMeq`N2_JCIGS^Ynlz`d%<;%g?!>2z?;}Ak7e+|7frHm3QWj z4Egd}!g#7B3CAJb?Nj~8?gjT;F~3)z+U}OF_2JNfG3BO{{_*_7%gny{mkf6_SImkp z99|bp#3an~6;Fr^1)b6Dc~G zginP!3&ff>`uX03sS^6=b>>zt+0$n(R|6%mi>lh5a>k#kD2p9~!bdpk&HbAjPS zw(DWkKN4HD|1e0SAPSB(ex75`L($uM={vuw{?H83@Liw{U^WkxML?~EI@~HqdW2@l z@b;5IwYcPCnd%mQeQTIoX{VOmRfQ?%s(cKel$Ju8y{1znhuYa@TXTcyYM@|%Z~ ze8pPzTOPYnMh*LwyOno}ub7aPbAEoID1pS~qqJlEHLY;ES#UyA9$1T-sap`Xg^d8p z<8aHOh*y-XB`JmEjJ3}ffF@MgR&y$C|EwP zsfzFQy^GZj4h}Tko`O0%FGFF7mOx(`)fSlxxbNN(uR8t;Iu~qqyc;K&d-fK6PlU0t zDb!*so=VYDU7?y?Xf^xebHxWtjQ4=n?*KF8CWvEYz>7704b;Jv)S^Y5QAldP7)SK= z-f0Jy{rC3SGnLf-V?=BeS!Pk#lW<)8I$Mq{q$ovy)6Zl_-E@0!mdCGI?j@R4oxCIy2aTRTXS z7fo_!*L>z5Z4U9Y;2rLy34AP+v8C3^~mdOg56>&CTYW5=?-`?T?E$loAPoEn}Z_G zK90pzV3|1sydta^cfFFbd&E~fFXshRpKTPe-l}}#)}O=P$TZ+m{cih8*E?TCwGR&N zUlI(2?w^jAUzux;AEpQ^cN!k}!k50A0tC3IEM2Zasx`-#+ zMfyc4!^%|s;Zh<1w*|sCRE_c__@@TF_>iI;=tl_--U;0%pKUokQ~PfEI~y@9;LbI7 zt$8&9U9t4%!afl`htJ7{0O9uaHD|0@XZVVi%=k8PV$MS@4JMwS$&rTjj#Dzj-cRKa z26FM^TW{E#z(sFzGncx4TC&S1zkW&)B{k7^5Q32rGV6e;GA)LJ;8aDVl}d~d-Gd3Q zBt~BaDxBtD**Tu|6ljhufLWD!s`P7BEr(7@Jo1_>%`cFfaXwj8ET*6_T$z>CRQDiUI z3QgEqB}pi==U#=B!uVzH3lxqe>H>+rLxod?zY1$Q1QQ%9_mi$3D~Io|3%urOiRYfH z@((-YX1ck|#M&)QwNHz2CHO-cR$TDWiLNAwy&0q6GQO;~maZ`tFLWFt zJfB~k19}R19~Ge=J>t>JOPf%R`L2g#Mmt)UxyD`p%?miG`0`cw3tb`mSCeryXTM*U zhi$(I3421A#vVRh2DY1$ah<&y*mpLRC)!ZHyfu}St91G5FlFCbyJ^R{)L^D95!^Xu z7B;n1j!&Q-Ec+Wd`@GF_4&E`@Dy;21SBwp99+gU347G!bEO6(t-I7dH(y=ShTz%Wo zX}!*w^&sslDCA13fl%4a*w9K96`r0erg$+0RC1Gwd!>bdIpnOh=lL_&5hAbsYJ7Kr>=`+`%#DE9SuD#rzdB@z#l2L$&pkY@ z*0Y;R3WA?>td8qDShLxs#oq~V#uL`NI*(-+wa%_`a9lpxVOLB2Nb_zSOJm+IiA5rH zvl(XCrj~LSoV=<0tg*-FrfkCkS`ptGjPkgxU)MF4c>&(D%wgP!jvWrb;ms}xn{G@= zN$MV*KR%{I^-1oAFz9YcQiPe33BI6HyqERU`^JibaLcH*>6CvC=he`+^&YiGc1OGh zE(xDzn7E}yD?E8X!#l8?&$;{8mySe9we-P(@x{`q@75$r*Zv6K#yf7;xJHgAs)#)O z#BA>+xHzgZoQJ9(<0=^eMErs*PHRnmEE~ecO_a$FkUKIgD1W$s)+htD`o= zeF`5J^^;o7f7YL9q|3o<)-EcchpN+|DtF84`POqjO&?WJkJ|%G?8#rhSFh1ez9D;5 z^EgC{4@d{QGY_*D!2~;u2c+$By`zLv*6PRM>;#5qiM57b_E_Ly^7@z zVf&rrRNJZP3E;a}tI11k1U`^mwNB}>rz~N)2d*!ZX5D$+HmnmiZ*dXceWHwWIINPY zTjpHr$p#l)$KTE^44c(7=EY)@I&u;PpudOj`o?ZaDNbWLC^B1*E}xtMs6)l~rWO5h znU(AQwLY0wl@7R4&W0p10;9Tk`Hq-Nb9SVRWntMu221P|X(t;;csF-syo1a87r8i1 z1FY=l1Bh4=VGYYID|s=Vqt(ebpLo>I%=(<~G=hhA1)b6*Q)o<4NrO&Jzex7Xe*bFQ zIimmZ1p#MV|!;aUz$4|A9_WeLAK3AGv0o5rSHHstI ze$6jQ@xA>d)Xjlw%(juTZ|R$t%od88b<_p0LC@@Y>HZqw9h`mATc_jwa&C7o)s}%> z-mh!%zPH^Pm?C?6F!ugxsAl6gWRw_pYqUSw6ZDk82Wx9gB@p9G28Us8z80U?*8ODj z&jjes)M3}Tz+pmvbx4C_Y_=pBiPqC#OKXq ze@uzzLoLl%l^@E5N8CTK+>f1Mk&^CNPgxbF608}~p$RWN@r$lEGEnNL<--Y`&7c!>$;X+pgg(Yi*9xaWfa&Ap-NFCF+NhnxLx3NiadM zXQ9$qw%LEKh-Uf2r1Kxk@&8_k|L4N|KNSc>|5PAQF|)8YQLoXBWNXF=;Nsx~nV_j0QJK?aZ@pGKX(&--0BNHgKDQvY}cil6y+n}ghh zL0y9Vk9t8079f{Hki{_9bO z4rXou7dNN|kOwjs;P(z2$a9zl!1McNK*vC$8=PFA3~{is{wpSsjUuQexIt0>$E%zi zpewjQ2CkrNfCM=}b^f)(4!RrW-#7O6A#P9wzlQ)Q{J$;)-5KDIVE>Ne@ABE$xd5PX z2f9&qR(1dz$e$b3`XKR$f5rA!A?%=0%*_0IoN~zc zgY3ocwEk~oFIaf~Q@`N9$zDj2SWyIH@PIz136s4B?;|QJHfH#(djY3Nq>N3HeT=(4 zf*|*+bZJp~(E`WyUA)^|I@pW{BHjU%*KzolSxrLwq%|)~0i$n%9M>2|WqMo*1$jxn zBKD;?<}JJ#mk>5Rf`I{sdWsqrzbasDs@C3mzyQh$!wGl??^Wz8{q14$7=C=Reg|0M zwjclIsqQmDR3^v397BXC*YOKQd;T3Q_kLTEgqoU~Ojo-9KHo`;%VR0xS1+CEKTG3UaAC$LrfXUVWfx#=?7BJHM{lo_ME9J)dBYdS`{WK#mhi4?GXgn3DyAP z5LoU=xJt^%dqS-cV?V_l<9wx1_q{Y%YCA2KRn~82#c=`$Ht#o#m%KAxSY3}dE^Y3o znDj=jVcu2?A^$n2|CX8f$Bh14$K+pXDgRKp`0vx&|61hY5AR1%H~3GHi{D*9`9Ee` z?%%`mU*X98%PjG?+wA{~St2)R4F6{zsq}*NP*GcYJ74jxv*)r(WS39HpRO-HBx)&2 zqNvPBMrQ};JtPB#1YLlH^TPlzHZkPZ&c9nMquk!C>elT7IR)H zDaZayzUBMq)pPD!v*Mcf+HTvvz`4`7j5Z1wKRCCc58wN5 zso=f*!j5ew63a&!v&h`ajvI z_rh`s1E(3HQtfqJmXqj_AWQ_ow^}8H)K7VJ5{(1WB ztcnx9`VErg8qCzCTGM+GuJ8({YZchngDKNqY8Wj2cw`()&ILO<1-nCguUVEa0il}I13AQn z+J=DdCISx4566sdc$&euVQMv54bH1K?HMl#cC%^$1HSr6Xk5@)a=rwb$0Jr;JV&g? zeahzafr)`#&F@{Qw)ykf(4@!VOKiFO#o(gF`uq>kpIL-1lsE{b{A*ww*zenKAy0b-tIn7TMDx=XnQcOrM zf=OmT36p7RiIH*J!hC@yVu(ih5=M6aF>EL;6l+uzJH?n|4wk>THs$)^lVOV>+VO>Kyc|Yu6J}bSZ((_*@I7TV~u*$vqj)pw$686Gi9# zmEx5b(8IBxp&zaBrwD4U`B=9lK z!2W{)?TYvsKt=qiZXCdc%pg9fT`a)d=Zys$U|E4IL>S{7W2$$;cq;MckN4y*hkL|U z72h$N#5dj_HkcJ)QC9tN>(`qbzz(a#xemp!I$?cg5t&6mvUIS?mByGMJV7N0-%N)g zoGvauycOE7NdhZ-b76%U;l2xm=jXiwy)Iw<`C7s*b2lHG%xY{~%oYaTR${lgZ#UjuF&hCk^rCFQ z`2z;OvDN+3|-IYX*F^>_sCOSX~G%uaTRAVM_#OgMZ}VG`SRdd3{^6 z6NjL5bd*@F70#{kqtIW`=`YWNE%;&R^2~5LQg5h=R;HTRp z4gDXBDpgI>du>~?gHcS2C$z_03n#Sn>dPmzBO0KmBkD_8BkKCjR#!`|5pzlXAJ8jl zqf#ieRa#omv-MVWm}J~4YV`EC9X?e!HbMAP{vu(Hk5~|+3d|ooe>1L_CqAL>4nns! zK99CNB;-!hLGfNzDY^^JW1KmDJD@m5%o!cKgHhyFdG4MAy7&tTVAKn2gFcwHj~=^h zWM^C3Lyy)#afN;p3nryFFm1E&pY`&;Z|`~9g&lZWK#%6SFInC6KZe{sEe%7;pwc?harJbhIpHg7||V_92%#IZN1?paoh6S~(b81tX8Q$O?1HoVR~+HLcva;1QT z)<^To(>PsS&5U1DjDv9{ltFqcKytFFX79cXYR|Ft7a~R0?f3Ba`EcwTt{Ol5E}CmW zkq)`Y;{HjdJD^m>9ucMkVCS9i?g?k(r?_4R1sQJ+(5r`vyMI7O{QH#cRkvnuTR z)^^Iv-PWi*vzm0RylSsa!#+M0yTV%0>3+Ep<@}bhuk{oBrQND%o6u^H=Ud0_6XR$C zW1p6}JlzlN4;3kn>WLHIm>R4jD~3hsbqpmsT#f0zl5881?e-y)(^8r-i%Jc%;7ccKC-j-0cH8Yv6d{UmNh|^-DqYPUMVFO=D2lrayA2?TdZ8i zFA1QNgD2jbSBx(tcBgyP=@%CFLJM^%= zwIiSR!NRuTcI~8FHzkqTh>S*#D%Ro*DZH)9JQ6~hPWpFI_Oe`n{=~>VBAb##y}lzdow1LPr~&Gjl7{(3*?Jsu z;Y8^^B07Ch>jBkM5(%oBS@5aV*5yKobUG>=zvPn(!QPjHpAILxvLSDL^k0 zLoxMKgc*?B#R%%qpX*4K&bZOBu8=LVQ6PsfqRbjH#(8)Fq2s z)dT$qu5Lp90+wn>?n|7y1@|a8_tSx~s_5K=u&RLiJCVi=`rGqsOGHkW*@F0bujF%Z zN7#s&2UNr4odadV^qm7{Rq>!BN5j;16ZG<-qiv5XP|sEp*%w==`v$1@jKMYOUIWE< z$hQ!g4b;<(!Uyez>H!ID2jzi;x?!1zEWiycF9g2H4{@7bE3)eYi1)a@_pf#li5($24%oiv?F(Y-eU1y4yneC1K-ZOs^~rfhY`+f%gGA3MMEy(`oj{ti0bd}EU&Q)M zA!t$Pq0N0V!rc~_FJk9_$RpnECW$X*XZJgx+Da76Vfj7dBWOeTcu0S5z%Opl?R!t| z3)MN8doY4>$?S{!Waa_pU(B>kf;5%tC`6Rcw2ADI)DaAGf#VB{yaoG+_IL^Di;BD{ z^GNm@-V2m?hE<%xzO>+%H|R3BK=1`e9=WLI7B%Q1CCH!HM&(z`9W3++5R4l%z30|1 zn%IPGlgsT*^av3Q>)cd(BtY8c@Pbs_q!9=#z2p@Lw77rRkxZ@qhD*Y6DjS`qY10j=6%6M?jC0da>a z9_YD~r59L&#fqDsd}NWgai9;3K+-Ru4Snx6xBOe^-38POzQP9mBgIKv-SO*t<7K!u-HAS}gBW=F2Ov?|tVz{h8mF_$hWd9eusY<+0 zvz{%k*uN?X<|a-lv8#nuh>LZua`gz(J3TQiFC@=3nl&jfrOdest(RgI5!zXKh4fXTzPWIS^a&?qe$RS2t{ zJrJxa1u-tq{a|s>q%mPNkY+fIVvK8a*%rVRxL+*pa>37ZxJSxe391gER&fkeUCGQ( zA+3S=Mjp2S59Z7uG9J_rKV?rY>21$72C<)oVB*-Wz zub^>=xG%xZ=;IWF^p_C7rd_lj_Sd+LiH#_!t|G7~w2Q?tDk377(}3zbrrZ-lvzp;2 zg)m4QHVoq?pE(OAfb%)^Fk>&b=a5%;OGb`W6*u#X!0qkl$Qy;GLb zM3O4#g_f$-hw)Xf?FC;mmX)m0z@gjDzZnvA)i2|tHSb$U<0SD7-gQ~Zl5r@JmN}Dm z++U1G}SS&VsRy-hYrDUZt9d`=pPf8hMWqIy;RhLuR2`hj?lIsx)16x8^LeZB*O|)A*b43JclHN!qIzqtw1Hw22bzp~Z?q z0!n92ku>fSS!5Z##!D!85xS#4!@#@__}NMmiTpa(lvL=+9EE_?;+m8-GrK5CwC3It z1HDmYNk8(1DIyFaDMTpdtjHMl6-W{J^!-qYgLzY1#Iiq#OUYZf^p%#H5V^t%h$=cS zoH)1W)=nXAZI)d4Wj74y%@oJ%?21wucB*S^S53)4DxK@M=N^=YuNVRIBVQ0^L)&zx z$kOo>1V8j|#FqW^Sor}+rDxKR!`TGRh|R~Di`09BdBN7`kG@yZBL8MA`Tj$nVP-gC z&+Ceq!2I2{Wt`Vd_StxYr&0W;sGZ$2m}6Mi#zu&`sBwL%L+-Bc)# z!u5kGW>m;)Y0+aO?arNlZ+v?@D%`Lx9))juxKf1Y^)&-QJ zXlv8^76ph(_sOw*HCN!CJw=LPK;QPI0~LP@hhj}71ybp9Nxx{^XR8m$EBG|s}SdBi`DaY6-W|L z%~vuyLND7$rJC-(;yZ<_MPy7GU#=>vnnmO+Gw4G~6%Op8K4F13maiPLN`;!@y&*ov_=dwMRi!MkA=S^TWrg-?S2-Py%slkT)8!`*eGn%qqfxx0Y;unz ze?BFnBMgt87%cgzx4fe@1=IX)g0-cTKgy|RGr&HVa3Ev2hu;_#NV^^6a)E3=+mM5Zb1t_(OGZ?^Relc zz`&5KK;`@xd~(4mJ#vx{nYp*ON8?4H&Q5zl0hP~BEnHNOy7%xyBbdkS%D^TV{`c(%Nu<&FNq2laAgrpQMAG)zZEGyd( z#j^^BUVt9;>PxphqS9!N12eo^(Z#o(&A00o_a%f1j@LKwXOV5XENR=IyvmBBC6^a- z5Zoy@v*}Ar>n0W#XN?fwZhaXIS^H!u0E1twv6qaD?PsG|agB5sv6{7*CwsuanoOuf~beqDn8Rj9pu!bkt zg;GMLO}LmV(!do$jP^NC&Wz%lcoK?;=%g@SMlTG`4~BCen)kK|%~^6^E@S;5(o2X6 zP+fp*EOR0eEa(*BBj4K#B>A#jgDbUoluQgE>tn2)1?xUJ*{e!v}Yb#pjAmj-uE!Y8O- z^>fQCU@8e4QU(Tu+>+EVGe86sh~{SAcf1hNHYq+9)-x2Y6dwe^(24|+DH$drLQ6@q zejuQ^fbzle59kMk^ksk4*52c+rQ0&UUPNnD{%XA1mugtI=v!QD)>j(-`l#hw5;S9B z3j3|D{(;+s^@zKe?Q*eIW^?mS-du8M--7vs@1*c`l~HDU#L3m7cU0e3Un`{7TjeQE zL}GnW%X3C$2Jbq(J;98~DuS-3w^1hgsb&c(_Zbj2JJ@LaL6D%}QuJ$;b=K(hBJ83pdO=ol`P%JEU{b#@Ckg6F(^c=XS6sa=Heem zL$2{ZMeHVH&J`^FN)Lgz*VT0Vus&vUoG^+%`&j#PDdrgd#X0D##`PMDi5@x#Okn6M zX6ct`2nra)^v9ZZx=e`!`7K0YVOEd4Ce5m0&A#wBH9AWF`^Zn<@TRoZ#1EGEQ7_XcQ5@Ci?3;j3$jd;lU8gNCPbOJCv4EDJE)lcwqQ{B4$8!e6jGz z*+*=TXaIZvcz7rTW?S7gk}3P}jKe@jA!hgEA@akBs_bs~M6q1do^2U&WrkXEw!=;2 zQ8xHp-`EYj+vo_f%8cI_p>z98P(M{e-!{GNiGKUHivgYCw!5afz;gSj`d6pBWYk>2 zsj8?!pSmrKfi7gJ$vpZqj^(7e(KXdI%BPP`Cj2Mc-_owPb2iBLrTof=^VC+$KYrB$ z6m~c&Sgju6@*JY`c_URY#I>}Z6Zw$W6&v2p#b(s(LE3-X{CF}5@4UykH2O-{Sxm+% zSlM(s@St)Fym3)v{yIc$Q9XkzyI--`RF&tW?<%SA5?D+hx&1IK$l(10rysdn4jC%Z zb-;_wo)aIl9qJ*#he~MO?BvJNz-@~$kL@k?DDn4u_~CYCeVXJfSu6QyT>pR|wQbg2 z1llU&g|Op0q#VJ~A}C&Ku}*7grl(w})RhiqYVWH8dUu8Fni|^u`Rh{oCU)(?b&vZa zxD@-P76*c1B$-VG%eUw>n} zE^S~u`Ux$9+I6^_RSV_nRz93DdI#sD+(z~8(mBDETD6AKk@&-t0DifgLiO|k2L7#n z|JUS|BHC_w`pkPXZ<$j8cZVE@!N^E?oiq_Knce%ox(PNTLF&QEY{7D)-m#mYwyoJk z1pnotliUE2B)=g|%<3MvRMU_`F=^^U?Zo0#iEiPIAw;w*>6F{DBWOi2r21yC z5su%g7bI`FArAGjwe`-|bU41X73?rvufTdXqf_tgsXJPKnwOLM#B$xYSexbJSE2EB zM{pP(`s$i~AP9GbI}I?A``M)k%F{dSi>xvu745eHeNIaC0~WsFG^JFip|mNgHVwBc z5oh(3!K824to+Yg**S%GE{KaCneSIO+_SVxk5sOqZvvhcXH5IQz>?I0)Rnk>Mk83u%4am8h zZLfqp1TCTV1XD%iS*#6b@D$FaaIle6w-)#+yP21@*S39{UeHIm2Ol5c`9f_LKWyDt zlCk1*uIX8d^jxmnVQ7>kUyMI~ICS$%NQ{D*qcn^D(Q=2PyYiVey zK|}eTF8#<7)qZsLG~xQY2?rz!68Pt!GyRaUDVxYsOqS)XRtWUvDdRAGA05L5wi!2} zx5NuXLP~iq;%28?#B8&t;7D@=4-0RZmQFKWQ;R2V^W)oUVqNu)BKK~@^=Bi;hlDi= z^j6Uv9Mg7W?GfezLWYb3d(UZsk>Ve+w~Ye`MH&=6vS4(95k8iGTg zI;N+U%pK{}JCq%>w9C$#ZrA#^=RL4b1q!EalAbWEIY#7pzl-zA-%{>`Mh=c;6EV2i zK%{Iaj&}XHumk8btw8bYA)=Oq{RjE_V&$4J{{=tbYGt9y&thM<*@hB zub${^F3M_`K#FU^ePPtvAQ`~6CS|GvL238r)3JRacN8gY`#|}Yv~l9*bdcNoZq(N? zx3kn(d3Y zFVUV#N?^#rB=#GK(5}^sdsMh*J8P=w5bp#H90S^xhYT3Ep5!svoR(5jD4Rxn%+zdg zkByNKkgAl9t|Nizi&`Zv?i9=G2X)7@$LI3v8a>I7vI}5F3$7OHAF3N4u4cUwol=J~ zw0SF;T{F6NPPu#2&^%c0jYq2zb%h_Taa%`@SV8X>d{iP~1G+Bs)OP`ljP!)A9<0+^ zhNdQ*PH0Yz0~FX_MZPKzOK5AYDxE6ZAg+Wi#Ik!j*)^HTnt?`IbvR$S>tiz|9=mk^ zC`R@wHMX-Dg^B3QiY4IT@eS-JZWH-G=?a!Vh^v3_75`^qPVB!BbBuqw>--y>;{+M? z{L8xMe?`u*FoXCkHjqsZ$nxj^6`f;b0XgCP=Gy*k-^0NL;P?Z#Vr1oH2e5E5gXk$1 zb`aph#`znb`k&~zKk$wJ!gH|x&2#)FNl5;v<6xClxxj|?0fY3}3jm8P01OGtVIM_G< zAXf7?`1V(c%p`0apd|ds2=e@!&|?FEaeoqe9H0_em^nZ$PyeL9xPPbOUjyU+=3m3c z!t$SFk6yx9WDqk($em{-!?J|T^C^Zn4OVymGqVD*aAG++j!F1oPa|<#<7pRzYKO`A z(50jjN9sUESASTp8hilqfHm@n&o!I}a$yZaWHTq-3hcS{5dpfIv(-Fh*X)9kxkPvK zeee`RceRiEoHMdF)ml5W{mD=F`ERRiQ)^jI0kF0k3CWc6%*;ydZfBL5pW*8X@en!F zz7ticJvDCGxOSQBgfEq8^=|P(b<~l67nP;`pg-%Xmx@sFdiN?`<@a$td+?Xc5In7k zmK}yn0lZRVlDIgJQXod|m+7oBGG0>3qy%MI(T->z*oRtz2HOx9G(BFS?A$VKTK&K` zzUMUjb6)x%pw_=e*FUJQ|6w@(Z{aWQ-}8X-e}%vP=mGy_viJ|jrN7}X4xZn0la;ND znGhVEug-JwG5Mc9=NXSK4n0fQS&CHV=F*0|Unq8p`D`KR%}wZh)Za z%(t|)G_o8b?NWsfA1s~tTDCiQ*$9zE*tK;Ce_VW6t!4(+GXvJ>FL^r3)5+AlDb_^@ z;j+j^e`K8>fKLJq7Mfmno>rqT)Py1ZLYTL%smHT_>m8dx4IUft`J0BTnndwl2)GV- zElyY7(a|?J?<`J25>l}CZ~L?Bf}bkRtUfbANbjC_&d@uh?w^7;t%EP{mTui@8>KnI z2*T_wZaBu>~EV9;kNuPeGX|*k&N4?g~EqKQ4(7p z6-@-N<62v7K{gQrQ8zs{X)CmYdVO9UNL)_Dz0~|syIWe^-K?{}U_-zvJQz61aiH@) z0XyhX!hwa@7=Ge8abxqc%l$&#KVv`$40AM?z&mks@d5Dq7i|MF|Kk%Y<2V#TyV(4B z!yi{2$4_vLc$v&^LW3cF=wnPVMvWj5$P2j&f22>`;mApTd`sVvWAuC~Jz!xjAsY&D z6*n+X2HcCj;y*s~kVS~3#;Ics9Xof0Qe=l$24o}uBxc?ZGxDYB; zqpqb0KM#*Z1Y~>0yxRx>jJ^5tAsA8vBwx9%py-q$I5bD~g5%#s_wYVa9-;QwPkl~5 z%8;gt=zY2;ST~~Q+~n{H?%ZZs32Scp%x2k-W!oj1kBRk5GDV&cW8aYg*@!yU1XsTc zTv)`o6b>}xv!{)HK#js+i0Rw*dGOj6(|NeOd= zX>?FjHD7s?U9^;+Tq(pVEsl;MF!-`e0&}kb!JS3`*5qRVA2Tw1Qo4l+kvScf49FI# zte-G#og;PD%o`fw%Vet!JC0Q(A?9$pIwCB&Qb2QL>|qn*03Y7<$I3oC3amWkOYS2L z+;2*S_pDDsOKf5hVZjiTDRr2(A!sq>zR^eN*w?Dc=31X0(yH#4ad#z#tyxAPMkR{T z1YmE<)E!J%;LK!QtTCFKWqrcvuGHXQbY`q%>*+CR`WcRPk}-U;Ya2MqPPO~#{g}N3 z=#spJ38BHdBL-vnw$aylPofo{Z;VTy=A+P&2wVoJ0lGWUidibhppC!;Zm!3&Zs}7) zv-{Y&QfJqhbQaGDXrpA}PNA;0ysGw#-tQNA{UO8K7_ZBy}uIoDLd;T>>8qH_0U^7i^4v4oG9x8h=KMJ?=BhbQG81AJ3eh#<4Na2 zZxNk1AUbi^63zu6sdNQ^$L<)t3}M_4VK|twHiIL{k#Gg(rN}{(iv9eUCXF;CL4Yd` zO^yWm>^YwThH_oVTLua8V2A{PGKe`D0Rou~q^_@;>6yVlD&``Nj6Q|JxD_5*h8ngU z4h`v5(EYJMWa#c3I~>{~96B`un(iP1NhJcQJRFH%2@2gaW2IG5cU`dLwWEnWm$n~& ze#AyrHa0Oq-Xp@aM~;;=Ud~N~3bz|tdHK!5AIY|ECvG8jZuWHWQj%KdyX;@L=SPG*EOtNmUZB9?B;n8nI5D~g8W8RE_NK0sHw zW2@09x4KkUiVqPIKQ~pqD1Tj%wJ>KHxm85&(C6bi|9Q@i^w|jXm-bMZZ(O zbww7Ux-P2P&%r3Jp{p__>atdVRS*$7q7y!#gP}4h8p>>|;3)42KV+mk?D2(_XeZ_< zQvQ_O^#;C*rF`Z)eQygdah1f|=MW{c)GPzmLp;UI9}ETPvhcE|@>UTQ>C9?pn~XH^ z2270cF!E`1_-#-p_5g?;JcN5mvHXA($-IzQ$vl-jA}_oEaOfp)@-0i4EyIHKZb-Hl zBy-IJ_wQY@OucY??Fg9=r{Sfko1dff162YprSnoZM3KECKFkQnUnK@E5O=I3K0!|0 z59AM|Dakd$37whv_!$+*hG9(cf*^q-F_Di`c*uhw1uGDSiX%2*L@_Y!7Tx2q6g!nB zysQ)$QBP>X9G}y#nKWI86UOR=wat>A(+{~KJYh^`S7h-q5=9_L=KTyCO)thHEtLt~ z3kKH))g!H4A0tpD7z1aZ63AYX7nn1k3bht|SdYk6n9#6^r8>pA5{U~$Pcor;3C>Of zqRXjlxQrI$=AkuCsho(Hlrq0_KBRSfS6B+NfAd1)xW^QT&`MKO+~S;_N=%D^0-B6= zi$1dK(K!%dO~oyK3iFFL*hG3n-P@iAlF!n9CyF|h()>&bgv2tY6$p^flvLbsV<;rv zLRyg*>dS_E=D<4$(~QOhiZOHx0J&4P^t}k&jVR6B7oQGTo}puaIA;UaUI-(XI$j8f zO}QZAt|^zuq|xaS{H*`{07f(72k_lW7|dbkRCw4yXAPV@a9uOT73lknb$s~LL>xDH zcL~M`+VI)tof{$gDX#ZwKL>P#!Ccb#A|r3IJOVPl$9F`z-lO|sA766&Vk2))0BMN2 z(SbCa8!}!Por6?f82())n$4AL2F?@96~s2QRt2ApHlN zf$wvK*?jR8=^W5GXBsat8YUYr*&8N%J)oBljGm$1^1?0|v_X5w+6OxK^bIqO7hL>` z>pjjM0Yrh(*oUO-^bTzL1!3Qz_zp;I`$vEzud&%cl7>x8FO;{gav+KJ1)ad>(*=3t z4bL_OYNx#xkq_0QnnHc?A>C*)hR7ZsWjPF7m z@_{}&d_DEaxulsyoPQovi9|&U3*QBo998@e~DVRb*WNF@5s8 zm?DG?x;4a$_#6Yu4i$7M@LJFf&>2@F?89R_qU|GcI-)=H2^$QU85c2a^BEWLO^S@V zz>vWe^@+OsylHgqK6Pr@Put8MJQH1%X2PxF{G!7|Kly)}yUMVtwr*`66j6~5X-SFQ zYi}t@rKMZCI|Kw2X(^FzR6x2xQc&p>L{X6tDM7_R+~^VYPCVatl(o+H-22@7=k8zI z@r+qxj#}Gyz2ueL(37c{V~$a-h~T6YV!~zqkZl~jXak$UInC)4 zPh%s@ij5hKHEuF{pV*pCt}67b7{=7UjomTM=y0T9WmcaC{(|qcV%t6IH;UMf;>ZWr zmkCU9qxSeenuM3^DL0+5*ID!X?d#JkM`JxMW4T4uy9?uEVnX$b;zB2Fzl68UTfQ#A z#q@XWX|=aapEoCzWr)^IQ02(jDQdJ+afWdrvwOnC7Sme&3Hzn+mR0pRJfY)JpG@mAXc&vnuFL`vw0Z@>-!^!9qc9)LZubm3~E?u60I3 zg~WWBs)vq`gfwSKA-K6j)9@Q}hMuw(&Cc%`&JQO#Gx=UDH;Wiw{a{pZNjjT-K2hNs zm2s5wHEKsi6u)p;ptLnJ|HqOgF$qk$)wEWPaKV6Vsjs)f&8bG*!iUV~KE4k+U##Q6 zA8qZM_ZT!O9lCiX@rzD|2Ae6D?!eN1uERV6>6#e6u%{1YH5UA)FrE??jj>}_vmcSD zB7=tdR(DK)*p2N?Q1q(fx>0>PqK!F%7IQRqHSm!2LjQ#em^8=Kgd+P;Gd{AIwPjM2 zRXNq`acxx1JV}}+bZ)?KW^RCmbfda=-%X6OE~H`q3(ebl(vZr{Xgg$rNA>!`68RNZo!B>UJEhuV}3{yY)TU@ztvRxXr0uE|rtLNeg8N_mvskneFWhWX*Zg$QLg zn{G9(jH-P_Mfgw+kxJ1dS`|Lk{r!QC=zxJT-i9d!O7j?gdVQ6+8E(Zg(X=l*ZbyvQ z%igDq>n;kboo;RvkW_oj5b^fY8~4G-9iwgCwcY%zZ3?v??#E9DTGf;(T6XsI1n{1p z?>ggK8hOv1_(oYHi6y43dwfx0#i6^7@@eAd)>O6r9?g`2xjp*2r`Kv7>hhZPYg({B zB;#x++#dk`NeT7_iD+}-f*xJn=&~~UClc(9Iud1j%VCsS4ozj~~m>_;#bbmxupzy1A7V8e5ZB%PA@1SerfDYAHQQ>&lVP{79B$ zP-tzQ(9ABDc!{Jl8xxyx3zd47OSVMO4Zq=@k_d# z@;6d)C~oSj@DuY2zw!E+>07e9zfpgfD9$4#IfCWe>RbC*Wxn$&e2R6~TWFKh6d=@- zTWjnZ#GWd9mvha=ohuHVZJmRxtdRjXU&JlO(TjLb;Hs?21Oh8n+^z1##M+Na3I{G+ zOfhC}KOvkoSk`}a9T&AY`F@OMg5V)!ocluSoI<_9LVzU6HJ*2>ANxW&!Ro839^-(J z%{6@HNMTWbM90-$k%M-NH^XyBJO-DJHmLD3C&`J}s_J{{?WD)>g{#_;(v`xypSy zTvL^DRkNuMXQ?J9-tT?c*Y!9>Ld(PIyl`tvE4}y*p|YSU$nZ2iz@}5dH~G2cC(Pju zL0%EP679&kwgs|0NilMfs29K3R7ZJQBWXIEONno>8^b5WR$@?U8zZ8!sG!WeueCMb zc=^K`w;owm3vK1mJ9gsDl|u4i&($=$&$YU)U!bziak;UF3+6!}xROPZJZ&12!!0!j zJbHbOWI54!Ejs$^(}|z2jB{0*(9L)Cp9r266nxEsYFl$RD=J;~3mcifKwP6((9E&! zGby!Z?hbh->$}iY)uBe&e@~#a09W62fnQvMNQVpPABY;3sr4L79`(U;RtO((S=y&> zaF*Kjt%9C9l}p;C>miFwsaz8$Eq5nhO&lAwRnLFl+DH*>L#ca)dce>BKyb)I@40=2 zjqaM+q!XHMHhG*xRktH~$>#ixmsUhF1za;iw2iRo?__eA9__g$v)gWAYB=l$Ax38S zVT!Iu1^gV%ZQ6^9?^H_Px}OCDv|9otoL*PUo`_u0l^ zz3LJre_vR5pirxBzgE2DTSaWynCH`8p$R3u?~c)9H#XO7X*qG14@{W7Sw8ZpY`@qg zMumzUL1p+S&nbhPE;`vN-kqx{@E6Wi+oX8zGT(46mVxoCW8i5fijIq`_wIW{>Zlzbv^q`Mj++hOI~`psVK~19baH#w~st%jbcEJI-rO-Tf|B zcTi=2ji1iKHaFk*T}qx+YsS8oL8Ue9&ue0y*tZvZ%b|ge z>)`^Q|I8|7i+|<8);-kN7v2*6Lpl`)?Ve4&txx79uqqknjRUqLC((~5&nI8a@}2e{ z9R4D;?w(=n*0yNt6zFQ(GyCS4)K$Dd!0e97ksVS2v!6^jkIy`q%%bTfy-_j=q#2P| zFQl4XI$wA{{e|&{xvjnCgW{Wzora6Q$DfhdcT)+bSO@dxH6ImI%8OZ89G{U|^@pb% zni&%@5|0Orck@1Z$+wYl#>37*S36wVozI#Bg}I6j>@zPJIXLdCmR_W8xlFNt8#OQYR=+7;_4Aa z1)&jz(l8y1AB$8LKUg`Ro}QE^s~qBykU3stO1tFz$JvD%ohqm#jq(8#m$dZrv<#Uc z_I}I#26!FXF+2BL zX6Ocm@XjEH%`cCqriQ3wCA#FYKLpE!MgiKu%ON3YM(N$!cWDbP*d1`__k$ zg>P-x?6ogv(#KoA8)B|lzxmM{8h=ND(4XBEsYYM8`qLz zc{)1z@ZX{h+jATC$8^`B^7%bOm2QU;Rj(9Q_m}uMO{-Z{7+$hy9t3|>efK-Jk%8!L zDM!W^t~$2GuiUHG@^GHOYVbJQkf?G+_cn&c=;U-V&vU4f6XiybhP-vvV0{HHnKgPGeub$ocUx@{Tm)t;=_gHJK~y5(@D+b42oZlI$)+ z4t4t*@Ad>3m;1(}d5`hCGe~jCIE_)h?l3CqZx(gNl#Ls>)-}`id4`$^W~~~2cXE7{ zB070g-Hy|#T5eHIhJ3QRn7lIVtp73XM8pA&iVJh?<3;N70v;R^ey@ln*EE|4RL`~t zb=EV=9&4Y+CbEB-3+zwSbz;N}@+ftjxwn^5OOxT~j)dj&nmS&u3Q=jrA6eSeEb_54 z3(F3#C+He7_MQq!Iu)undFpCvmeqM?j^$^~)A~}5&ZQGcWBilMSA}c*vQqr)esIpn ziIZ>7tgriHP8EM$2v1^+f0M&kpW{E<5K&0MFw_>C=6 zf9T>u%FD+;zEwHDtfUCj`5-KO`alnDjP_Ut@E%U~>K;<9 z?i$ms-B;ogU{@}6!KgSWQgsP)IwH`lSM!5&Z+T9F@x2-|j>J=4R->I^!S`~{s2$$j z)x~q)`jPs4sN!zvI9n!`Sj8AaK^Lj9P8-)q=^$V4tim)f?N-h9i4Qb1l&u^5yP5YLpMwXJo0wD?LxCtrW2&CgHY#SU-uyhcx=_MF+m6hB?U z1(Wy6c&)knISl2fe6!IKAA8kHuI#>yy&fL6cT2VL#oty98GP&;XR=ck?PU1dTEhd+ za30SUpAOm_>S-WwEjB_+0e)34zr-CWx+GWkuDXWgTHvy|<6ijAH%pvkJnw$8cNZ-W z$2D^ed&S`OfSTdf;SFS?i_kAay)Z-j{_f8mce%P{EW0{nZP`akf5Ce%{m3&I$?kD1` zOW|c4y`(U6kv!3GfRVE2(5Dsc(=_@`6>XfJ=Ei%pdv8`Rix#9~k(}ihZsso>&0lm|^4q~f+BPl@mTu10K;?hKyF~y*KRD?B z%DaUDbWlHOqyBr|Ex$N&pXpj5-Z z0G0!AT6n_0Sf&6K6$t`JBTfPe499NqO#xP|zrX*B#cG>~2*5soYYH$)0k$X%c8mJ! zFSydLf8hb46OKecfgJ#p5}L3@K=o@<00;t% zpsmIJCx9Rn?sv3@spg<-D2n>_*W=`;N4Z&d6(mq=Ezm{DaR?1lPzT&djjoCHntgZt zwvy1NOAlgwZF^fy2t_@aJ2pEtO1pQo)jXS*Fm01P%Ong5XOp^L#q`MIJ^7Ms&f>ph3wd#A2Od?3G?I()@`_dY${>os;J?EnwN zdc-f;g*6V~ft*KbzmndtoWUDqmyi z<9Cc6)*0UakYs*iT>2fM_jj-$pg{jIzW&Expr0IjFfhCBzZ8`szp+WR-eK=kJlA#IcpJ2A%W#BsmV0BxfUwR}A5et_5U4}uCNPvoM zn+yfOZ(Hf33gxe1y5E1hM85+JW1dayZGjP8xBFJsFA^;RB($2&!Qc##4gopVR8uSudAk%Gn z5MZT*uK@waLd=H+T$Qk~V0RFFECGu`%tyfD0lVb(bqQE34si}FV6a5!0oF!@3}hI% z3=oXM{h5G6VUT-9#6AG&LR-X?+w4NXVStCiWr(~6#v*+jm=t+$cq}qLaHOs34qF!y zzi0xe;0Qb8(FmX1B7TJX)mFAfoDHCdkuoCkj_?p7_P1OY?n49u8WHCN0t$I=ctEcS zKQDyBBkT+u2H`KjC*koy0AOz9UH~{Az6Jq@^ff>jiqr%ArSP#tKwAozftC*8YY-@U z2t5+=Y!Co;BlNI1#JV7vAnqKnq9X1MP<$e6O8kfUh!|unkVpW%4)Z?}$bfJe5syLa z1>oorV~Io*!lp!EeE57M93s~N!dm2cNoaUoMH5J%f*|I@!0R;7Bf@(DAcNrb5)FYA z0lyDGWeaF*x7!8q9V2QUgu)?e4|oy)?LKTQsMBzN25%aGcM@QFC_IE13s`;OHib~g z8U-R1;kytT6f^i5Xk?8Cu8Xi0gvKIb3uH+W+{Ym_ND_!ONbo)f6bcAY_d&&j;CBfK zY!Q74gaI3buYtkg5q1Ho7-3TkcryYq7Gw^%42vSc;~c_}AjEmGz^aI`fD0KR!ytPB zkk$~k!U0NU#8?s{wjeAKQIjFSos94o92(xoq9IVWkb2;yBKW$X6+r0WQOL95NQfK@ z;fRP@0TEEhI0AJGVFS>XAZ&o&dTfTp2YBE{>Vd8Xp$DorLPkX1FG%+YJqR==@Uftk zLaYlKC&W1bM=ru&w%+l9%?EB0;rGCLh~5Wuort;*o(vH615joodKJ)(BXSOSg9+ZV zVo=~GCYbL68OR9R_Y9uP0GT^X2AX+zY+=A}LGU^aWWW>PW5H%%F%6#I5IqPeT8O*> zG6bTx0J3d8m$#>dgR_k%rG$i-wu8UT&u3UMEjKrB&Yvyo){j+6uC{KR;OIZOkG;Gt WJiUKD?_w|{KsQdw%d4QFNcmqcd{t%u literal 0 HcmV?d00001 diff --git a/Table/Plugins/VisualStudioTools/Docs/images/configuration_page.png b/Table/Plugins/VisualStudioTools/Docs/images/configuration_page.png new file mode 100644 index 0000000000000000000000000000000000000000..d08556b295cb3b54a9185c57cb3980f6e3ce0509 GIT binary patch literal 87093 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