diff options
Diffstat (limited to 'src-vue')
-rw-r--r-- | src-vue/src/components/PlayButton.vue | 2 | ||||
-rw-r--r-- | src-vue/src/plugins/store.ts | 14 | ||||
-rw-r--r-- | src-vue/src/utils/LaunchObject.d.ts | 4 | ||||
-rw-r--r-- | src-vue/src/views/DeveloperView.vue | 27 |
4 files changed, 39 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 8f0c3fee..b0eaaf65 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 "../../../src-tauri/bindings/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'; @@ -163,9 +164,10 @@ 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; if (no_checks) { - await invoke("launch_northstar", { gameInstall: state.game_install, bypassChecks: no_checks }) + await invoke("launch_northstar", { gameInstall: state.game_install, bypassChecks: no_checks, launchParameters: launch_args }) .then((message) => { console.log("Launched with bypassed checks"); console.log(message); @@ -215,7 +217,7 @@ export const store = createStore<FlightCoreStore>({ // Game is ready to play. case NorthstarState.READY_TO_PLAY: - await invoke("launch_northstar", { gameInstall: state.game_install }) + await invoke("launch_northstar", { gameInstall: state.game_install, launchParameters: launch_args }) .then((message) => { console.log(message); // NorthstarState.RUNNING @@ -231,8 +233,10 @@ export const store = createStore<FlightCoreStore>({ break; } }, - async launchGameSteam(state: any, no_checks = false) { - await invoke("launch_northstar_steam", { gameInstall: state.game_install, bypassChecks: no_checks }) + async launchGameSteam(state: any, payload: LaunchObject) { + const { no_checks = false, launch_args = undefined } = payload; + + await invoke("launch_northstar_steam", { gameInstall: state.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 c87e4236..206d425b 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> @@ -150,6 +165,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: '' } }, @@ -206,10 +222,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() { await invoke("get_installed_mods_and_properties", { gameInstall: this.$store.state.game_install }).then((message) => { |