From 8a672502755b5e0ce1b81b08599295add0e638cd Mon Sep 17 00:00:00 2001 From: gpsnmeajp <33391403+gpsnmeajp@users.noreply.github.com> Date: Sun, 13 Jun 2021 13:42:34 +0900 Subject: [PATCH] =?UTF-8?q?HMD=E3=81=8C=E3=81=A4=E3=81=AA=E3=81=8C?= =?UTF-8?q?=E3=81=A3=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=E6=99=82=E3=81=AB?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E3=81=AB=E3=82=A8=E3=83=A9=E3=83=BC=E3=82=92?= =?UTF-8?q?=E5=87=BA=E3=81=99=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E3=80=81requireHmd=E3=81=AE=E6=A1=88=E5=86=85=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E3=80=81requireHmd=E3=81=AE=E3=83=81?= =?UTF-8?q?=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=81?= =?UTF-8?q?64bit=20OS=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vmt_manager/MainWindow.xaml.cs | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/vmt_manager/MainWindow.xaml.cs b/vmt_manager/MainWindow.xaml.cs index f4a9e4d..b5acb8f 100644 --- a/vmt_manager/MainWindow.xaml.cs +++ b/vmt_manager/MainWindow.xaml.cs @@ -1,4 +1,4 @@ -/* +/* MIT License Copyright (c) 2020 gpsnmeajp @@ -107,21 +107,29 @@ private void Window_Loaded(object sender, RoutedEventArgs e) rnd = new Random(); osc = new OSC("127.0.0.1", 39571, 39570, OnBundle, OnMessage); - //タイマー起動 - dispatcherTimer = new DispatcherTimer(); - dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 100); - dispatcherTimer.Tick += new EventHandler(GenericTimer); - dispatcherTimer.Start(); - util = new EasyOpenVRUtil(); if (!util.StartOpenVR()) { //var result = MessageBox.Show("Steam VR not ready. Maybe not ready for HMD or Tracking system.\nStream VRが利用できません。HMDやトラッキングシステムが利用できない状態の可能性があります。", title, MessageBoxButton.OK, MessageBoxImage.Error); - TopErrorMessage("Steam VR not ready. Maybe not ready for HMD or Tracking system.\nStream VRが利用できません。HMDやトラッキングシステムが利用できない状態の可能性があります。"); + TopErrorMessage("Steam VR not ready. Maybe not ready for HMD or Tracking system.\nStream VRが利用できません。HMDやトラッキングシステムが利用できない状態の可能性があります。\n\nPlease set requireHmd to false on SteamVR If you want to use without HMD. (Almost functions will not work.)\nHMDなしで利用したい場合は、SteamVRにてrequireHmdをfalseにして再起動してください。(殆どの機能は利用できません)"); //Close(); + //タイマー起動してはいけない + return; + } + + if (Environment.Is64BitOperatingSystem == false) + { + TopErrorMessage("VMT works 64bit OS only.\n VMTは64bit OSでのみ動作します。"); + //タイマー起動してはいけない return; } + //タイマー起動 + dispatcherTimer = new DispatcherTimer(); + dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 100); + dispatcherTimer.Tick += new EventHandler(GenericTimer); + dispatcherTimer.Start(); + //セーフモードチェック EVRSettingsError eVRSettingsError = EVRSettingsError.None; bool safemode = OpenVR.Settings.GetBool("driver_vmt", OpenVR.k_pch_Driver_BlockedBySafemode_Bool, ref eVRSettingsError); @@ -140,6 +148,14 @@ private void Window_Loaded(object sender, RoutedEventArgs e) TopErrorMessage("VMT has disabled in Steam VR setting.\nPlease enable, and restart SteamVR.\n\nVMTはSteamVR上で無効に設定されています。\n有効にし、SteamVRを再起動してください。"); return; } + //requireHmdチェック + eVRSettingsError = EVRSettingsError.None; + bool requireHmd = OpenVR.Settings.GetBool("steamvr", OpenVR.k_pch_SteamVR_RequireHmd_String, ref eVRSettingsError); + if (eVRSettingsError == EVRSettingsError.None && !requireHmd) + { + //var result = MessageBox.Show("VMT has disabled in Steam VR setting.\nPlease enable, and restart SteamVR.\n\nVMTはSteamVR上で無効に設定されています。\n有効にし、SteamVRを再起動してください。", title, MessageBoxButton.OK, MessageBoxImage.Error); + TopWarningMessage("Manager detected requireHmd is false on SteamVR. Some functions will not work probably.\nSteamVRにてrequireHmdがfalseに設定されています。いくつかの機能は正常に動かない可能性があります。",true); + } //デバッグのためにセーフモードを有効化 //OpenVR.Settings.SetBool(OpenVR.k_pch_SteamVR_Section, OpenVR.k_pch_SteamVR_EnableSafeMode, true,ref eVRSettingsError);