Merge branch 'master' into bugfix/beatmods-connection

This commit is contained in:
Zagrios
2025-02-13 16:09:40 +01:00
29 changed files with 2994 additions and 446 deletions
+5 -5
View File
@@ -1,6 +1,7 @@
import { BsModsManagerService } from "../services/mods/bs-mods-manager.service";
import { IpcService } from "../services/ipc.service";
import { from } from "rxjs";
import { BeatModsApiService } from "main/services/mods/beat-mods-api.service";
const ipc = IpcService.getInstance();
@@ -34,8 +35,7 @@ ipc.on("bs-mods.uninstall-all-mods", (args, reply) => {
reply(modsManager.uninstallAllMods(args));
});
ipc.on("bs-mods.get-mods-grid-status", (_, reply) => {
const modsManager = BsModsManagerService.getInstance();
reply(from(modsManager.getModsGridStatus()));
});
ipc.on("bs-mods.beatmods-up", (_, reply) => {
const beatMods = BeatModsApiService.getInstance();
reply(from(beatMods.isUp()));
})
+5
View File
@@ -9,3 +9,8 @@ ipc.on("linux.verify-proton-folder", (_, reply) => {
reply(of(linuxService.verifyProtonPath()));
});
ipc.on("linux.get-wine-prefix-path", (_, reply) => {
const linuxService = LinuxService.getInstance();
reply(of(linuxService.getWinePrefixPath()));
});
@@ -106,10 +106,10 @@ export class BSLocalVersionService {
const versionFilePath = path.join(bsPath, 'Beat Saber_Data', 'globalgamemanagers');
const folderVersion = await this.getVersionFromGlobalGameManagerFile(versionFilePath);
folderVersion.path = bsPath;
if(!folderVersion){ return null; }
folderVersion.path = bsPath;
if(options?.steam || options?.oculus){
return {...folderVersion, ...options};
}
@@ -19,7 +19,6 @@ import crypto from "crypto";
import { BsmZipExtractor } from "main/models/bsm-zip-extractor.class";
import { BsmShellLog, bsmSpawn } from "main/helpers/os.helpers";
import { BbmFullMod, BbmModVersion, ExternalMod } from "../../../shared/models/mods/mod.interface";
import { ModsGridStatus } from "shared/models/mods/mod-ipc.model";
export class BsModsManagerService {
private static instance: BsModsManagerService;
@@ -565,24 +564,6 @@ export class BsModsManagerService {
.finally(() => obs.complete());
});
}
public async getModsGridStatus(): Promise<ModsGridStatus> {
if (process.platform === "linux") {
const wineprefix = this.linuxService.getWinePrefixPath();
if (!wineprefix) {
log.error("Could not find BSManager WINEPREFIX path");
return ModsGridStatus.NO_WINEPREFIX;
}
}
const beatModsUp = await this.beatModsApi.isUp();
if (!beatModsUp) {
return ModsGridStatus.BEATMODS_DOWN;
}
return ModsGridStatus.OK;
}
}
const enum ModsInstallFolder {