diff --git a/assets/jsons/translations/de.json b/assets/jsons/translations/de.json index 92fd6732..0fdb888d 100644 --- a/assets/jsons/translations/de.json +++ b/assets/jsons/translations/de.json @@ -442,7 +442,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.", @@ -453,7 +454,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": "Laden Sie das originale Beat Saber aus dem Oculus Store herunter, bevor Sie es öffnen." }, "actions": { "STEAM_NOT_RUNNING": "Starte Steam" diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json index a0517d94..6634d5cd 100644 --- a/assets/jsons/translations/en.json +++ b/assets/jsons/translations/en.json @@ -442,7 +442,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.", @@ -453,7 +454,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": "Download the original Beat Saber from Oculus before opening." }, "actions": { "STEAM_NOT_RUNNING": "Launch Steam" diff --git a/assets/jsons/translations/es.json b/assets/jsons/translations/es.json index bb4c2298..0f4466d3 100644 --- a/assets/jsons/translations/es.json +++ b/assets/jsons/translations/es.json @@ -442,7 +442,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.", @@ -453,7 +454,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": "Descarga la versión original de Beat Saber desde Oculus antes de abrirlo." }, "actions": { "STEAM_NOT_RUNNING": "Iniciar Steam" diff --git a/assets/jsons/translations/fr.json b/assets/jsons/translations/fr.json index ef4ff496..aa49f658 100644 --- a/assets/jsons/translations/fr.json +++ b/assets/jsons/translations/fr.json @@ -442,7 +442,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.", @@ -453,7 +454,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": "Téléchargez la version originale de Beat Saber depuis Oculus avant de l'ouvrir." }, "actions": { "STEAM_NOT_RUNNING": "Lancer Steam" @@ -775,7 +777,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" diff --git a/assets/jsons/translations/ja.json b/assets/jsons/translations/ja.json index 76f8011f..114369eb 100644 --- a/assets/jsons/translations/ja.json +++ b/assets/jsons/translations/ja.json @@ -442,7 +442,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": "不明なエラーが発生しました。", @@ -453,7 +454,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を起動" diff --git a/assets/jsons/translations/ko.json b/assets/jsons/translations/ko.json index a2381fcd..c5d5f492 100644 --- a/assets/jsons/translations/ko.json +++ b/assets/jsons/translations/ko.json @@ -442,7 +442,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": "알 수 없는 오류가 발생했습니다.", @@ -453,7 +454,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": "열기 전에 Oculus에서 원본 Beat Saber를 다운로드하십시오." }, "actions": { "STEAM_NOT_RUNNING": "Steam 실행" diff --git a/assets/jsons/translations/ru.json b/assets/jsons/translations/ru.json index f2044880..ff7ee343 100644 --- a/assets/jsons/translations/ru.json +++ b/assets/jsons/translations/ru.json @@ -442,7 +442,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": "Возникла неизвестная ошибка.", @@ -453,7 +454,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" diff --git a/assets/jsons/translations/zh-tw.json b/assets/jsons/translations/zh-tw.json index 55fc0e51..2e8bf0f5 100644 --- a/assets/jsons/translations/zh-tw.json +++ b/assets/jsons/translations/zh-tw.json @@ -442,7 +442,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": "發生未知錯誤。", @@ -453,7 +454,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" diff --git a/assets/jsons/translations/zh.json b/assets/jsons/translations/zh.json index 9489c6a6..8223bfb0 100644 --- a/assets/jsons/translations/zh.json +++ b/assets/jsons/translations/zh.json @@ -442,7 +442,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": "发生未知错误。", @@ -453,7 +454,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" 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{