# OpenGOAL Launcher ## Description A launcher for users to install and run the OpenGOAL project with ease ## Preview ![Launcher Preview](https://user-images.githubusercontent.com/86533397/193725375-a75dbeb0-d9f3-4e14-bf67-d872f89d11c2.png) ## Disclaimer Users are required to provide their own copy of the ISO file in order to run the game. ## Features - [x] Automatic Updates - [x] Windows Support - [x] Linux Support - [ ] Mac Support (TBD -- Not Planned) - [x] Texture Pack Management - [ ] Mod Management ## Resources - [OpenGOAL Github Organization](https://github.com/open-goal/) - [OpenGOAL Documentation](https://opengoal.dev/) - [OpenGOAL Discord](https://discord.gg/twBEFbMnqw) ## Development We are using Tauri to build a native app, but still with simple Web technology. You will need to setup the prerequesites using the instructions here https://tauri.app/v1/guides/getting-started/prerequisites/ > Additionally, this presumes your environment has WebView2 (windows) or webkit2 (linux) already available. This is a requirement for end-users as well! Many modern OSes already ship with such a thing, but it's something we'll need to investigate. - `npm install` - `npm run tauri dev` This builds the app with Tauri (this is a rust compilation, the first run will take a while) and the frontend is served via Vite -- a nice web server that will hot-reload any changes as you develop. ## Release Process ```mermaid sequenceDiagram jak-project->>jak-project: New tag is manually cut and built jak-project->>launcher: Repository Dispatch to start release launcher->>launcher: Alternatively, manually triggered release here launcher->>launcher: Build App for all supported platforms launcher->>launcher: Publish release and update latest release metadata file in repo website->>GitHub API: Website will display latest release app->>launcher: Detect new version and will prompt the user to update ```