aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/assets/flightcore.svg178
-rw-r--r--src-tauri/Cargo.lock2
-rw-r--r--src-tauri/Cargo.toml2
-rw-r--r--src-tauri/bindings/NorthstarLaunchOptions.ts3
-rw-r--r--src-tauri/src/northstar/mod.rs28
-rw-r--r--src-tauri/tauri.conf.json2
-rw-r--r--src-vue/src/plugins/store.ts25
7 files changed, 217 insertions, 23 deletions
diff --git a/docs/assets/flightcore.svg b/docs/assets/flightcore.svg
new file mode 100644
index 00000000..0a4e0c52
--- /dev/null
+++ b/docs/assets/flightcore.svg
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 210 297"
+ version="1.1"
+ id="svg1"
+ xml:space="preserve"
+ inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
+ sodipodi:docname="flightcore.svg"
+ inkscape:export-filename="flightcore_svg.png"
+ inkscape:export-xdpi="241.90475"
+ inkscape:export-ydpi="241.90475"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
+ id="namedview1"
+ pagecolor="#313131"
+ bordercolor="#eeeeee"
+ borderopacity="1"
+ inkscape:showpageshadow="0"
+ inkscape:pageopacity="0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:document-units="mm"
+ inkscape:zoom="0.84735788"
+ inkscape:cx="334.56938"
+ inkscape:cy="510.41007"
+ inkscape:window-width="2144"
+ inkscape:window-height="1412"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Wings"
+ inkscape:export-bgcolor="#ffffffe7" /><defs
+ id="defs1"><inkscape:path-effect
+ effect="fillet_chamfer"
+ id="path-effect38"
+ nodesatellites_param="F,0,0,1,0,3.1637374,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,4.1020699,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.8251803,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
+ is_visible="true"
+ lpeversion="1"
+ radius="0"
+ unit="px"
+ method="auto"
+ mode="F"
+ chamfer_steps="1"
+ flexible="false"
+ use_knot_distance="true"
+ apply_no_radius="true"
+ apply_with_radius="true"
+ only_selected="false"
+ hide_knots="false" /><inkscape:path-effect
+ effect="fillet_chamfer"
+ id="path-effect36"
+ nodesatellites_param="F,0,0,1,0,3.1637374,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,4.1020699,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.8251803,0,1 @ F,0,0,1,0,0,0,1"
+ is_visible="true"
+ lpeversion="1"
+ radius="0"
+ unit="px"
+ method="auto"
+ mode="F"
+ chamfer_steps="1"
+ flexible="false"
+ use_knot_distance="true"
+ apply_no_radius="true"
+ apply_with_radius="true"
+ only_selected="false"
+ hide_knots="false" /><inkscape:path-effect
+ effect="fillet_chamfer"
+ id="path-effect35"
+ is_visible="true"
+ lpeversion="1"
+ nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.0736026,0,1 @ F,0,0,1,0,1.0073515,0,1 @ F,0,0,1,0,6.4904829,0,1 @ F,0,0,1,0,7.1642084,0,1 @ F,0,0,1,0,1.7927291,0,1 @ F,0,0,1,0,2.6111364,0,1 @ F,0,0,1,0,1.9319179,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,3.1316968,0,1 @ F,0,0,1,0,1.0399686,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,1.3026102,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,9.6252962,0,1 @ F,0,0,1,0,2.2791043,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
+ radius="0"
+ unit="px"
+ method="auto"
+ mode="F"
+ chamfer_steps="1"
+ flexible="false"
+ use_knot_distance="true"
+ apply_no_radius="true"
+ apply_with_radius="true"
+ only_selected="false"
+ hide_knots="false" /><linearGradient
+ id="swatch18"
+ inkscape:swatch="solid"><stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop18" /></linearGradient></defs><g
+ inkscape:label="FlightCore"
+ inkscape:groupmode="layer"
+ id="flightcore"><g
+ id="Wings"
+ style="fill:#c0a151;fill-opacity:1;stroke:#948337;stroke-opacity:1"><g
+ id="outline"
+ style="fill:#c0a151;fill-opacity:1;stroke:#948337;stroke-opacity:1"
+ inkscape:label="Outline"><path
+ id="path36"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
+ transform="matrix(-1,0,0,1,209.99958,0)"
+ inkscape:path-effect="#path-effect38"
+ inkscape:original-d="M 82.212036,8.2697795 H 66.581982 c -1.066967,0 -1.986775,0.1589289 -2.054655,0.355017 -1.750413,5.5208205 -4.045216,10.8800645 -5.585188,16.4630775 -0.459728,1.666698 -0.750389,4.441098 -0.752926,6.170683 -0.0024,1.651129 -0.0073,3.30259 -0.01447,4.953703 -0.0025,0.574353 -0.413296,1.26835 -0.863514,1.62419 -1.987958,1.571229 -3.058563,4.071518 -3.732588,6.468339 -3.631643,10.318925 -7.168142,20.672722 -10.652063,31.041516 -0.851954,2.295672 -0.57965,4.777917 -0.628386,7.174756 0.01011,0.856305 0.01924,1.712473 0.02067,2.568836 0.0012,0.719398 -0.474712,1.656122 -0.960148,2.185913 -1.852125,2.021355 -2.573094,4.862908 -3.417363,7.421252 -4.093062,12.633538 -8.177647,25.270048 -12.252999,37.909318 -1.631331,5.0594 -0.484042,12.6935 2.560568,17.05115 4.746391,6.79336 9.492646,13.58731 14.238924,20.38067 0.720899,1.03183 0.834949,2.774 0.299206,3.91294 -8.508246,18.08766 -8.571855,40.01283 0.167432,58.03212 8.259608,17.53966 24.307698,31.27464 43.013395,36.47064 6.175941,1.77275 12.605227,2.62965 19.031913,2.61431 V 134.34736 c -4.88882,-0.008 -9.778981,0.51221 -14.553116,1.56062 -0.579126,0.12718 -1.046448,-0.24215 -1.046448,-0.83509 v -12.55582 c 0,-0.55634 0.397015,-1.22125 0.886767,-1.48518 2.477612,-1.33522 4.955432,-2.66979 7.433138,-4.00492 3.155609,-1.70043 5.713349,-5.98589 5.713349,-9.57048 V 31.227035 c 0,-3.95668 -2.70999,-8.879796 -6.053379,-10.995712 -3.475738,-2.199678 -6.952011,-4.399442 -10.427788,-6.59908 -0.836635,-0.529463 -1.211049,-1.374773 -1.514636,-2.751253 -10e-4,-0.0074 -1.216384,-1.0635739 -1.217449,-1.0709764 z m 48.739244,0 h 12.46632 c 1.15158,1.7e-6 2.61159,2.1055585 3.36757,4.2411015 1.47842,4.176284 3.09566,8.311325 4.27227,12.576993 0.45973,1.666698 0.75039,4.441098 0.75293,6.170683 0.002,1.651129 0.007,3.30259 0.0145,4.953703 0.002,0.574353 0.41329,1.26835 0.86351,1.62419 1.98796,1.571229 3.05856,4.071518 3.73259,6.468339 3.63164,10.318925 7.16814,20.672722 10.65206,31.041516 0.85196,2.295672 0.57965,4.777917 0.62839,7.174756 -0.0101,0.856305 -0.0192,1.712473 -0.0207,2.568836 -0.001,0.719398 0.47471,1.656122 0.96015,2.185913 1.85212,2.021355 2.57309,4.862908 3.41736,7.421252 4.09306,12.633538 8.17765,25.270048 12.253,37.909318 1.63133,5.0594 0.48404,12.6935 -2.56057,17.05115 -4.74639,6.79336 -9.49265,13.58731 -14.23892,20.38067 -0.7209,1.03183 -0.83495,2.774 -0.29921,3.91294 8.50825,18.08766 8.57186,40.01283 -0.16743,58.03212 -8.25961,17.53966 -24.3077,31.27464 -43.0134,36.47064 -6.17594,1.77275 -12.60522,2.62965 -19.03191,2.61431 V 134.34736 c 4.88882,-0.008 9.77898,0.51221 14.55312,1.56062 0.57912,0.12718 1.04644,-0.24215 1.04644,-0.83509 v -12.55582 c 0,-0.55634 -0.39701,-1.22125 -0.88676,-1.48518 -2.47761,-1.33522 -4.95544,-2.66979 -7.43314,-4.00492 -3.15561,-1.70043 -5.71335,-5.98589 -5.71335,-9.57048 V 31.227035 c 0,-3.95668 2.70999,-8.879796 6.05338,-10.995712 3.47574,-2.199678 6.95201,-4.399442 10.42779,-6.59908 0.66085,-0.418219 1.03331,-1.033504 1.31027,-1.951975 0.13154,-0.436229 0.48086,-1.044302 0.82394,-1.344273 0.30043,-0.262687 0.59735,-0.5223243 0.59787,-0.5259814 a 8.3968581,8.3968581 0 0 1 5.17193,-1.5402341 z"
+ d="M 79.048299,8.2697795 H 66.581982 c -1.151584,1.7e-6 -2.611589,2.1055585 -3.367575,4.2411015 -1.478412,4.176284 -3.095661,8.311325 -4.272268,12.576993 -0.459728,1.666698 -0.750389,4.441098 -0.752926,6.170683 -0.0024,1.651129 -0.0073,3.30259 -0.01447,4.953703 -0.0025,0.574353 -0.413296,1.26835 -0.863514,1.62419 -1.987958,1.571229 -3.058563,4.071518 -3.732588,6.468339 -3.631643,10.318925 -7.168142,20.672722 -10.652063,31.041516 -0.851954,2.295672 -0.57965,4.777917 -0.628386,7.174756 0.01011,0.856305 0.01924,1.712473 0.02067,2.568836 0.0012,0.719398 -0.474712,1.656122 -0.960148,2.185913 -1.852125,2.021355 -2.573094,4.862908 -3.417363,7.421252 -4.093062,12.633538 -8.177647,25.270048 -12.252999,37.909318 -1.631331,5.0594 -0.484042,12.6935 2.560568,17.05115 4.746391,6.79336 9.492646,13.58731 14.238924,20.38067 0.720899,1.03183 0.834949,2.774 0.299206,3.91294 -8.508246,18.08766 -8.571855,40.01283 0.167432,58.03212 8.259608,17.53966 24.307698,31.27464 43.013395,36.47064 6.175941,1.77275 12.605227,2.62965 19.031913,2.61431 V 134.34736 c -4.88882,-0.008 -9.778981,0.51221 -14.553116,1.56062 -0.579126,0.12718 -1.046448,-0.24215 -1.046448,-0.83509 v -12.55582 c 0,-0.55634 0.397015,-1.22125 0.886767,-1.48518 2.477612,-1.33522 4.955432,-2.66979 7.433138,-4.00492 3.155609,-1.70043 5.713349,-5.98589 5.713349,-9.57048 V 31.227035 c 0,-3.95668 -2.70999,-8.879796 -6.053379,-10.995712 C 93.904363,18.031645 90.42809,15.831881 86.952313,13.632243 86.291461,13.214024 85.919003,12.598739 85.642045,11.680268 85.510503,11.244039 85.161181,10.635966 84.818103,10.335995 84.517666,10.073308 84.220754,9.8136707 84.220228,9.8100136 A 8.3968581,8.3968581 16.583873 0 0 79.048299,8.2697795 Z m 51.902981,0 h 12.46632 c 1.15158,1.7e-6 2.61159,2.1055585 3.36757,4.2411015 1.47842,4.176284 3.09566,8.311325 4.27227,12.576993 0.45973,1.666698 0.75039,4.441098 0.75293,6.170683 0.002,1.651129 0.007,3.30259 0.0145,4.953703 0.002,0.574353 0.41329,1.26835 0.86351,1.62419 1.98796,1.571229 3.05856,4.071518 3.73259,6.468339 3.63164,10.318925 7.16814,20.672722 10.65206,31.041516 0.85196,2.295672 0.57965,4.777917 0.62839,7.174756 -0.0101,0.856305 -0.0192,1.712473 -0.0207,2.568836 -0.001,0.719398 0.47471,1.656122 0.96015,2.185913 1.85212,2.021355 2.57309,4.862908 3.41736,7.421252 4.09306,12.633538 8.17765,25.270048 12.253,37.909318 1.63133,5.0594 0.48404,12.6935 -2.56057,17.05115 -4.74639,6.79336 -9.49265,13.58731 -14.23892,20.38067 -0.7209,1.03183 -0.83495,2.774 -0.29921,3.91294 8.50825,18.08766 8.57186,40.01283 -0.16743,58.03212 -8.25961,17.53966 -24.3077,31.27464 -43.0134,36.47064 -6.17594,1.77275 -12.60522,2.62965 -19.03191,2.61431 V 134.34736 c 4.88882,-0.008 9.77898,0.51221 14.55312,1.56062 0.57912,0.12718 1.04644,-0.24215 1.04644,-0.83509 v -12.55582 c 0,-0.55634 -0.39701,-1.22125 -0.88676,-1.48518 -2.47761,-1.33522 -4.95544,-2.66979 -7.43314,-4.00492 -3.15561,-1.70043 -5.71335,-5.98589 -5.71335,-9.57048 V 31.227035 c 0,-3.95668 2.70999,-8.879796 6.05338,-10.995712 3.47574,-2.199678 6.95201,-4.399442 10.42779,-6.59908 0.66085,-0.418219 1.03331,-1.033504 1.31027,-1.951975 0.13154,-0.436229 0.48086,-1.044302 0.82394,-1.344273 0.30043,-0.262687 0.59735,-0.5223243 0.59787,-0.5259814 1.50755,-1.0684899 3.32544,-1.6098713 5.17193,-1.5402341 z" /></g><path
+ style="fill:#c0a151;stroke-width:0.264583;fill-opacity:1;stroke:#948337;stroke-opacity:1"
+ d="M 178.48025,140.44861 163.3858,93.668055 v 21.083335 l -3.65139,-1.32917 V 78.268054 L 148.30664,45.023611 v 60.362499 l -4.46111,-2.99444 V 28.126388 l -4.16941,-11.917807 h -7.19726 v 80.154358 l -4.16481,-2.716958 V 19.673958 l -13.83241,8.754166 v 80.774206 l 14.03264,7.56573 v 31.10368 l 28.20091,23.73424 z"
+ id="path2" /><path
+ style="fill:#c0a151;stroke-width:0.264583;fill-opacity:1;stroke:#948337;stroke-opacity:1"
+ d="M 31.472221,140.44861 46.566666,93.668055 v 21.083335 l 3.65139,-1.32917 V 78.268054 L 61.645834,45.023611 v 60.362499 l 4.46111,-2.99444 V 28.126388 l 4.169402,-11.917807 h 7.197265 v 80.154358 l 4.164811,-2.716958 V 19.673958 l 13.832411,8.754166 v 80.774206 l -14.03264,7.56573 v 31.10368 l -28.20091,23.73424 z"
+ id="path1" /></g><g
+ id="emblem"
+ inkscape:label="Emblem"><ellipse
+ style="fill:#21201e;stroke-width:0.2;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-dasharray:none"
+ id="Base"
+ cx="104.78024"
+ cy="202.71603"
+ rx="60.550629"
+ ry="60.479027"
+ inkscape:label="Base" /><g
+ id="details1"
+ transform="rotate(120,104.30023,207.34563)"
+ style="stroke:#000000;stroke-opacity:1;fill:#d6d6d6;fill-opacity:1;stroke-width:0.2;stroke-dasharray:none"
+ inkscape:label="Details 1"><path
+ style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="M 101.56667,157.55972 H 90.612499 l -10.740276,16.53055 h 11.488888 l 2.459722,-3.42222 h 7.761107 z"
+ id="path6" /><path
+ style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="m 107.31643,157.89588 h 10.05762 l 10.07922,16.42059 h -10.63018 l -2.1714,-3.44617 h -7.33526 z"
+ id="path7" /><path
+ style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="M 81.938542,211.93715 97.83215,185.14756 h 13.50378 l 16.32606,27.51799 -6.8059,10.85974 H 88.844037 Z"
+ id="path14"
+ transform="rotate(-120,104.30023,207.34563)" /><path
+ style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="m 60.790277,227.99028 11.135169,-6.4289 -3.628525,-6.28479 2.155608,-3.73362 L 64.9,202.2625 55.672222,219.25139 Z"
+ id="path9"
+ transform="rotate(-120,104.30023,207.34563)" /><path
+ style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="m 75.286247,227.73847 3.953907,6.71948 4.061934,0.11883 5.822828,10.12243 -19.607482,-1.03709 -5.509541,-9.51746 z"
+ id="path10"
+ transform="rotate(-120,104.30023,207.34563)" /><path
+ style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="M 101.56667,157.55972 H 90.612499 l -10.740276,16.53055 h 11.488888 l 2.459722,-3.42222 h 7.761107 z"
+ id="path4"
+ transform="rotate(-120,104.30023,207.34563)" /><path
+ style="fill:#d6d6d6;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="m 108.14903,157.62687 h 10.05762 l 10.07922,16.42059 h -10.63018 l -2.1714,-3.44617 h -7.33526 z"
+ id="path5"
+ transform="rotate(-120,104.30023,207.34563)" /></g><g
+ id="details2"
+ style="stroke:#000000;stroke-opacity:1;fill:#7d8184;fill-opacity:1;stroke-width:0.2;stroke-dasharray:none"
+ inkscape:label="Details 2"><path
+ style="fill:#7d8184;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="m 92.820137,234.59027 2.459723,4.27014 h 18.91346 l 2.45769,-4.24042 z"
+ id="path13" /><path
+ style="fill:#7d8184;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="m 73.22287,198.36506 2.419877,4.07273 11.926535,-20.47172 -4.866761,-0.0594 z"
+ id="path11" /><path
+ style="fill:#7d8184;stroke-width:0.2;stroke:#000000;stroke-opacity:1;fill-opacity:1;stroke-dasharray:none"
+ d="m 121.6204,181.96607 4.82895,-0.0216 9.24739,16.4314 -2.62514,4.09434 z"
+ id="path12" /></g><g
+ id="outer"
+ style="stroke:#4c4b49;stroke-opacity:1"
+ inkscape:label="Outer Lines"><path
+ style="fill:none;fill-opacity:1;stroke:#4c4b49;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 84.921589,152.64911 c -15.696048,7.49503 -34.217623,21.77704 -32.322928,58.17975"
+ id="path15"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;fill-opacity:1;stroke:#4c4b49;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 123.89315,152.64911 c 15.15775,7.60284 35.90423,21.65169 33.56488,57.87616"
+ id="path17"
+ sodipodi:nodetypes="cc" /><path
+ style="fill:none;fill-opacity:1;stroke:#4c4b49;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:bevel;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
+ d="m 71.511725,248.26184 c 14.33891,9.84566 35.940685,19.76598 66.518995,-0.0762"
+ id="path18"
+ sodipodi:nodetypes="cc" /></g></g></g></svg>
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index c6eff797..de61d12e 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -1119,7 +1119,7 @@ dependencies = [
[[package]]
name = "flightcore"
-version = "2.18.2"
+version = "2.19.0"
dependencies = [
"anyhow",
"async-recursion",
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index 9851b02a..36c2034e 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "flightcore"
-version = "2.18.2"
+version = "2.19.0"
description = "Mod-manager for Northstar"
authors = ["https://github.com/R2NorthstarTools/FlightCore/graphs/contributors"]
license = "MIT"
diff --git a/src-tauri/bindings/NorthstarLaunchOptions.ts b/src-tauri/bindings/NorthstarLaunchOptions.ts
new file mode 100644
index 00000000..e3af2d19
--- /dev/null
+++ b/src-tauri/bindings/NorthstarLaunchOptions.ts
@@ -0,0 +1,3 @@
+// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
+
+export interface NorthstarLaunchOptions { launch_via_steam: boolean, bypass_checks: boolean, } \ No newline at end of file
diff --git a/src-tauri/src/northstar/mod.rs b/src-tauri/src/northstar/mod.rs
index 9191c595..0b37c3f6 100644
--- a/src-tauri/src/northstar/mod.rs
+++ b/src-tauri/src/northstar/mod.rs
@@ -7,6 +7,15 @@ use crate::util::check_ea_app_or_origin_running;
use crate::{constants::CORE_MODS, platform_specific::get_host_os, GameInstall, InstallType};
use crate::{NorthstarThunderstoreRelease, NorthstarThunderstoreReleaseWrapper};
use anyhow::anyhow;
+use serde::{Deserialize, Serialize};
+use ts_rs::TS;
+
+#[derive(Serialize, Deserialize, Debug, Clone, TS)]
+#[ts(export)]
+pub struct NorthstarLaunchOptions {
+ launch_via_steam: bool,
+ bypass_checks: bool,
+}
/// Gets list of available Northstar versions from Thunderstore
#[tauri::command]
@@ -150,14 +159,12 @@ pub fn get_northstar_version_number(game_install: GameInstall) -> Result<String,
#[tauri::command]
pub fn launch_northstar(
game_install: GameInstall,
- launch_via_steam: Option<bool>,
- bypass_checks: Option<bool>,
+ launch_options: NorthstarLaunchOptions,
) -> Result<String, String> {
dbg!(game_install.clone());
- let launch_via_steam = launch_via_steam.unwrap_or(false);
- if launch_via_steam {
- return launch_northstar_steam(game_install, bypass_checks);
+ if launch_options.launch_via_steam {
+ return launch_northstar_steam(game_install);
}
let host_os = get_host_os();
@@ -172,13 +179,11 @@ pub fn launch_northstar(
));
}
- return launch_northstar_steam(game_install, bypass_checks);
+ return launch_northstar_steam(game_install);
}
- let bypass_checks = bypass_checks.unwrap_or(false);
-
// Only check guards if bypassing checks is not enabled
- if !bypass_checks {
+ if !launch_options.bypass_checks {
// Some safety checks before, should have more in the future
if get_northstar_version_number(game_install.clone()).is_err() {
return Err(anyhow!("Not all checks were met").to_string());
@@ -224,10 +229,7 @@ pub fn launch_northstar(
}
/// Prepare Northstar and Launch through Steam using the Browser Protocol
-pub fn launch_northstar_steam(
- game_install: GameInstall,
- _bypass_checks: Option<bool>,
-) -> Result<String, String> {
+pub fn launch_northstar_steam(game_install: GameInstall) -> Result<String, String> {
if !matches!(game_install.install_type, InstallType::STEAM) {
return Err("Titanfall2 was not installed via Steam".to_string());
}
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 1863e7f8..a473e290 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -8,7 +8,7 @@
},
"package": {
"productName": "FlightCore",
- "version": "2.18.2"
+ "version": "2.19.0"
},
"tauri": {
"allowlist": {
diff --git a/src-vue/src/plugins/store.ts b/src-vue/src/plugins/store.ts
index f2f772df..e858af00 100644
--- a/src-vue/src/plugins/store.ts
+++ b/src-vue/src/plugins/store.ts
@@ -16,6 +16,7 @@ import { router } from "../main";
import { ReleaseInfo } from "../../../src-tauri/bindings/ReleaseInfo";
import { ThunderstoreMod } from "../../../src-tauri/bindings/ThunderstoreMod";
import { NorthstarMod } from "../../../src-tauri/bindings/NorthstarMod";
+import { NorthstarLaunchOptions } from "../../../src-tauri/bindings/NorthstarLaunchOptions"
import { searchModule } from './modules/search';
import { i18n } from '../main';
import { pullRequestModule } from './modules/pull_requests';
@@ -173,15 +174,21 @@ export const store = createStore<FlightCoreStore>({
}
}
},
- async launchGame(state: any, launch_options: LaunchOptions | null = null) {
+ async launchGame(state: any, passed_launch_options: LaunchOptions | null = null) {
let no_checks = false;
- if (launch_options != null) {
- no_checks = launch_options.no_checks;
+ if (passed_launch_options != null) {
+ no_checks = passed_launch_options.no_checks;
}
- if (no_checks) {
- await invoke("launch_northstar", { gameInstall: state.game_install, bypassChecks: no_checks })
+ const launch_options: NorthstarLaunchOptions = {
+ launch_via_steam: false,
+ bypass_checks: no_checks,
+ };
+
+
+ if (launch_options.bypass_checks) {
+ await invoke("launch_northstar", { gameInstall: state.game_install, launchOptions: launch_options })
.then((message) => {
console.log("Launched with bypassed checks");
console.log(message);
@@ -231,7 +238,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, launchOptions: launch_options })
.then((message) => {
console.log(message);
// NorthstarState.RUNNING
@@ -248,7 +255,11 @@ export const store = createStore<FlightCoreStore>({
}
},
async launchGameSteam(state: any, no_checks = false) {
- await invoke("launch_northstar", { gameInstall: state.game_install, launchViaSteam: true, bypassChecks: no_checks })
+ const launch_options: NorthstarLaunchOptions = {
+ launch_via_steam: true,
+ bypass_checks: false,
+ };
+ await invoke("launch_northstar", { gameInstall: state.game_install, launchOptions: launch_options })
.then((message) => {
showNotification('Success');
})