mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
Merge pull request #664 from LiamillionSS/feat/663
[feat/663] Option to launch BS without SteamVR
This commit is contained in:
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "Erweiterter Start",
|
||||
"placeholder": "Weitere Argumente, bspw: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Steam überspringen",
|
||||
"skipsteam-description": "Verhindert, dass Steam automatisch mit Beat Saber geöffnet wird. Aktivieren Sie dies, wenn Sie eine andere VR-Laufzeit wie WiVRn oder Monado verwenden, mit der SteamVR interferieren könnte."
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Starte... 🚀",
|
||||
"STEAM_LAUNCHING": "Steam startet!"
|
||||
"STEAM_LAUNCHING": "Steam startet!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Steam-Start überspringen"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "Vergiss nicht, dich aufzuwärmen 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber wird automatisch nach Steam gestartet."
|
||||
"STEAM_LAUNCHING": "Beat Saber wird automatisch nach Steam gestartet.",
|
||||
"SKIPPING_STEAM_LAUNCH": "Ich hoffe, du weißt, was du tust :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "Advanced launch",
|
||||
"placeholder": "Additional arguments ex: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Skip Steam",
|
||||
"skipsteam-description": "Stops Steam from opening automatically with Beat Saber, enable if you are using a different VR runtime like WiVRn or Monado that SteamVR may interfere with."
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -257,7 +259,7 @@
|
||||
"confirm-btn": "Yes I'm sure"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "An error occur, unable to disable hardware acceleration."
|
||||
"message": "An error occured, unable to disable hardware acceleration."
|
||||
}
|
||||
},
|
||||
"use-symlinks": {
|
||||
@@ -269,7 +271,7 @@
|
||||
"confirm-btn": "Yes I'm sure"
|
||||
},
|
||||
"error-notification": {
|
||||
"message": "An error occur, unable to change symlinks settings."
|
||||
"message": "An error occured, unable to change symlinks settings."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Launching...🚀",
|
||||
"STEAM_LAUNCHING": "Steam is launching!"
|
||||
"STEAM_LAUNCHING": "Steam is launching!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Skipping Steam launch"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "Don't forget to warm up 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber will automatically launch after Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber will automatically launch after Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "I hope you know what you're doing :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -60,7 +60,9 @@
|
||||
"export-maps": "Exportar mapas",
|
||||
"delete-maps": "Borrar mapas",
|
||||
"delete-duplicate-maps": "Borrar duplicados"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Saltar Steam",
|
||||
"skipsteam-description": "Evita que Steam se abra automáticamente con Beat Saber, habilita esto si estás usando un runtime de VR diferente como WiVRn o Monado que SteamVR podría interferir."
|
||||
},
|
||||
"tabs": {
|
||||
"maps": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Lanzamiento...🚀",
|
||||
"STEAM_LAUNCHING": "¡Steam se está iniciando!"
|
||||
"STEAM_LAUNCHING": "¡Steam se está iniciando!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Saltando el lanzamiento de Steam"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "No olvides calentar 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber se iniciará automáticamente después de Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber se iniciará automáticamente después de Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "Espero que sepas lo que estás haciendo :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "Lancement avancé",
|
||||
"placeholder": "Arguments supplémentaires ex: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Ignorer Steam",
|
||||
"skipsteam-description": "Empêche Steam de s'ouvrir automatiquement avec Beat Saber, activez-le si vous utilisez un autre runtime VR comme WiVRn ou Monado avec lequel SteamVR pourrait interférer."
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Lancement...🚀",
|
||||
"STEAM_LAUNCHING": "Steam se lance !"
|
||||
"STEAM_LAUNCHING": "Steam se lance !",
|
||||
"SKIPPING_STEAM_LAUNCH": "Sauter le lancement de Steam"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "N'oublie pas de t'échauffer 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber se lancera automatiquement après Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber se lancera automatiquement après Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "J'espère que vous savez ce que vous faites :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "高度な起動",
|
||||
"placeholder": "追加引数 例:--revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Steamをスキップ",
|
||||
"skipsteam-description": "Beat Saberと一緒にSteamが自動的に開くのを防ぎます。SteamVRが干渉する可能性のあるWiVRnやMonadoなど、別のVRランタイムを使用している場合は有効にしてください。"
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "起動中...🚀",
|
||||
"STEAM_LAUNCHING": "Steamの起動を確認しました!"
|
||||
"STEAM_LAUNCHING": "Steamの起動を確認しました!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Steamの起動をスキップ"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "ウォームアップを忘れずに 😉",
|
||||
"STEAM_LAUNCHING": "Beat SaberはSteamの起動後に自動的に起動します。"
|
||||
"STEAM_LAUNCHING": "Beat SaberはSteamの起動後に自動的に起動します。",
|
||||
"SKIPPING_STEAM_LAUNCH": "あなたが何をしているのか分かっていることを願っています :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "고급 실행",
|
||||
"placeholder": "추가 인수 예: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Steam 실행 건너뛰기",
|
||||
"skipsteam-description": "Beat Saber와 함께 Steam이 자동으로 열리는 것을 방지합니다. SteamVR이 간섭할 수 있는 WiVRn 또는 Monado와 같은 다른 VR 런타임을 사용하는 경우 활성화하세요."
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "실행 중...🚀",
|
||||
"STEAM_LAUNCHING": "Steam 실행 확인 완료!"
|
||||
"STEAM_LAUNCHING": "Steam 실행 확인 완료!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Steam 실행 건너뛰기"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "워밍업을 잊지 마세요 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber는 Steam 실행 후 자동으로 시작됩니다."
|
||||
"STEAM_LAUNCHING": "Beat Saber는 Steam 실행 후 자동으로 시작됩니다.",
|
||||
"SKIPPING_STEAM_LAUNCH": "신이 무엇을 하고 있는지 알고 있기를 바랍니다 :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "Расширенный запуск",
|
||||
"placeholder": "Параметры запуска, например: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "Пропустить Steam",
|
||||
"skipsteam-description": "Предотвращает автоматическое открытие Steam с Beat Saber, включите, если вы используете другую VR-среду, такую как WiVRn или Monado, с которой SteamVR может мешать."
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "Запуск...🚀",
|
||||
"STEAM_LAUNCHING": "Steam запускается!"
|
||||
"STEAM_LAUNCHING": "Steam запускается!",
|
||||
"SKIPPING_STEAM_LAUNCH": "Пропуск запуска Steam"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "Не забудьте разогреться 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber запустится сам после Steam."
|
||||
"STEAM_LAUNCHING": "Beat Saber запустится сам после Steam.",
|
||||
"SKIPPING_STEAM_LAUNCH": "Надеюсь, вы знаете, что делаете :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "高級啟動",
|
||||
"placeholder": "額外啟動參數,例如: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "跳過 Steam",
|
||||
"skipsteam-description": "防止 Steam 與 Beat Saber 自動打開,如果您使用的是其他 VR 執行時,如 WiVRn 或 Monado,SteamVR 可能會干擾,請啟用此選項。"
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "啟動中...🚀",
|
||||
"STEAM_LAUNCHING": "Steam 正在啟動!"
|
||||
"STEAM_LAUNCHING": "Steam 正在啟動!",
|
||||
"SKIPPING_STEAM_LAUNCH": "跳過 Steam 啟動"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "別忘了熱身哦 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber 會在 Steam 啟動後自動啟動。"
|
||||
"STEAM_LAUNCHING": "Beat Saber 會在 Steam 啟動後自動啟動。",
|
||||
"SKIPPING_STEAM_LAUNCH": "希望你知道自己在做什麼 :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
"advanced-launch": {
|
||||
"button": "高级启动",
|
||||
"placeholder": "额外启动参数,例如: --revert; --nowait"
|
||||
}
|
||||
},
|
||||
"skipsteam": "跳过 Steam",
|
||||
"skipsteam-description": "防止 Steam 与 Beat Saber 自动打开,如果您使用的是其他 VR 运行时,如 WiVRn 或 Monado,SteamVR 可能会干扰,请启用此选项。"
|
||||
},
|
||||
"maps": {
|
||||
"search-bar": {
|
||||
@@ -442,11 +444,13 @@
|
||||
"success": {
|
||||
"titles": {
|
||||
"BS_LAUNCHING": "启动中...🚀",
|
||||
"STEAM_LAUNCHING": "Steam 正在启动!"
|
||||
"STEAM_LAUNCHING": "Steam 正在启动!",
|
||||
"SKIPPING_STEAM_LAUNCH": "跳过 Steam 启动"
|
||||
},
|
||||
"msg": {
|
||||
"BS_LAUNCHING": "别忘了热身哦 😉",
|
||||
"STEAM_LAUNCHING": "Beat Saber 会在 Steam 启动后自动启动。"
|
||||
"STEAM_LAUNCHING": "Beat Saber 会在 Steam 启动后自动启动。",
|
||||
"SKIPPING_STEAM_LAUNCH": "希望你知道自己在做什么 :)"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
|
||||
@@ -105,7 +105,8 @@ export class BSLauncherService {
|
||||
oculus: params.oculusMode === "true",
|
||||
desktop: params.desktopMode === "true",
|
||||
debug: params.debug === "true",
|
||||
additionalArgs: params.additionalArgs
|
||||
additionalArgs: params.additionalArgs,
|
||||
skipSteam: params.skipSteam === "true",
|
||||
};
|
||||
|
||||
return res;
|
||||
@@ -123,6 +124,7 @@ export class BSLauncherService {
|
||||
if(launchOptions.desktop){ res.desktopMode = "true"; }
|
||||
if(launchOptions.debug){ res.debug = "true"; }
|
||||
if(launchOptions.additionalArgs){ res.additionalArgs = launchOptions.additionalArgs; }
|
||||
if(launchOptions.skipSteam){ res.skipSteam = "true"; }
|
||||
|
||||
return res;
|
||||
}
|
||||
@@ -239,6 +241,7 @@ type ShortcutParams = {
|
||||
desktopMode?: string;
|
||||
debug?: string;
|
||||
additionalArgs?: string[];
|
||||
skipSteam?: string;
|
||||
version: string;
|
||||
versionName?: string;
|
||||
versionIno?: string;
|
||||
|
||||
@@ -73,8 +73,11 @@ export class SteamLauncherService extends AbstractLauncherService implements Sto
|
||||
throw CustomError.fromError(new Error(`Path not exist : ${bsExePath}`), BSLaunchError.BS_NOT_FOUND);
|
||||
}
|
||||
|
||||
const skipSteam: boolean = launchOptions.skipSteam ?? false;
|
||||
|
||||
// Open Steam if not running
|
||||
if(!(await this.steam.isSteamRunning())){
|
||||
if(!skipSteam && !(await this.steam.isSteamRunning())){
|
||||
|
||||
obs.next({type: BSLaunchEvent.STEAM_LAUNCHING});
|
||||
|
||||
await this.steam.openSteam().then(() => {
|
||||
@@ -84,6 +87,9 @@ export class SteamLauncherService extends AbstractLauncherService implements Sto
|
||||
obs.next({type: BSLaunchWarning.UNABLE_TO_LAUNCH_STEAM});
|
||||
});
|
||||
}
|
||||
else if (launchOptions.skipSteam) {
|
||||
obs.next({ type: BSLaunchEvent.SKIPPING_STEAM_LAUNCH});
|
||||
}
|
||||
|
||||
// Backup SteamVR when desktop mode is enabled
|
||||
if(launchOptions.desktop){
|
||||
|
||||
@@ -35,7 +35,7 @@ export function BsVersionItem(props: { version: BSVersion }) {
|
||||
|
||||
useOnUpdate(() => {
|
||||
const subs: Subscription[] = []
|
||||
|
||||
|
||||
subs.push(bsDownloader.downloadingVersion$.pipe(map(download => equal(download, props.version)), distinctUntilChanged()).subscribe(isDownloading => {
|
||||
setIsDownloading(() => isDownloading);
|
||||
}));
|
||||
@@ -63,6 +63,7 @@ export function BsVersionItem(props: { version: BSVersion }) {
|
||||
oculus: !!configService.get<boolean>(LaunchMods.OCULUS_MOD),
|
||||
desktop: !!configService.get<boolean>(LaunchMods.DESKTOP_MOD),
|
||||
debug: !!configService.get<boolean>(LaunchMods.DEBUG_MOD),
|
||||
skipSteam: !!configService.get<boolean>(LaunchMods.SKIPSTEAM_MOD),
|
||||
});
|
||||
return lastValueFrom(launch$).catch(() => {});
|
||||
};
|
||||
|
||||
@@ -69,7 +69,8 @@ import { CancelIcon } from "./icons/cancel-icon.component";
|
||||
import { WarningIcon } from "./icons/warning-icon.component";
|
||||
|
||||
|
||||
export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "cancel" | "warning" | "fr-FR-flag" | "es-ES-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag" | "ko-KR-flag");
|
||||
|
||||
export type BsmIconType = SongDetailDiffCharactertistic | ("settings" | "trash" | "favorite" | "folder" | "bsNote" | "check" | "three-dots" | "twitch" | "eye" | "play" | "checkCircleIcon" | "discord" | "info" | "eye-cross" | "terminal" | "desktop" | "oculus" | "add" | "cross" | "task" | "github" | "close" | "thumbUpFill" | "timerFill" | "pause" | "twitter" | "sync" | "chevron-top" | "copy" | "steam" | "edit" | "export" | "patreon" | "search" | "bsMapDifficulty" | "link" | "unlink" | "download" | "filter" | "mee6" | "volume-up" | "volume-off" | "volume-down" | "shortcut" | "backup-restore" | "web-site" | "clean" | "browse" | "add-file" | "cancel" | "warning" | "fr-FR-flag" | "es-ES-flag" | "en-US-flag" | "en-EN-flag" | "de-DE-flag" | "ru-RU-flag" | "zh-CN-flag" | "zh-TW-flag" | "ja-JP-flag" | "ko-KR-flag" | "null" );
|
||||
|
||||
export const BsmIcon = memo(({ className, icon, style }: { className?: string; icon: BsmIconType; style?: CSSProperties }) => {
|
||||
// TODO : Very ugly very messy, need to find a better way to do this
|
||||
@@ -277,13 +278,14 @@ export const BsmIcon = memo(({ className, icon, style }: { className?: string; i
|
||||
if(icon === "add-file") {
|
||||
return <AddFileIcon className={className} style={style} />;
|
||||
}
|
||||
|
||||
if(icon === "cancel"){
|
||||
if(icon === "null") {
|
||||
return null;
|
||||
}
|
||||
if(icon === "cancel") {
|
||||
return <CancelIcon className={className} style={style} />;
|
||||
}
|
||||
|
||||
if(icon === "warning"){
|
||||
return <WarningIcon className={className} style={style} />;
|
||||
if(icon === "warning") {
|
||||
return <WarningIcon className={className} style={style} />
|
||||
}
|
||||
|
||||
return <TrashIcon className={className} style={style} />;
|
||||
|
||||
+2
-2
@@ -18,11 +18,11 @@ export function LaunchModToogle({ onClick, active, text, icon, infoText }: Props
|
||||
<div className={`relative rounded-full cursor-pointer group active:scale-95 transition-transform ${!active && "shadow-md shadow-black"}`} onClick={() => onClick(!active)}>
|
||||
<GlowEffect visible={active} className="absolute !rounded-full blur-[2px]" />
|
||||
<div className="w-full h-full px-6 flex gap-1.5 justify-center items-center bg-light-main-color-2 dark:bg-main-color-2 p-3 rounded-full text-gray-800 dark:text-white group-hover:bg-light-main-color-1 dark:group-hover:bg-main-color-1">
|
||||
<BsmIcon icon={icon} className="h-7 text-gray-800 dark:text-white" />
|
||||
<BsmIcon icon={icon} className="h-7 shrink-0 text-gray-800 dark:text-white" />
|
||||
<span className="w-fit min-w-fit text-lg font-bold uppercase tracking-wide italic ">{t(text)}</span>
|
||||
{infoText && (
|
||||
<Tippy content={t(infoText)} placement="bottom" delay={[400, 0]}>
|
||||
<div className="h-[25px] w-[25px] p-1.5 rounded-full cursor-help bg-light-main-color-1 dark:bg-main-color-3 hover:brightness-110">
|
||||
<div className="h-[25px] w-[25px] shrink-0 p-1.5 rounded-full cursor-help bg-light-main-color-1 dark:bg-main-color-3 hover:brightness-110">
|
||||
<BsmIcon className="w-full h-full" icon="info" />
|
||||
</div>
|
||||
</Tippy>
|
||||
|
||||
@@ -35,6 +35,7 @@ export function LaunchSlide({ version }: Props) {
|
||||
const [debugMode, setDebugMode] = useState(!!configService.get<boolean>(LaunchMods.DEBUG_MOD));
|
||||
const [advancedLaunch, setAdvancedLaunch] = useState(false);
|
||||
const [additionalArgsString, setAdditionalArgsString] = useState<string>(configService.get<string>("additionnal-args") || "");
|
||||
const [skipSteamMode, setSkipSteamMode] = useState(!!configService.get<boolean>(LaunchMods.SKIPSTEAM_MOD));
|
||||
const versionDownloading = useObservable(() => bsDownloader.downloadingVersion$);
|
||||
|
||||
const versionRunning = useObservable(() => bsLauncherService.versionRunning$);
|
||||
@@ -56,6 +57,8 @@ export function LaunchSlide({ version }: Props) {
|
||||
setOculusMode(value);
|
||||
} else if (mode === LaunchMods.DESKTOP_MOD) {
|
||||
setDesktopMode(value);
|
||||
} else if (mode === LaunchMods.SKIPSTEAM_MOD) {
|
||||
setSkipSteamMode(value);
|
||||
}
|
||||
configService.set(mode, value);
|
||||
};
|
||||
@@ -71,6 +74,7 @@ export function LaunchSlide({ version }: Props) {
|
||||
desktop: desktopMode,
|
||||
debug: debugMode,
|
||||
additionalArgs: advancedLaunch ? additionalArgs : [],
|
||||
skipSteam: skipSteamMode,
|
||||
});
|
||||
|
||||
return lastValueFrom(launch$).catch(() => {});
|
||||
@@ -116,6 +120,9 @@ export function LaunchSlide({ version }: Props) {
|
||||
<div className="bg-light-main-color-2 dark:bg-main-color-2 h-9 rounded-full overflow-hidden flex items-center justify-center transition-all duration-100 ease-in-out w-full origin-top shadow-black shadow-sm" style={{ scale: advancedLaunch ? "100% 100%" : "0 0" }}>
|
||||
<input className="w-[calc(100%-12px)] h-[calc(100%-12px)] bg-light-main-color-1 dark:bg-main-color-1 text-black dark:text-white rounded-full outline-none text-center" type="text" placeholder={t("pages.version-viewer.launch-mods.advanced-launch.placeholder")} value={additionalArgsString} onChange={handleAdditionalArgsChange} />
|
||||
</div>
|
||||
<div className="grid grid-cols-3 gap-3 transition-all duration-300 ease-in-out origin-top" style={{ scale: advancedLaunch ? "75% 75%" : "0% 0%" }}>
|
||||
{advancedLaunch && !(version.oculus || version.metadata?.store === BsStore.OCULUS) && <LaunchModToogle infoText="pages.version-viewer.launch-mods.skipsteam-description" icon="null" onClick={() => setMode(LaunchMods.SKIPSTEAM_MOD, !skipSteamMode)} active={skipSteamMode} text="pages.version-viewer.launch-mods.skipsteam" />}
|
||||
</div>
|
||||
</div>
|
||||
<div className='grow flex justify-center items-center'>
|
||||
<BsmButton
|
||||
|
||||
@@ -50,7 +50,8 @@ export class BSLauncherService {
|
||||
oculus: this.config.get(LaunchMods.OCULUS_MOD),
|
||||
desktop: this.config.get(LaunchMods.DESKTOP_MOD),
|
||||
debug: this.config.get(LaunchMods.DEBUG_MOD),
|
||||
additionalArgs: (this.config.get<string>("additionnal-args") || "").split(";").map(arg => arg.trim()).filter(arg => arg.length > 0)
|
||||
additionalArgs: (this.config.get<string>("additionnal-args") || "").split(";").map(arg => arg.trim()).filter(arg => arg.length > 0),
|
||||
skipSteam: this.config.get(LaunchMods.SKIPSTEAM_MOD),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,4 +129,5 @@ export enum LaunchMods {
|
||||
OCULUS_MOD = "LAUNCH_OCULUS_MOD",
|
||||
DESKTOP_MOD = "LAUNCH_DESKTOP_MOD",
|
||||
DEBUG_MOD = "LAUNCH_DEBUG_MOD",
|
||||
SKIPSTEAM_MOD = "LAUNCH_SKIPSTEAM_MOD",
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ export enum BSLaunchError{
|
||||
export enum BSLaunchEvent{
|
||||
STEAM_LAUNCHING = "STEAM_LAUNCHING",
|
||||
STEAM_LAUNCHED = "STEAM_LAUNCHED",
|
||||
SKIPPING_STEAM_LAUNCH = "SKIPPING_STEAM_LAUNCH",
|
||||
BS_LAUNCHING = "BS_LAUNCHING",
|
||||
}
|
||||
|
||||
|
||||
@@ -7,4 +7,5 @@ export interface LaunchOption {
|
||||
debug?: boolean,
|
||||
additionalArgs?: string[],
|
||||
admin?: boolean,
|
||||
skipSteam?: boolean
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user