diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager.csproj b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager.csproj index 0ef03ef..44364f7 100644 --- a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager.csproj +++ b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager.csproj @@ -14,6 +14,21 @@ 4 true true + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true AnyCPU @@ -57,6 +72,9 @@ app.manifest + + OpenXR_LogoBug_48px_Nov17.ico + ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll @@ -125,5 +143,20 @@ + + + + + + False + Microsoft .NET Framework 4.7.2 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + \ No newline at end of file diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/OpenXR_LogoBug_48px_Nov17.ico b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/OpenXR_LogoBug_48px_Nov17.ico new file mode 100644 index 0000000..5196b04 Binary files /dev/null and b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/OpenXR_LogoBug_48px_Nov17.ico differ diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Properties/AssemblyInfo.cs b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Properties/AssemblyInfo.cs index 14f30d0..870c3d0 100644 --- a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Properties/AssemblyInfo.cs +++ b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Properties/AssemblyInfo.cs @@ -8,11 +8,11 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("OpenXR-Runtime-Manager")] -[assembly: AssemblyDescription("")] +[assembly: AssemblyDescription("Application to visualize and change the system's current OpenXR runtime")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("OpenXR-Runtime-Manager")] -[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyCopyright("Copyright © 2021 Arthur Brainville (Ybalrid)")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -51,5 +51,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.1.2.0")] +[assembly: AssemblyFileVersion("0.1.2.0")] diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_16px_Nov17.ico b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_16px_Nov17.ico new file mode 100644 index 0000000..ec73a48 Binary files /dev/null and b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_16px_Nov17.ico differ diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_16px_Nov17.png b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_16px_Nov17.png new file mode 100644 index 0000000..4eb8bf3 Binary files /dev/null and b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_16px_Nov17.png differ diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_32px_Nov17.ico b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_32px_Nov17.ico new file mode 100644 index 0000000..ee91472 Binary files /dev/null and b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_32px_Nov17.ico differ diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_32px_Nov17.png b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_32px_Nov17.png new file mode 100644 index 0000000..e81b4de Binary files /dev/null and b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_32px_Nov17.png differ diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_48px_Nov17.ico b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_48px_Nov17.ico new file mode 100644 index 0000000..5196b04 Binary files /dev/null and b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_48px_Nov17.ico differ diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_48px_Nov17.png b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_48px_Nov17.png new file mode 100644 index 0000000..266efb6 Binary files /dev/null and b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/Resources/Icons/OpenXR_LogoBug_48px_Nov17.png differ diff --git a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/RuntimeManager.cs b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/RuntimeManager.cs index 70ebc54..fd2871b 100644 --- a/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/RuntimeManager.cs +++ b/OpenXR-Runtime-Manager/OpenXR-Runtime-Manager/RuntimeManager.cs @@ -10,7 +10,7 @@ namespace OpenXR_Runtime_Manager class RuntimeManager { //TODO make a database of paths to manifest for known OpenXR runtimes that are compatible with MS Windows - string[] WellKnwonOpenXRRuntimeManifestPaths = new string[] + string[] WellKnwonOpenXRRuntimeManifestPaths = { "%ProgramFiles(x86)%\\Steam\\steamapps\\common\\SteamVR\\steamxr_win64.json", "%ProgramFiles%\\Oculus\\Support\\oculus-runtime\\oculus_openxr_32.json", @@ -23,8 +23,8 @@ class RuntimeManager private Runtime _activeRuntime = null; public bool HasActiveRuntime => _activeRuntime != null; - public Runtime ActiveRuntime => _activeRuntime; + public List AvailableRuntimeNames { get @@ -85,9 +85,7 @@ private void Handle32bit(Runtime runtime) private bool GetActiveRuntimeFromRegistry() { - const int OpenXRVersion = 1; - string KhronosOpenXRPath = $@"SOFTWARE\Khronos\OpenXR\{OpenXRVersion}"; - RegistryKey OpenXRV1Key = Registry.LocalMachine.OpenSubKey(KhronosOpenXRPath); + RegistryKey OpenXRV1Key = Registry.LocalMachine.OpenSubKey(GetKhronosOpenXRVersionRegistryKeyPath()); var activeRuntimeManifestPath = (string)OpenXRV1Key?.GetValue("ActiveRuntime"); if (string.IsNullOrEmpty(activeRuntimeManifestPath)) return false; @@ -128,11 +126,7 @@ public bool SetRuntimeAsSystem(string name) { if (_availableRuntimes.TryGetValue(name, out var runtime)) { - - //TODO refactor this - const int OpenXRVersion = 1; - string KhronosOpenXRPath = $@"SOFTWARE\Khronos\OpenXR\{OpenXRVersion}"; - RegistryKey OpenXRV1Key = Registry.LocalMachine.CreateSubKey(KhronosOpenXRPath, true); + RegistryKey OpenXRV1Key = Registry.LocalMachine.CreateSubKey(GetKhronosOpenXRVersionRegistryKeyPath(), true); try { @@ -149,6 +143,11 @@ public bool SetRuntimeAsSystem(string name) return false; } + private static string GetKhronosOpenXRVersionRegistryKeyPath(int OpenXRVersion = 1) + { + return $@"SOFTWARE\Khronos\OpenXR\{OpenXRVersion}"; + } + public RuntimeManager() { GetActiveRuntimeFromRegistry(); diff --git a/ui.gif b/ui.gif index fb3f896..61755f2 100644 Binary files a/ui.gif and b/ui.gif differ