diff --git a/assets/jsons/translations/de.json b/assets/jsons/translations/de.json index dd7dced5..2d66696a 100644 --- a/assets/jsons/translations/de.json +++ b/assets/jsons/translations/de.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Proton-Ordner nicht festgelegt", "PROTON_NOT_FOUND": "Proton-Binärdatei nicht gefunden", "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.", @@ -455,7 +456,8 @@ "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." + "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" @@ -795,7 +797,7 @@ "original-version-backup-oculus": { "title": "Achtung", "body": { - "must-be-installed-once": "Du musst Beat Saber mindestens einmal aus dem Oculus Store installiert haben, sonst könnte sich Beat Saber nach dem Start automatisch schließen.", + "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", diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json index 9f54797e..304dd20d 100644 --- a/assets/jsons/translations/en.json +++ b/assets/jsons/translations/en.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Proton folder not set", "PROTON_NOT_FOUND": "Proton binary not found", "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.", @@ -455,7 +456,8 @@ "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.", "PROTON_NOT_SET": "Set the Proton path in settings.", - "PROTON_NOT_FOUND": "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" @@ -795,7 +797,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 764cd4ca..d1f67abb 100644 --- a/assets/jsons/translations/es.json +++ b/assets/jsons/translations/es.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Carpeta de Proton no establecida", "PROTON_NOT_FOUND": "Binario de Proton no encontrado", "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.", @@ -455,7 +456,8 @@ "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.", "PROTON_NOT_SET": "Establece la ruta de Proton en la configuración.", - "PROTON_NOT_FOUND": "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" @@ -795,7 +797,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 e484cfba..a9ba810a 100644 --- a/assets/jsons/translations/fr.json +++ b/assets/jsons/translations/fr.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Dossier Proton non défini", "PROTON_NOT_FOUND": "Binaire Proton non trouvé", "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.", @@ -455,7 +456,8 @@ "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.", "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." + "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" @@ -777,7 +779,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" @@ -796,7 +798,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 49faa14c..c74d68fc 100644 --- a/assets/jsons/translations/ja.json +++ b/assets/jsons/translations/ja.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Protonフォルダーが設定されていません", "PROTON_NOT_FOUND": "Protonのバイナリが見つかりません", "EXIT": "緊急停止", - "OCULUS_LIB_NOT_FOUND": "Oculusライブラリが見つかりません" + "OCULUS_LIB_NOT_FOUND": "Oculusライブラリが見つかりません", + "ORIGINAL_OCULUS_NOT_INSTALLED": "オリジナルのOculusバージョンが見つかりませんでした" }, "msg": { "UNKNOWN_ERROR": "不明なエラーが発生しました。", @@ -455,7 +456,8 @@ "EXIT": "BeatSaberが緊急停止したため、ファイルをチェックします。", "OCULUS_LIB_NOT_FOUND": "Oculusアプリケーションが正しくインストールしていることと、Oculusライブラリが正しく定義されていることを確認してください。", "PROTON_NOT_SET": "設定でProtonのパスを設定してください。", - "PROTON_NOT_FOUND": "設定でProtonのパスを設定してください。" + "PROTON_NOT_FOUND": "設定でProtonのパスを設定してください。", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saberは、開く前にOculusアプリからインストールする必要があります。" }, "actions": { "STEAM_NOT_RUNNING": "Steamを起動" @@ -795,7 +797,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/ko.json b/assets/jsons/translations/ko.json index 48fb6197..7940f85e 100644 --- a/assets/jsons/translations/ko.json +++ b/assets/jsons/translations/ko.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Proton 폴더가 설정되지 않음", "PROTON_NOT_FOUND": "Proton 바이너리를 찾을 수 없음", "EXIT": "긴급 중지", - "OCULUS_LIB_NOT_FOUND": "Oculus 라이브러리를 찾을 수 없음" + "OCULUS_LIB_NOT_FOUND": "Oculus 라이브러리를 찾을 수 없음", + "ORIGINAL_OCULUS_NOT_INSTALLED": "원본 Oculus 버전을 찾을 수 없습니다" }, "msg": { "UNKNOWN_ERROR": "알 수 없는 오류가 발생했습니다.", @@ -455,7 +456,8 @@ "EXIT": "Beat Saber가 긴급 중지되었습니다. 파일을 점검합니다.", "OCULUS_LIB_NOT_FOUND": "Oculus 앱이 올바르게 설치되었는지와 Oculus 라이브러리가 올바르게 정의되었는지 확인하세요.", "PROTON_NOT_SET": "설정에서 Proton 경로를 설정하세요.", - "PROTON_NOT_FOUND": "설정에서 Proton 경로를 설정하세요." + "PROTON_NOT_FOUND": "설정에서 Proton 경로를 설정하세요.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber는 열기 전에 Oculus 앱에서 설치해야 합니다." }, "actions": { "STEAM_NOT_RUNNING": "Steam 실행" @@ -795,7 +797,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 e1536105..14b62d0b 100644 --- a/assets/jsons/translations/ru.json +++ b/assets/jsons/translations/ru.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Папка Proton не установлена", "PROTON_NOT_FOUND": "Бинарный файл Proton не найде", "EXIT": "Вылет", - "OCULUS_LIB_NOT_FOUND": "Библиотека Oculus не найдена" + "OCULUS_LIB_NOT_FOUND": "Библиотека Oculus не найдена", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Оригинальная версия Oculus не найдена" }, "msg": { "UNKNOWN_ERROR": "Возникла неизвестная ошибка.", @@ -455,7 +456,8 @@ "EXIT": "Beat Saber вылетел, пытаемся проверить файлы.", "OCULUS_LIB_NOT_FOUND": "Проверьте, правильно ли установлено приложение Oculus, и правильно ли определены библиотеки в Oculus.", "PROTON_NOT_SET": "Установите путь к Proton в настройках.", - "PROTON_NOT_FOUND": "Установите путь к Proton в настройках." + "PROTON_NOT_FOUND": "Установите путь к Proton в настройках.", + "ORIGINAL_OCULUS_NOT_INSTALLED": "Beat Saber должен быть установлен из приложения Oculus перед открытием." }, "actions": { "STEAM_NOT_RUNNING": "Запустить Steam" @@ -795,7 +797,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 39a81e93..1ae45a3f 100644 --- a/assets/jsons/translations/zh-tw.json +++ b/assets/jsons/translations/zh-tw.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Proton資料夾未設置", "PROTON_NOT_FOUND": "找不到Proton二進位檔", "EXIT": "突然停止", - "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 庫" + "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 庫", + "ORIGINAL_OCULUS_NOT_INSTALLED": "找不到原始Oculus版本" }, "msg": { "UNKNOWN_ERROR": "發生未知錯誤。", @@ -455,7 +456,8 @@ "EXIT": "BeatSaber 突然停止,請檢查文件。", "OCULUS_LIB_NOT_FOUND": "檢查 Oculus 應用是否正確安裝,以及庫是否在 Oculus 中正確定義。", "PROTON_NOT_SET": "在設定中設置Proton路徑。", - "PROTON_NOT_FOUND": "在設定中設置Proton路徑。" + "PROTON_NOT_FOUND": "在設定中設置Proton路徑。", + "ORIGINAL_OCULUS_NOT_INSTALLED": "在打開之前,必須從Oculus應用程式安裝Beat Saber。" }, "actions": { "STEAM_NOT_RUNNING": "啟動 Steam" @@ -795,7 +797,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 8a144419..96870dad 100644 --- a/assets/jsons/translations/zh.json +++ b/assets/jsons/translations/zh.json @@ -444,7 +444,8 @@ "PROTON_NOT_SET": "Proton文件夹未设置", "PROTON_NOT_FOUND": "未找到Proton二进制文件", "EXIT": "突然停止", - "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 库" + "OCULUS_LIB_NOT_FOUND": "未找到 Oculus 库", + "ORIGINAL_OCULUS_NOT_INSTALLED": "未找到原始Oculus版本" }, "msg": { "UNKNOWN_ERROR": "发生未知错误。", @@ -455,7 +456,8 @@ "EXIT": "BeatSaber 突然停止,请检查文件。", "OCULUS_LIB_NOT_FOUND": "检查 Oculus 应用是否正确安装,以及库是否在 Oculus 中正确定义。", "PROTON_NOT_SET": "在设置中设置Proton路径。", - "PROTON_NOT_FOUND": "在设置中设置Proton路径。" + "PROTON_NOT_FOUND": "在设置中设置Proton路径。", + "ORIGINAL_OCULUS_NOT_INSTALLED": "在打开之前,必须从Oculus应用程序安装Beat Saber。" }, "actions": { "STEAM_NOT_RUNNING": "启动 Steam" @@ -795,7 +797,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 61eb80a4..8ee1a454 100644 --- a/src/shared/models/bs-launch/launch-event.model.ts +++ b/src/shared/models/bs-launch/launch-event.model.ts @@ -17,6 +17,7 @@ export enum BSLaunchError{ PROTON_NOT_SET = "PROTON_NOT_SET", PROTON_NOT_FOUND = "PROTON_NOT_FOUND", UNKNOWN_ERROR = "UNKNOWN_ERROR", + ORIGINAL_OCULUS_NOT_INSTALLED = "ORIGINAL_OCULUS_NOT_INSTALLED" } export enum BSLaunchEvent{