diff options
author | GeckoEidechse <gecko.eidechse+git@pm.me> | 2023-07-24 02:07:23 +0200 |
---|---|---|
committer | GeckoEidechse <gecko.eidechse+git@pm.me> | 2023-07-24 02:07:23 +0200 |
commit | a49856409270f6ab45bbad9bff28891319a58a10 (patch) | |
tree | 7f08074378f29003cb6643e98e279819da3fb2f5 | |
parent | 59ff6871f74d164a8d2d308094d5c8fd253d03e5 (diff) | |
download | FlightCore-a49856409270f6ab45bbad9bff28891319a58a10.tar.gz FlightCore-a49856409270f6ab45bbad9bff28891319a58a10.zip |
feat: Add button to launch with args
in DevView
-rw-r--r-- | src-vue/src/components/PlayButton.vue | 2 | ||||
-rw-r--r-- | src-vue/src/plugins/store.ts | 13 | ||||
-rw-r--r-- | src-vue/src/utils/LaunchObject.d.ts | 4 | ||||
-rw-r--r-- | src-vue/src/views/DeveloperView.vue | 27 |
4 files changed, 38 insertions, 8 deletions
diff --git a/src-vue/src/components/PlayButton.vue b/src-vue/src/components/PlayButton.vue index 83a23ae5..ba40d68e 100644 --- a/src-vue/src/components/PlayButton.vue +++ b/src-vue/src/components/PlayButton.vue @@ -87,7 +87,7 @@ export default defineComponent({ }, methods: { async launchGame() { - this.$store.commit('launchGame'); + this.$store.commit('launchGame', {}); } } }); diff --git a/src-vue/src/plugins/store.ts b/src-vue/src/plugins/store.ts index e7dc0763..fd4f8642 100644 --- a/src-vue/src/plugins/store.ts +++ b/src-vue/src/plugins/store.ts @@ -4,6 +4,7 @@ import { Tabs } from "../utils/Tabs"; import { InstallType } from "../utils/InstallType"; import { invoke } from "@tauri-apps/api"; import { GameInstall } from "../utils/GameInstall"; +import { LaunchObject } from "../utils/LaunchObject.d"; import { ReleaseCanal } from "../utils/ReleaseCanal"; import { FlightCoreVersion } from "../../../src-tauri/bindings/FlightCoreVersion"; import { NotificationHandle } from 'element-plus'; @@ -167,14 +168,15 @@ export const store = createStore<FlightCoreStore>({ } } }, - async launchGame(state: any, no_checks = false) { + async launchGame(state: any, payload: LaunchObject) { + const { no_checks = false, launch_args = undefined } = payload; let game_install = { game_path: state.game_path, install_type: state.install_type } as GameInstall; if (no_checks) { - await invoke("launch_northstar", { gameInstall: game_install, bypassChecks: no_checks }) + await invoke("launch_northstar", {gameInstall: game_install, bypassChecks: no_checks, launchParameters: launch_args}) .then((message) => { console.log("Launched with bypassed checks"); console.log(message); @@ -224,7 +226,7 @@ export const store = createStore<FlightCoreStore>({ // Game is ready to play. case NorthstarState.READY_TO_PLAY: - await invoke("launch_northstar", { gameInstall: game_install }) + await invoke("launch_northstar", { gameInstall: game_install, launchParameters: launch_args }) .then((message) => { console.log(message); // NorthstarState.RUNNING @@ -240,13 +242,14 @@ export const store = createStore<FlightCoreStore>({ break; } }, - async launchGameSteam(state: any, no_checks = false) { + async launchGameSteam(state: any, payload: LaunchObject) { + const { no_checks = false, launch_args = undefined } = payload; let game_install = { game_path: state.game_path, install_type: state.install_type } as GameInstall; - await invoke("launch_northstar_steam", { gameInstall: game_install, bypassChecks: no_checks }) + await invoke("launch_northstar_steam", { gameInstall: game_install, bypassChecks: no_checks, launchParametres: launch_args }) .then((message) => { showNotification('Success'); }) diff --git a/src-vue/src/utils/LaunchObject.d.ts b/src-vue/src/utils/LaunchObject.d.ts new file mode 100644 index 00000000..2fbd4732 --- /dev/null +++ b/src-vue/src/utils/LaunchObject.d.ts @@ -0,0 +1,4 @@ +export interface LaunchObject { + no_checks: boolean, + launch_args: string, +} diff --git a/src-vue/src/views/DeveloperView.vue b/src-vue/src/views/DeveloperView.vue index 28ab3892..c52c5bf9 100644 --- a/src-vue/src/views/DeveloperView.vue +++ b/src-vue/src/views/DeveloperView.vue @@ -43,6 +43,21 @@ Launch Northstar via Steam </el-button> + <br /> + <br /> + + <el-input v-model="launch_args" placeholder="Launch args" clearable /> + <el-button type="primary" @click="launchGameWithArgs"> + Launch Northstar with args + </el-button> + + <el-button type="primary" @click="launchGameViaSteamWithArgs"> + Launch Northstar with args via Steam + </el-button> + + <br /> + <br /> + <el-button type="primary" @click="installLauncherGitMain"> Install launcher from main branch </el-button> @@ -147,6 +162,7 @@ export default defineComponent({ data() { return { mod_to_install_field_string: "", + launch_args: undefined, release_notes_text: "", first_tag: { label: '', value: { name: '' } }, second_tag: { label: '', value: { name: '' } }, @@ -203,10 +219,17 @@ export default defineComponent({ }); }, async launchGameWithoutChecks() { - this.$store.commit('launchGame', true); + this.$store.commit('launchGame', {no_checks: true}); + }, + async launchGameWithArgs() { + console.log(this.launch_args); + this.$store.commit('launchGame', {no_checks: false, launch_args: this.launch_args}); }, async launchGameViaSteam() { - this.$store.commit('launchGameSteam', true); + this.$store.commit('launchGameSteam', {no_checks: true}); + }, + async launchGameViaSteamWithArgs() { + this.$store.commit('launchGameSteam', {no_checks: false, launch_args: this.launch_args}); }, async getInstalledMods() { let game_install = { |