Fix Electron IsGameRunning check

This commit is contained in:
Natsumi
2025-10-31 00:32:08 +11:00
parent 1928767adf
commit b68399ca8a
3 changed files with 5 additions and 13 deletions

View File

@@ -13,17 +13,15 @@ namespace VRCX
} }
/// <summary> /// <summary>
/// Checks if the VRChat game and SteamVR are currently running and updates the browser's JavaScript function $app.updateIsGameRunning with the results. /// for Cef only, checks if VRChat and SteamVR are currently running and updates the browser using JavaScript with the results.
/// </summary> /// </summary>
public override void CheckGameRunning() public override void CheckGameRunning()
{ {
ProcessMonitor.Instance.IsProcessRunning("VRChat");
ProcessMonitor.Instance.IsProcessRunning("vrserver");
} }
public override bool IsGameRunning() public override bool IsGameRunning()
{ {
var processes = Process.GetProcessesByName("VRChat"); var processes = Process.GetProcessesByName("VRChat.exe");
var isGameRunning = processes.Length > 0; var isGameRunning = processes.Length > 0;
foreach (var process in processes) foreach (var process in processes)
process.Dispose(); process.Dispose();
@@ -56,7 +54,7 @@ namespace VRCX
public override int QuitGame() public override int QuitGame()
{ {
var processes = Process.GetProcessesByName("vrchat"); var processes = Process.GetProcessesByName("VRChat.exe");
if (processes.Length == 1) if (processes.Length == 1)
processes[0].Kill(); processes[0].Kill();
foreach (var process in processes) foreach (var process in processes)

View File

@@ -432,13 +432,8 @@ namespace VRCX
if (!success) if (!success)
break; // this fails while SteamVR overlay is open break; // this fails while SteamVR overlay is open
var prox = state.ulButtonPressed & (1UL << ((int)EVRButtonId.k_EButton_ProximitySensor)); // var prox = state.ulButtonPressed & (1UL << ((int)EVRButtonId.k_EButton_ProximitySensor));
var isHmdAfk = prox == 0; // var isHmdAfk = prox == 0;
if (isHmdAfk != IsHmdAfk)
{
IsHmdAfk = isHmdAfk;
Program.AppApiInstance.CheckGameRunning();
}
var headsetErr = ETrackedPropertyError.TrackedProp_Success; var headsetErr = ETrackedPropertyError.TrackedProp_Success;
var headsetBatteryPercentage = system.GetFloatTrackedDeviceProperty(i, ETrackedDeviceProperty.Prop_DeviceBatteryPercentage_Float, ref headsetErr); var headsetBatteryPercentage = system.GetFloatTrackedDeviceProperty(i, ETrackedDeviceProperty.Prop_DeviceBatteryPercentage_Float, ref headsetErr);

View File

@@ -284,7 +284,6 @@ namespace VRCX
logger.Info("Launch Command: {0}", StartupArgs.LaunchArguments.LaunchCommand); logger.Info("Launch Command: {0}", StartupArgs.LaunchArguments.LaunchCommand);
AppApiInstance = new AppApiElectron(); AppApiInstance = new AppApiElectron();
// ProcessMonitor.Instance.Init();
VRCXVRInstance = new VRCXVRElectron(); VRCXVRInstance = new VRCXVRElectron();
VRCXVRInstance.Init(); VRCXVRInstance.Init();