mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f71c29da58 | |||
| 60c656b45b | |||
| bec8e1f571 | |||
| 20d0cd7ee6 | |||
| 3f37c2ee34 | |||
| 0b24a5ceb2 | |||
| 318a6b5afa | |||
| c80685065e | |||
| cdc589f602 |
@@ -681,5 +681,14 @@
|
|||||||
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/ae11d195bbe41a0f244d7b4d055a0ab89f88e5bb.png",
|
"ReleaseImg": "https://clan.akamai.steamstatic.com/images/32055887/ae11d195bbe41a0f244d7b4d055a0ab89f88e5bb.png",
|
||||||
"ReleaseDate": "1702309893",
|
"ReleaseDate": "1702309893",
|
||||||
"year": "2023"
|
"year": "2023"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BSVersion": "1.34.5",
|
||||||
|
"BSManifest": "7413405154512822201",
|
||||||
|
"OculusBinaryId": "6639053626194360",
|
||||||
|
"ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/4036983137766828694",
|
||||||
|
"ReleaseImg": "https://clan.cloudflare.steamstatic.com/images/32055887/925e60f14c6815f7617fde11a894ed20f54a0846.png",
|
||||||
|
"ReleaseDate": "1707745958",
|
||||||
|
"year": "2024"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -73,5 +73,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"username": "Minescence"
|
"username": "Minescence"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"username": "Finlay"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"username": "mereknom"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "bs-manager",
|
"name": "bs-manager",
|
||||||
"version": "1.4.3",
|
"version": "1.4.4",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "bs-manager",
|
"name": "bs-manager",
|
||||||
"version": "1.4.3",
|
"version": "1.4.4",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "bs-manager",
|
"name": "bs-manager",
|
||||||
"version": "1.4.4",
|
"version": "1.4.5",
|
||||||
"description": "BSManager",
|
"description": "BSManager",
|
||||||
"main": "./dist/main/main.js",
|
"main": "./dist/main/main.js",
|
||||||
"author": {
|
"author": {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import { from } from "rxjs";
|
|||||||
import { SteamLauncherService } from "../services/bs-launcher/steam-launcher.service";
|
import { SteamLauncherService } from "../services/bs-launcher/steam-launcher.service";
|
||||||
import { OculusLauncherService } from "../services/bs-launcher/oculus-launcher.service";
|
import { OculusLauncherService } from "../services/bs-launcher/oculus-launcher.service";
|
||||||
import { SteamService } from "../services/steam.service";
|
import { SteamService } from "../services/steam.service";
|
||||||
|
import log from "electron-log";
|
||||||
import isElevated from "is-elevated";
|
import isElevated from "is-elevated";
|
||||||
|
|
||||||
const ipc = IpcService.getInstance();
|
const ipc = IpcService.getInstance();
|
||||||
@@ -19,9 +20,12 @@ ipc.on<boolean>("bs-launch.need-start-as-admin", (_, reply) => {
|
|||||||
const steam = SteamService.getInstance();
|
const steam = SteamService.getInstance();
|
||||||
reply(from(isElevated().then(elevated => {
|
reply(from(isElevated().then(elevated => {
|
||||||
if(elevated){ return false; }
|
if(elevated){ return false; }
|
||||||
return steam.isElevated();
|
return steam.isElevated().catch(e => {
|
||||||
|
log.error("Error while checking if Steam is running as admin", e);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
})));
|
})));
|
||||||
})
|
});
|
||||||
|
|
||||||
ipc.on<LaunchOption>("create-launch-shortcut", (req, reply) => {
|
ipc.on<LaunchOption>("create-launch-shortcut", (req, reply) => {
|
||||||
const bsLauncher = BSLauncherService.getInstance();
|
const bsLauncher = BSLauncherService.getInstance();
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import { AbstractLauncherService } from "./abstract-launcher.service";
|
|||||||
import { taskRunning } from "../../helpers/os.helpers";
|
import { taskRunning } from "../../helpers/os.helpers";
|
||||||
import { CustomError } from "../../../shared/models/exceptions/custom-error.class";
|
import { CustomError } from "../../../shared/models/exceptions/custom-error.class";
|
||||||
import { InstallationLocationService } from "../installation-location.service";
|
import { InstallationLocationService } from "../installation-location.service";
|
||||||
|
import { ensurePathNotAlreadyExist } from "../../helpers/fs.helpers";
|
||||||
|
|
||||||
export class OculusLauncherService extends AbstractLauncherService implements StoreLauncherInterface {
|
export class OculusLauncherService extends AbstractLauncherService implements StoreLauncherInterface {
|
||||||
|
|
||||||
@@ -86,7 +87,7 @@ export class OculusLauncherService extends AbstractLauncherService implements St
|
|||||||
private async backupOriginalBeatSaber(): Promise<void>{
|
private async backupOriginalBeatSaber(): Promise<void>{
|
||||||
const bsFolder = await this.oculus.getGameFolder(OCULUS_BS_DIR);
|
const bsFolder = await this.oculus.getGameFolder(OCULUS_BS_DIR);
|
||||||
if(!bsFolder){ return; }
|
if(!bsFolder){ return; }
|
||||||
const backupPath = path.join(bsFolder, "..", OCULUS_BS_BACKUP_DIR);
|
const backupPath = await ensurePathNotAlreadyExist(path.join(bsFolder, "..", OCULUS_BS_BACKUP_DIR));
|
||||||
log.info("Backing up original Beat Saber", bsFolder, backupPath);
|
log.info("Backing up original Beat Saber", bsFolder, backupPath);
|
||||||
return rename(bsFolder, backupPath);
|
return rename(bsFolder, backupPath);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,13 +123,16 @@ export class SteamLauncherService extends AbstractLauncherService implements Sto
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
await launchPromise.then(exitCode => {
|
try {
|
||||||
|
const exitCode = await launchPromise;
|
||||||
log.info("BS process exit code", exitCode);
|
log.info("BS process exit code", exitCode);
|
||||||
}).catch(err => {
|
}
|
||||||
|
catch(err: any) {
|
||||||
throw CustomError.fromError(err, BSLaunchError.BS_EXIT_ERROR);
|
throw CustomError.fromError(err, BSLaunchError.BS_EXIT_ERROR);
|
||||||
}).finally(() => {
|
}
|
||||||
this.restoreSteamVR().catch(log.error);
|
finally {
|
||||||
});
|
await this.restoreSteamVR().catch(log.error);
|
||||||
|
}
|
||||||
|
|
||||||
})().then(() => {
|
})().then(() => {
|
||||||
obs.complete();
|
obs.complete();
|
||||||
|
|||||||
@@ -46,6 +46,11 @@ export class SteamService {
|
|||||||
return getProcessPid(SteamService.PROCESS_NAME);
|
return getProcessPid(SteamService.PROCESS_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the Steam process is running as administrator
|
||||||
|
* @throws Can throw an error if the Steam process is running as admin
|
||||||
|
* @returns true if the Steam process is running as administrator
|
||||||
|
*/
|
||||||
public async isElevated(): Promise<boolean>{
|
public async isElevated(): Promise<boolean>{
|
||||||
if(process.platform === "linux"){ return true; }
|
if(process.platform === "linux"){ return true; }
|
||||||
const steamPid = await this.getSteamPid();
|
const steamPid = await this.getSteamPid();
|
||||||
|
|||||||
Reference in New Issue
Block a user