diff --git a/assets/jsons/translations/de.json b/assets/jsons/translations/de.json index fe55c561..cf5b5493 100644 --- a/assets/jsons/translations/de.json +++ b/assets/jsons/translations/de.json @@ -385,16 +385,20 @@ "BS_ALREADY_RUNNING": "Beat Saber läuft bereits", "EXE_NOT_FINDED": "Dateien Fehlen", "EXIT": "Abrupter Stop", - "OCULUS_LIB_NOT_FOUND": "Oculus-Bibliothek nicht gefunden" + "OCULUS_LIB_NOT_FOUND": "Oculus-Bibliothek nicht gefunden", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Original Oculus-Version nicht gefunden" }, "msg": { "UNKNOWN_ERROR": "Ein unbekannter Fehler ist aufgetreten.", "STEAM_NOT_RUNNING": "Steam muss laufen, um Beat Saber zu starten.", "OCULUS_NOT_RUNNING": "Oculus muss ausgeführt werden, um Beat Saber zu starten.", - "BS_ALREADY_RUNNING": "Schließe Beat Saber, bevor Du es erneut startest.", - "EXE_NOT_FINDED": "Einige Dateien scheinen zu fehlen, versuche die Dateien zu überprüfen.", - "EXIT": "Beat Saber stoppte abrupt, versuche die Dateien zu überprüfen.", - "OCULUS_LIB_NOT_FOUND": "Überprüfe, ob die Oculus-Anwendung korrekt installiert ist und dass die Bibliotheken in Oculus richtig definiert sind." + "BS_ALREADY_RUNNING": "Schließe Beat Saber, bevor du es erneut startest.", + "EXE_NOT_FINDED": "Einige Dateien scheinen zu fehlen. Versuche, die Dateien zu überprüfen.", + "EXIT": "Beat Saber stoppte abrupt. Versuche, die Dateien zu überprüfen.", + "OCULUS_LIB_NOT_FOUND": "Überprüfe, ob die Oculus-Anwendung korrekt installiert ist und dass die Bibliotheken in Oculus richtig definiert sind.", + "PROTON_NOT_SET": "Stellen Sie den Proton-Pfad in den Einstellungen ein.", + "PROTON_NOT_FOUND": "Stellen Sie den Proton-Pfad in den Einstellungen ein.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber muss vor dem Öffnen über die Oculus-App installiert werden." }, "actions": { "STEAM_NOT_RUNNING": "Starte Steam" @@ -707,8 +711,8 @@ "original-version-backup-oculus": { "title": "Achtung", "body": { - "must-be-installed-once": "Sie müssen Beat Saber mindestens einmal aus dem Oculus Store installiert haben, sonst könnte sich Beat Saber nach dem Start automatisch schließen.", - "will-backup": "Um diese Version zu starten, wird der ursprüngliche Installationsordner von Beat Saber in Ihrer Oculus-Bibliothek umbenannt und beim Schließen von Beat Saber automatisch wiederhergestellt." + "must-be-installed-once": "Sie müssen Beat Saber aus dem Oculus Store auf diesem Gerät installiert haben, andernfalls wird Beat Saber nach dem Start automatisch geschlossen.", + "will-backup": "Um diese Version zu starten, wird der ursprüngliche Installationsordner von Beat Saber in deiner Oculus-Bibliothek umbenannt und beim Schließen von Beat Saber automatisch wiederhergestellt." }, "not-remind-me": "Nicht mehr erinnern", "understood": "Verstanden" diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json index d7cc55ad..4fe502f0 100644 --- a/assets/jsons/translations/en.json +++ b/assets/jsons/translations/en.json @@ -385,7 +385,8 @@ "BS_ALREADY_RUNNING": "Beat Saber already running", "EXE_NOT_FINDED": "Missing files", "EXIT": "Abrupt stop", - "OCULUS_LIB_NOT_FOUND": "Oculus library not found" + "OCULUS_LIB_NOT_FOUND": "Oculus library not found", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Original Oculus version not found" }, "msg": { "UNKNOWN_ERROR": "An unknown error has occurred.", @@ -394,7 +395,10 @@ "BS_ALREADY_RUNNING": "Close BeatSaber before launching it again.", "EXE_NOT_FINDED": "Some files seem to be missing, try to verify the files.", "EXIT": "BeatSaber stopped abruptly, tries to check the files.", - "OCULUS_LIB_NOT_FOUND": "Check that the Oculus application is properly installed, and that the libraries are correctly defined in Oculus." + "OCULUS_LIB_NOT_FOUND": "Check that the Oculus application is properly installed, and that the libraries are correctly defined in Oculus.", + "PROTON_NOT_SET": "Set the Proton path in settings.", + "PROTON_NOT_FOUND": "Set the Proton path in settings.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber must be installed from the Oculus app before opening." }, "actions": { "STEAM_NOT_RUNNING": "Launch Steam" @@ -707,7 +711,7 @@ "original-version-backup-oculus": { "title": "Warning", "body": { - "must-be-installed-once": "You must have installed Beat Saber at least once from the Oculus Store, otherwise Beat Saber might automatically close after launching.", + "must-be-installed-once": "You must have Beat Saber installed from the Oculus Store on this device, otherwise Beat Saber might automatically close after launching.", "will-backup": "To launch this version, the original installation folder of Beat Saber located in your Oculus library will be renamed and will be automatically restored when Beat Saber is closed." }, "not-remind-me": "Do not remind me", diff --git a/assets/jsons/translations/es.json b/assets/jsons/translations/es.json index aac255da..bf1af874 100644 --- a/assets/jsons/translations/es.json +++ b/assets/jsons/translations/es.json @@ -385,7 +385,8 @@ "BS_ALREADY_RUNNING": "Beat Saber ya está en marcha", "EXE_NOT_FINDED": "Archivos no encontrados", "EXIT": "Parada abrupta", - "OCULUS_LIB_NOT_FOUND": "Librería Oculus no encontrada" + "OCULUS_LIB_NOT_FOUND": "Librería Oculus no encontrada", + "ORIGINAL_OCULUS_NOT_INSTALLED": "No se encontró la versión original de Oculus" }, "msg": { "UNKNOWN_ERROR": "Se ha producido un error desconocido.", @@ -394,7 +395,10 @@ "BS_ALREADY_RUNNING": "Cierra Beat Saber antes de volver a iniciarlo.", "EXE_NOT_FINDED": "Parece que faltan algunos archivos, intenta verificar los archivos.", "EXIT": "Beat Saber se detuvo abruptamente, trata de verificar los archivos.", - "OCULUS_LIB_NOT_FOUND": "Verifica que la aplicación Oculus esté correctamente instalada y que las librerías estén bien definidas en Oculus." + "OCULUS_LIB_NOT_FOUND": "Verifica que la aplicación Oculus esté correctamente instalada y que las librerías estén bien definidas en Oculus.", + "PROTON_NOT_SET": "Establece la ruta de Proton en la configuración.", + "PROTON_NOT_FOUND": "Establece la ruta de Proton en la configuración.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber debe instalarse desde la aplicación de Oculus antes de abrirlo." }, "actions": { "STEAM_NOT_RUNNING": "Iniciar Steam" @@ -707,7 +711,7 @@ "original-version-backup-oculus": { "title": "Atención", "body": { - "must-be-installed-once": "Debes haber instalado Beat Saber al menos una vez desde la Oculus Store, de lo contrario, Beat Saber podría cerrarse automáticamente después de iniciar.", + "must-be-installed-once": "Debes tener Beat Saber instalado desde la tienda de Oculus en este dispositivo, de lo contrario, Beat Saber se cerrará automáticamente después de iniciarse.", "will-backup": "Para lanzar esta versión, la carpeta de instalación original de Beat Saber ubicada en tu biblioteca de Oculus será renombrada y se restaurará automáticamente al cerrar Beat Saber." }, "not-remind-me": "No volver a recordármelo", diff --git a/assets/jsons/translations/fr.json b/assets/jsons/translations/fr.json index 22935a54..14a6df8c 100644 --- a/assets/jsons/translations/fr.json +++ b/assets/jsons/translations/fr.json @@ -385,7 +385,8 @@ "BS_ALREADY_RUNNING": "Beat Saber est déjà lancé", "EXE_NOT_FINDED": "Fichiers manquants", "EXIT": "Arrêt brutal", - "OCULUS_LIB_NOT_FOUND": "Librairie Oculus introuvable" + "OCULUS_LIB_NOT_FOUND": "Librairie Oculus introuvable", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Version originale Oculus non trouvée" }, "msg": { "UNKNOWN_ERROR": "Une erreur inconnue s'est produite.", @@ -394,7 +395,10 @@ "BS_ALREADY_RUNNING": "Ferme Beat Saber avant de le lancer à nouveau.", "EXE_NOT_FINDED": "Quelques fichiers semblent manquants. Essaye de vérifier les fichiers.", "EXIT": "Beat Saber s'est arrêté brusquement, essaye de vérifier les fichiers.", - "OCULUS_LIB_NOT_FOUND": "Vérifie que l'application Oculus est correctement installée, et que les librairies sont bien définies dans Oculus." + "OCULUS_LIB_NOT_FOUND": "Vérifie que l'application Oculus est correctement installée, et que les librairies sont bien définies dans Oculus.", + "PROTON_NOT_SET": "Définissez le chemin de Proton dans les paramètres.", + "PROTON_NOT_FOUND": "Définissez le chemin de Proton dans les paramètres.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber doit être installé depuis l'application Oculus avant de l'ouvrir." }, "actions": { "STEAM_NOT_RUNNING": "Lancer Steam" @@ -689,7 +693,7 @@ }, "create-launch-shortcut": { "title": "Créer un raccourci", - "desc": "Créer un raccourci te permettra de démarrer Beat Saber avec les options choisi sans passé par BSManager.", + "desc": "Créer un raccourci te permettra de démarrer Beat Saber avec les options choisies sans passer par BSManager.", "launch-options": "Options de lancement", "advanced-launch": "Lancement avancé", "valid-btn": "Créer le raccourci" @@ -708,7 +712,7 @@ "original-version-backup-oculus": { "title": "Attention", "body": { - "must-be-installed-once": "Vous devez avoir installé au moins une fois Beat Saber depuis l'Oculus Store, sinon Beat Saber pourrait se fermer automatiquement après son lancement.", + "must-be-installed-once": "Vous devez avoir Beat Saber installé depuis le Oculus Store sur cet appareil, sinon Beat Saber se fermera automatiquement après le lancement.", "will-backup": "Afin de lancer cette version, le dossier d'installation original de Beat Saber se trouvant dans votre bibliothèque Oculus va être renommé et sera automatiquement restauré à l'arrêt de Beat Saber." }, "not-remind-me": "Ne plus me rappeler", diff --git a/assets/jsons/translations/ja.json b/assets/jsons/translations/ja.json index 5a55106c..68fb6b6c 100644 --- a/assets/jsons/translations/ja.json +++ b/assets/jsons/translations/ja.json @@ -385,7 +385,8 @@ "BS_ALREADY_RUNNING": "Beat Saberはすでに起動しています", "EXE_NOT_FINDED": "ファイルが見つかりません", "EXIT": "緊急停止", - "OCULUS_LIB_NOT_FOUND": "Oculusライブラリが見つかりません" + "OCULUS_LIB_NOT_FOUND": "Oculusライブラリが見つかりません", + "ORIGINAL_OCULUS_NOT_INSTALLED": "オリジナルのOculusバージョンが見つかりませんでした" }, "msg": { "UNKNOWN_ERROR": "不明なエラーが発生しました。", @@ -394,7 +395,10 @@ "BS_ALREADY_RUNNING": "再度起動する前にBeatSaberを閉じてください。", "EXE_NOT_FINDED": "いくつかのファイルが見つからないようです。", "EXIT": "BeatSaberが緊急停止したため、ファイルをチェックします。", - "OCULUS_LIB_NOT_FOUND": "Oculusアプリケーションが正しくインストールしていることと、Oculusライブラリが正しく定義されていることを確認してください。" + "OCULUS_LIB_NOT_FOUND": "Oculusアプリケーションが正しくインストールしていることと、Oculusライブラリが正しく定義されていることを確認してください。", + "PROTON_NOT_SET": "設定でProtonのパスを設定してください。", + "PROTON_NOT_FOUND": "設定でProtonのパスを設定してください。", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saberは、開く前にOculusアプリからインストールする必要があります。" }, "actions": { "STEAM_NOT_RUNNING": "Steamを起動" @@ -707,7 +711,7 @@ "original-version-backup-oculus": { "title": "注意", "body": { - "must-be-installed-once": "少なくとも一度はOculus StoreからBeat Saberをインストールしている必要があります。そうしないとBeat Saberは起動後に自動的に終了する可能性があります。", + "must-be-installed-once": "このデバイスにOculusストアからBeat Saberをインストールしておく必要があります。そうしないと、Beat Saberは起動後に自動的に閉じます。", "will-backup": "このバージョンを起動するために、OculusライブラリにあるBeat Saberの元のインストールフォルダは名前が変更され、Beat Saberの終了時に自動的に復元されます。" }, "not-remind-me": "二度と表示しないでください", diff --git a/assets/jsons/translations/ru.json b/assets/jsons/translations/ru.json index 244fdbb8..347feb67 100644 --- a/assets/jsons/translations/ru.json +++ b/assets/jsons/translations/ru.json @@ -385,7 +385,8 @@ "BS_ALREADY_RUNNING": "Beat Saber уде запущен", "EXE_NOT_FINDED": "Отсутствуют файлы", "EXIT": "Вылет", - "OCULUS_LIB_NOT_FOUND": "Библиотека Oculus не найдена" + "OCULUS_LIB_NOT_FOUND": "Библиотека Oculus не найдена", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Оригинальная версия Oculus не найдена" }, "msg": { "UNKNOWN_ERROR": "Возникла неизвестная ошибка.", @@ -394,7 +395,10 @@ "BS_ALREADY_RUNNING": "Закройте Beat Saber, чтобы запустить его.", "EXE_NOT_FINDED": "Некоторые файлы отсутствуют, пробуем их проверить.", "EXIT": "Beat Saber вылетел, пытаемся проверить файлы.", - "OCULUS_LIB_NOT_FOUND": "Проверьте, правильно ли установлено приложение Oculus, и правильно ли определены библиотеки в Oculus." + "OCULUS_LIB_NOT_FOUND": "Проверьте, правильно ли установлено приложение Oculus, и правильно ли определены библиотеки в Oculus.", + "PROTON_NOT_SET": "Установите путь к Proton в настройках.", + "PROTON_NOT_FOUND": "Установите путь к Proton в настройках.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber должен быть установлен из приложения Oculus перед открытием." }, "actions": { "STEAM_NOT_RUNNING": "Запустить Steam" @@ -707,7 +711,7 @@ "original-version-backup-oculus": { "title": "Внимание", "body": { - "must-be-installed-once": "Вы должны были установить Beat Saber хотя бы один раз из Oculus Store, иначе Beat Saber может автоматически закрыться после запуска.", + "must-be-installed-once": "Вы должны установить Beat Saber из магазина Oculus на этом устройстве, в противном случае Beat Saber автоматически закроется после запуска.", "will-backup": "Для запуска этой версии исходная папка установки Beat Saber, находящаяся в вашей библиотеке Oculus, будет переименована и автоматически восстановлена при выходе из Beat Saber." }, "not-remind-me": "Больше не напоминать", diff --git a/assets/jsons/translations/zh-tw.json b/assets/jsons/translations/zh-tw.json index 53ecf7d4..4026a5f4 100644 --- a/assets/jsons/translations/zh-tw.json +++ b/assets/jsons/translations/zh-tw.json @@ -385,7 +385,8 @@ "BS_ALREADY_RUNNING": "Beat Saber 已在運行", "EXE_NOT_FINDED": "缺少文件", "EXIT": "突然停止", - "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 庫" + "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 庫", + "ORIGINAL_OCULUS_NOT_INSTALLED": "找不到原始Oculus版本" }, "msg": { "UNKNOWN_ERROR": "發生未知錯誤。", @@ -394,7 +395,10 @@ "BS_ALREADY_RUNNING": "再次啟動前請關閉 BeatSaber。", "EXE_NOT_FINDED": "某些文件似乎遺失了,嘗試驗證文件。", "EXIT": "BeatSaber 突然停止,請檢查文件。", - "OCULUS_LIB_NOT_FOUND": "檢查 Oculus 應用是否正確安裝,以及庫是否在 Oculus 中正確定義。" + "OCULUS_LIB_NOT_FOUND": "檢查 Oculus 應用是否正確安裝,以及庫是否在 Oculus 中正確定義。", + "PROTON_NOT_SET": "在設定中設置Proton路徑。", + "PROTON_NOT_FOUND": "在設定中設置Proton路徑。", + "ORIGINAL_OCULUS_NOT_INSTALLED": "在打開之前,必須從Oculus應用程式安裝Beat Saber。" }, "actions": { "STEAM_NOT_RUNNING": "啟動 Steam" @@ -707,7 +711,7 @@ "original-version-backup-oculus": { "title": "警告", "body": { - "must-be-installed-once": "你必須至少從 Oculus 商店安裝過一次 BeatSaber,否則 BeatSaber 可能會在啟動後自動關閉。", + "must-be-installed-once": "您必須在此設備上從Oculus商店安裝Beat Saber,否則Beat Saber將在啟動後自動關閉。", "will-backup": "為了啟動這個版本,位於您的Oculus庫中的Beat Saber的原始安裝文件夾將被重新命名,並且在Beat Saber關閉時會自動恢復。" }, "not-remind-me": "不再提醒我", diff --git a/assets/jsons/translations/zh.json b/assets/jsons/translations/zh.json index c8573197..f42fc925 100644 --- a/assets/jsons/translations/zh.json +++ b/assets/jsons/translations/zh.json @@ -385,7 +385,8 @@ "BS_ALREADY_RUNNING": "Beat Saber 已在运行", "EXE_NOT_FINDED": "缺少文件", "EXIT": "突然停止", - "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 库" + "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 库", + "ORIGINAL_OCULUS_NOT_INSTALLED": "未找到原始Oculus版本" }, "msg": { "UNKNOWN_ERROR": "发生未知错误。", @@ -394,7 +395,10 @@ "BS_ALREADY_RUNNING": "再次启动前请关闭 BeatSaber。", "EXE_NOT_FINDED": "某些文件似乎丢失了,尝试验证文件。", "EXIT": "BeatSaber 突然停止,请检查文件。", - "OCULUS_LIB_NOT_FOUND": "检查 Oculus 应用是否正确安装,以及库是否在 Oculus 中正确定义。" + "OCULUS_LIB_NOT_FOUND": "检查 Oculus 应用是否正确安装,以及库是否在 Oculus 中正确定义。", + "PROTON_NOT_SET": "在设置中设置Proton路径。", + "PROTON_NOT_FOUND": "在设置中设置Proton路径。", + "ORIGINAL_OCULUS_NOT_INSTALLED": "在打开之前,必须从Oculus应用程序安装Beat Saber。" }, "actions": { "STEAM_NOT_RUNNING": "启动 Steam" @@ -707,7 +711,7 @@ "original-version-backup-oculus": { "title": "警告", "body": { - "must-be-installed-once": "你必须至少从 Oculus 商店安装过一次 BeatSaber,否则 BeatSaber 可能会在启动后自动关闭。", + "must-be-installed-once": "您必须在此设备上从Oculus商店安装Beat Saber,否则Beat Saber将在启动后自动关闭。", "will-backup": "为了启动这个版本,位于您的Oculus库中的Beat Saber的原始安装文件夹将被重命名,并且在Beat Saber关闭时会自动恢复。" }, "not-remind-me": "不再提醒我", diff --git a/src/main/services/bs-launcher/oculus-launcher.service.ts b/src/main/services/bs-launcher/oculus-launcher.service.ts index 89678809..8de12479 100644 --- a/src/main/services/bs-launcher/oculus-launcher.service.ts +++ b/src/main/services/bs-launcher/oculus-launcher.service.ts @@ -127,6 +127,11 @@ export class OculusLauncherService extends AbstractLauncherService implements St const prepareDowngradedVersion: () => Promise = async () => { + const originalVersionPath = await prepareOriginalVersion().catch(() => null); + if (!originalVersionPath) { + throw CustomError.fromError(new Error("Original Oculus Beat Saber not installed"), BSLaunchError.ORIGINAL_OCULUS_NOT_INSTALLED); + } + const oculusLib = await lastValueFrom(this.oculusLib$.pipe(take(1), timeout(sToMs(30)), catchError(() => of(null)))); if(!oculusLib){ diff --git a/src/shared/models/bs-launch/launch-event.model.ts b/src/shared/models/bs-launch/launch-event.model.ts index c653feb8..992f768d 100644 --- a/src/shared/models/bs-launch/launch-event.model.ts +++ b/src/shared/models/bs-launch/launch-event.model.ts @@ -15,6 +15,7 @@ export enum BSLaunchError{ BS_EXIT_ERROR = "EXIT", OCULUS_LIB_NOT_FOUND = "OCULUS_LIB_NOT_FOUND", UNKNOWN_ERROR = "UNKNOWN_ERROR", + ORIGINAL_OCULUS_NOT_INSTALLED = "ORIGINAL_OCULUS_NOT_INSTALLED" } export enum BSLaunchEvent{