diff options
author | GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> | 2022-11-26 23:58:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-26 23:58:46 +0100 |
commit | 516bbf8830b6038018666a7cc87684eed5f1e6aa (patch) | |
tree | eea948e924c1a3603519328dccd9f4010133df22 | |
parent | 95e01f21ef886cca8b46115e9073a0bde6c2ee69 (diff) | |
download | FlightCore-516bbf8830b6038018666a7cc87684eed5f1e6aa.tar.gz FlightCore-516bbf8830b6038018666a7cc87684eed5f1e6aa.zip |
docs: Move development docs to own file (#75)
-rw-r--r-- | README.md | 87 | ||||
-rw-r--r-- | docs/DEVELOPMENT.md | 84 | ||||
-rw-r--r-- | docs/assets/Square310x310Logo.png (renamed from assets/Square310x310Logo.png) | bin | 45552 -> 45552 bytes | |||
-rw-r--r-- | docs/assets/main-window-screenshot.png (renamed from assets/main-window-screenshot.png) | bin | 580364 -> 580364 bytes |
4 files changed, 87 insertions, 84 deletions
@@ -1,12 +1,12 @@ <p align="center"> - <img src="assets/Square310x310Logo.png" width="200px"><br> + <img src="docs/assets/Square310x310Logo.png" width="200px"><br> </p> # FlightCore A [Northstar](https://northstar.tf/) installer, updater, and mod-manager -![FlightCore screenshot](assets/main-window-screenshot.png) +![FlightCore screenshot](docs/assets/main-window-screenshot.png) ## Roadmap @@ -21,84 +21,7 @@ or ## Development -Make sure you have the necessary dependencies installed: https://tauri.app/v1/guides/getting-started/prerequisites - - -Install `npm` dependencies with - -```sh -npm install -``` - -Install UI dependencies too - -```sh -cd src-vue && npm install -``` - -Then for developing - -```sh -npx tauri dev -``` - -### Tips - -Note that you can adjust the behaviour of Tauri windows in `tauri.conf.json`, e.g. - -```json -"windows": [ - { - "fullscreen": false, - "resizable": true, - "alwaysOnTop": true, - "x": 1200, - "y": 0, - "height": 500, - "width": 300, - "title": "FlightCore" - } -] -``` - -### Docs - -In regards to storing persistent data, FlightCore uses [`tauri-plugin-store`](https://github.com/tauri-apps/tauri-plugin-store). It's a key-value store accessed in frontend to load and store small amounts of data. - -The goal is to store as little data in there as possible and instead get the necessary info on app launch. -For example the install path of Titanfall2 should be inferred everytime on launch using Steam library or Origin, so that if the player changes the install location, there's no need to sync it up with the persistent store again. -The exception to this is when Steam/Origin is unable to find the install location and the user manually selected a location instead. In this case, we don't want to re-prompt the user on every launch of FlightCore to enter the Titanfall2 install location. - -**Usage example for `tauri-plugin-store`:** - -```typescript -// Import the lib -import { Store } from 'tauri-plugin-store-api'; -// Define a store based on filename to write to -const persistentStore = new Store('flight-core-settings.json'); - -// Save change in persistent store -await persistentStore.set('northstar-release-canal', { value: "NorthstarReleasecandidate" }); - -// Grab Northstar release canal value from store if exists -var persistent_northstar_release_canal = (await persistentStore.get('northstar-release-canal')) as any; -if(persistent_northstar_release_canal) { // For some reason, the plugin-store doesn't throw an eror but simply returns `null` when key not found - // Put value from peristent store into current store - state.northstar_release_canal = persistent_northstar_release_canal.value as string; -} -else { - console.log("Value not found in store"); -} - -``` - -### Building - -Release builds are generally done via CI. To build locally, make sure typescript is compiled (`./node_modules/.bin/rollup --config`), then run `npm run tauri build`. - -### Other - -This repo uses [EditorConfig](https://editorconfig.org/) to define some basic formatting rules. Find a plugin for your IDE [here](https://editorconfig.org/#download). +If you'd like to contribute to FlightCore, see [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) ## Why yet another Northstar intaller/updater/mod-manager instead of contributing to an existing one? @@ -117,7 +40,3 @@ while they get most of the work done, each of them has their own problem. With that said, FlightCore is not written from scratch. For handling Northstar specific logic, functions are re-used from the CLI-only Northstar installer called [papa](https://github.com/AnActualEmerald/papa) by making use of the underlying library [libthermite](https://crates.io/crates/libthermite). The plan is to upstream any changes to `libthermite` so that it can be re-used by any other Rust-based Northstar installer. - -## Additional info - -Based on source code for the [Rust Tauri Introduction Video](https://www.youtube.com/watch?v=kRoGYgAuZQE&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q) diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md new file mode 100644 index 00000000..387c3220 --- /dev/null +++ b/docs/DEVELOPMENT.md @@ -0,0 +1,84 @@ +# Development + +Make sure you have the necessary dependencies installed: https://tauri.app/v1/guides/getting-started/prerequisites + + +Install `npm` dependencies with + +```sh +npm install +``` + +Install UI dependencies too + +```sh +cd src-vue && npm install +``` + +Then for developing + +```sh +npx tauri dev +``` + +## Tips + +Note that you can adjust the behaviour of Tauri windows in `tauri.conf.json`, e.g. + +```json +"windows": [ + { + "fullscreen": false, + "resizable": true, + "alwaysOnTop": true, + "x": 1200, + "y": 0, + "height": 500, + "width": 300, + "title": "FlightCore" + } +] +``` + +## Docs + +In regards to storing persistent data, FlightCore uses [`tauri-plugin-store`](https://github.com/tauri-apps/tauri-plugin-store). It's a key-value store accessed in frontend to load and store small amounts of data. + +The goal is to store as little data in there as possible and instead get the necessary info on app launch. +For example the install path of Titanfall2 should be inferred everytime on launch using Steam library or Origin, so that if the player changes the install location, there's no need to sync it up with the persistent store again. +The exception to this is when Steam/Origin is unable to find the install location and the user manually selected a location instead. In this case, we don't want to re-prompt the user on every launch of FlightCore to enter the Titanfall2 install location. + +**Usage example for `tauri-plugin-store`:** + +```typescript +// Import the lib +import { Store } from 'tauri-plugin-store-api'; +// Define a store based on filename to write to +const persistentStore = new Store('flight-core-settings.json'); + +// Save change in persistent store +await persistentStore.set('northstar-release-canal', { value: "NorthstarReleasecandidate" }); + +// Grab Northstar release canal value from store if exists +var persistent_northstar_release_canal = (await persistentStore.get('northstar-release-canal')) as any; +if(persistent_northstar_release_canal) { // For some reason, the plugin-store doesn't throw an eror but simply returns `null` when key not found + // Put value from peristent store into current store + state.northstar_release_canal = persistent_northstar_release_canal.value as string; +} +else { + console.log("Value not found in store"); +} + +``` + +## Building + +Release builds are generally done via CI. To build locally, make sure typescript is compiled (`./node_modules/.bin/rollup --config`), then run `npm run tauri build`. + +## Other + +This repo uses [EditorConfig](https://editorconfig.org/) to define some basic formatting rules. Find a plugin for your IDE [here](https://editorconfig.org/#download). + +## Additional info + +Based on source code for the [Rust Tauri Introduction Video](https://www.youtube.com/watch?v=kRoGYgAuZQE&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q) diff --git a/assets/Square310x310Logo.png b/docs/assets/Square310x310Logo.png Binary files differindex 6c21253c..6c21253c 100644 --- a/assets/Square310x310Logo.png +++ b/docs/assets/Square310x310Logo.png diff --git a/assets/main-window-screenshot.png b/docs/assets/main-window-screenshot.png Binary files differindex 7530d340..7530d340 100644 --- a/assets/main-window-screenshot.png +++ b/docs/assets/main-window-screenshot.png |