an-anime-game-launcher/README.md
2022-01-03 23:20:37 +02:00

196 lines
5.3 KiB
Markdown

<img src="repository-pics/logo.jpg">
<img src="repository-pics/launcher-main.png">
<img src="repository-pics/launcher-settings.png">
<br><br>
### Please, try to use "An Anime Game" phrase instead of the real game name to avoid search engines parsing
<br><br>
# Status
| Game version | Launcher version | Patch version |
| :---: | :---: | :---: |
| 2.3.0 | 1.9.1 | 2.3.0 stable ✅ |
We have our own [An Anime Game](https://discord.gg/ck37X6UWBp) discord server where you can ask any questions
### AppImage
Download AppImage from [Releases](https://gitlab.com/KRypt0n_/an-anime-game-launcher/-/releases) page
### For arch users
This launcher is also available as the [an-anime-game-launcher-bin](https://aur.archlinux.org/packages/an-anime-game-launcher-bin) AUR repository
<br>
## Usage statistics
### 2.2.0 — 29 total
<img src="repository-pics/stats/2.2.0.png">
### 2.3.0 — 99 total
<img src="repository-pics/stats/2.3.0.png">
> You can suggest colors for your countries
<br>
# Requirements
To work this launcher requires
| Name | Description |
| --- | --- |
| webkit2gtk | To run Neutralino apps |
| unzip | To unpack zip archives (DXVKs / wines) |
| tar | To unpack tar archives (DXVKs / wines) |
| git | To check for new versions of the launcher |
| curl | To download archives with game, voice data, runners and so on |
| xdelta3 | To apply the patch to the game |
| cabextract | To install fonts to the wine prefix |
| notify-send | To send system notifications |
## Install
### apt-get
```sh
sudo apt-get install unzip tar git curl xdelta3 cabextract notify-send
```
### pacman
```sh
sudo pacman -Syu unzip tar git curl xdelta3 cabextract notify-send
```
### dnf
```sh
sudo dnf install unzip tar git curl xdelta cabextract notify-send
```
# Additional requirements
| Name | Description |
| --- | --- |
| [MangoHud](https://github.com/flightlessmango/MangoHud) | To use MangoHud |
| [vkBasalt](https://github.com/DadSchoorse/vkBasalt) | To use shaders |
| [GameMode](https://github.com/FeralInteractive/gamemode) | To use GameMode (performance optimization) |
| [switcheroo-control](https://gitlab.freedesktop.org/hadess/switcheroo-control/) | To select the GPU launcher should use to run the game |
These requirements can't be easily installed so you should do it manually
They're required only for some specific functions
# Development
## Download
```sh
git clone https://gitlab.com/KRypt0n_/an-anime-game-launcher
cd an-anime-game-launcher
yarn
yarn neu update
```
## Run
```sh
yarn dev
```
## Build
```sh
yarn build
```
## Bundle to AppImage
```sh
yarn bundle
```
# Roadmap
This is our current roadmap goals. You can find older ones [here](ROADMAP.md)
## ➤ To 3.0.0 release
### 2.0.0 release goals - moving launcher to Neutralino
#### Core functionality
* <s>Make `constants` class to store launcher's constants</s>
* <s>Make `Downloader` class to download files</s>
* <s>Make `Archive` class to work with archives</s>
* <s>Make `DXVK` class to manage DXVK installations</s>
* <s>Make `Runners` class to manage wines installations</s>
* <s>Make `Configs` class to manage launcher's configs</s>
* <s>Make `Game` class to control game-related features</s>
* <s>Ability to parse current installed version</s>
* <s>Ability to get latest available version</s>
* <s>Ability to download and install updates</s>
* <s>Make `Voice` class to control voice packages-related features</s>
* <s>Ability to parse current installed voice packs and get selected one</s>
* <s>Ability to get latest available voice packs</s>
* <s>Ability to download and install updates</s>
* <s>Make `Patch` class to control patch-related features</s>
* <s>Ability to get current installed patch</s>
* <s>Ability to get latest available patch</s>
* <s>Ability to download and install it</s>
* <s>Add project binaries bundling</s>
* <s>AppImage</s>
#### Launcher functions
* <s>Make `Launcher` class to manage launcher-related features</s>
* <s>Downloading progress</s>
* <s>Launcher state functionality</s>
* <s>Game launch available</s>
* <s>Game update (installation) required</s>
* <s>Voice data update (installation) required</s>
* <s>Patch unavailable</s>
* <s>Test patch available</s>
* Make Svelte components
* <s>Checkbox</s>
* <s>Selectbox</s>
* <s>SelectionList</s>
* SelectableCheckbox
* PropertiesEditor
* <s>Add `svelte-i18n`</s>
* <s>Telemetry checking</s>
* <s>Tooltips for some options</s>
* <s>Debugger</s>
* <s>Splash screen</s>
* <s>Theming system</s>
* <s>Game pre-installation</s>
* <s>Default runner and DXVK auto-installation</s>
* Shaders menu
* Discord RPC settings
* Ability to hide some runners families
* Proper wine process monitoring
* Statistics window
* Ability to change the temp directory where the launcher should download some files
* Launcher auto-updates
* Changelog window
* Rewrite sass code, provide more flexible theming ability
### Features
* <s>Use `LauncherLib.getGameVersion` function instead of the `config.json`'s `version` property</s> *(deprecated due to the new core functions)*
* Add downloading pause button
* Fix button flickering at start when the launcher's state updates
* Screenshots explorer
* Add Patch category in settings menu with
- Always participate in patches testing
- Applying anti login crash patch
- Remove patch