diff --git a/assets/jsons/bs-versions.json b/assets/jsons/bs-versions.json index 7ef77153..ff01381d 100644 --- a/assets/jsons/bs-versions.json +++ b/assets/jsons/bs-versions.json @@ -840,5 +840,14 @@ "ReleaseImg": "https://clan.fastly.steamstatic.com/images/32055887/648716b53c17412cd269567ce67d3867514b6acd.png", "ReleaseDate": "1740672033", "year": "2025" + }, + { + "BSVersion": "1.40.4", + "BSManifest": "3323243802033113443", + "OculusBinaryId": "8889412401158460", + "ReleaseURL": "https://steamcommunity.com/games/620980/announcements/detail/510702041542166484", + "ReleaseImg": "https://clan.fastly.steamstatic.com/images/32055887/c27dac7f96e53672d020d97838cec1d5d28e3180.png", + "ReleaseDate": "1743515622", + "year": "2025" } ] \ No newline at end of file diff --git a/src/main/services/additional-content/maps/local-maps-manager.service.ts b/src/main/services/additional-content/maps/local-maps-manager.service.ts index 4a9c196c..4a4f31e9 100644 --- a/src/main/services/additional-content/maps/local-maps-manager.service.ts +++ b/src/main/services/additional-content/maps/local-maps-manager.service.ts @@ -369,10 +369,12 @@ export class LocalMapsManagerService { for (const folder of mapsFolders) { log.info(">", folder); - const regex = new RegExp(`^${escapeRegExp(folder)}\\/`); + const entriesNames = isRoot + ? null + : [ new RegExp(`^${escapeRegExp(folder)}\\/`) ]; const exported = await zip.extract(destination, { - entriesNames: [regex], + entriesNames, abortToken: abortController }); diff --git a/src/main/services/linux.service.ts b/src/main/services/linux.service.ts index 5f12896a..7f92bed4 100644 --- a/src/main/services/linux.service.ts +++ b/src/main/services/linux.service.ts @@ -129,7 +129,12 @@ export class LinuxService { return fs.pathExistsSync(protonPath) && fs.pathExistsSync(winePath); } - public getWinePath(): string { + public async getWinePath(): Promise { + if (await this.isNixOS()) { + // Use system wine for nixos + return "wine"; + } + if (!this.staticConfig.has("proton-folder")) { throw new Error("proton-folder variable not set"); } diff --git a/src/main/services/mods/bs-mods-manager.service.ts b/src/main/services/mods/bs-mods-manager.service.ts index 79faa0bb..089fa2df 100644 --- a/src/main/services/mods/bs-mods-manager.service.ts +++ b/src/main/services/mods/bs-mods-manager.service.ts @@ -150,7 +150,7 @@ export class BsModsManagerService { let winePath: string = ""; if (process.platform === "linux") { const { error: winePathError, result: winePathResult } = - tryit(() => this.linuxService.getWinePath()); + await tryit(async () => this.linuxService.getWinePath()); if (winePathError) { log.error(winePathError); return false;