From previous commits:
- updated core library; now launcher will try to repair
failed that were unnable to be patched by the hdiff patcher
- updated components list with new soda version
- limited dxvk and wine versions
Now total amount is 12 versions, where (first) 6 are recommended
- code refactoring based on clippy warnings
- fixed about window re-opening issue
- fixed game files repairing
From previous commits:
- updated core library and components library
- added (likely working) updates pre-downloading functionality
- moved to `anyhow::Result` in lots of places
- added partial support of wincompatlib
- moved to libadwaita 1.2
- fixed panicing when DXVK is not applied (`Config::try_get_selected_dxvk_info`)
- removed 100 option from fps unlocker
From previous commits:
- added support for FPS unlocker
- added support for system wine during initial setup
- added usage of xdg-portals for folders chooser during initial setup
- fixed DXVK applying using system wine
From previous commits:
- added creation of wine/dxvk folders at start if needed
- fixed ability to use system wine to run the game
- updated components (wine/dxvk) system
- reworked DXVKs UI components to support different builds
- fixed thread issues when calling `MainApp::update_state`
- updated core library; now launcher will continue downloading
of partially downloaded files
- added downloading speed limiter (`config.json` -> `launcher.speed_limit`)
- added `Config::try_get_selected_dxvk_info` method;
now launcher loads currently applied dxvk version from the wine prefix files
- added initial updates pre-downloading support (from 1.0.3 core)
- removed patch-related buttons
- changed FSR description
From previous commits:
- fixed work with `patch` folder
- reworked components downloading during initial setup
now lots of stuff happens in separate threads and launcher shouldn't freeze
also fixed sometimes weird progress bar behavior
From previous commits:
- updated core library with lots of fixes
- added new wine versions
- fixed Polish `LANG` value
- made FSync default wine sync option
- updated core library with fixed Chinese game's data folder name
- added icon loading from "icon" file, added `--run-game` argument
- fixed gamescope switcher's state loading from config
- fixed FSR switch in gamescope settings
- added new wine versions
From previous commits:
- changed preferences icon, updated main window's menu
- removed open launcher folder button from settings
- added fix for dxvk applying with spaces to the runners folder path
- updated default patch repo's mirror
- updated core library; added support for Chinese version
- added default game edition prediction based on system locale
- added ability to run the game when all patch servers are down
- used `std::process::Output` on DXVK applying instead of String
this fixes errors related to UTF-8 decoding since different systems may have
different default encodings
- added "borderless" and "virtual desktop" options to settings;
added separate FSR option to gamescope settings
- dxvk now uses wine64 to update prefix before applying patches
- added setting of `-window-mode exclusive` args to the wine when using wine FSR
- `WinePrefix::update` and so now use wine64 binary instead of wineboot
- renamed `files.wine` to `files.wine64` in `wine.json`
- `Config::try_get_wine_executable` function now return wine64 binary
- added errors toasting for initial setup window
From previous commits:
- updated core library;
this fixes getting available space on systems with lots of disks
- added patch folder selection during initial setup
- fixed error panicking when you're closing folder selection dialogue
during initial setup
- disabled mangohud if gamescope is enabled
Reworked work with config file
- now missing fields will be automatically filled;
excess fields - removed.
thanks to new code structure I can easily create
new fields or rename old ones
- improved `WineLang` enum; now launcher loads languages list dynamically
from this enum so I can easily add support for new languages
Initial setup changes
- renamed "page_*" to some actual pages names
- added voice packages selection page
- made "Advanced" button working. It shows default paths selection page
- added gamescope support
- now gamemode option will not be clickabke if gamemode is not installed
- reworked enhancements page's events
- changed winesync env variables
- added `lib::is_available` function to check packages availability
- updated core library;
added `lib::consts::TELEMETRY_CHECK_TIMEOUT` and `PATCH_FETCHING_TIMEOUT`
to specify new core-required timeouts
- fixed error message toasting when failed to run the game
- added telemetry servers acessibility checking before running the game
From previous commits:
- fixed setting game command default value in environment settings
- use `patch.root = false` by default in flatpak
- updated core library;
now launcher will check available free space
before downloading anything
- added dxvk 1.10.3
From previous commits:
- added `WINEARCH=win64` to some places
- added `devel` style to `FirstRunApp` if it's debug mode
- changed app's id
- added xdelta3 requirement during initial setup
- added wine & dxvk version selection during initial setup
- added "Open launcher folder" button to settings
- removed `glib::Downgrade` trait from all the `App`s' `Value`s
- removed `tasks` mod; removed `tokio` dependency;
rewritten `OpenPreferencesPage` to work with threads instead of futures
- added `opt-level = 3` to release profile
- upscaled logo to 512x512; added source link
- bundled all the UI files into gtk resources
- added "Open launcher folder" button to settings
- removed `glib::Downgrade` trait from all the `App`s' `Value`s
- removed `tasks` mod; removed `tokio` dependency;
rewritten `OpenPreferencesPage` to work with threads instead of futures
- added `opt-level = 3` to release profile
- made working environment variables manager
From previous commits:
- renamed `ToastError` trait to `Toast`;
renamed its `toast_error` method to `toast`;
now `toast` method will not display button if toast's message is empty
- updated `game::run` function, now it prints running command
and supports `gamemoderun`
- added automatic `DXVK_ASYNC=1` setting for dxvk-async
- added "Repair game" button
- added `repairer` field to settings file
- updated core library
From previous commits:
- made preparations for environment settings
- now launcher hides when you launch the game
- now `Config::try_get_wine_executable` can return `Some("wine")`
- removed old wine and dxvk versions;
added new Wine-GE-Proton and GE-Proton builds
- updated core library
- now general settings page displays patch version with orange color
if patch is not applied
- added working patch applying mechanism
- added `patch.root` config, and you can apply patch
without using root privilegies
- removed "Settings" main menu item because I said so
- made `VoiceoverRow` component;
added dynamic voiceovers loading
Now you can download new voiceovers, but can't delete them (WIP)
From previous commits:
- probably fixed startup gtk errors
- added "Settings" option for main window menu
- added working default paths selection in first run window
From previous commits:
- added subfolders support for blueprint compiler;
moved first_run and preferences pages to subfolders
- added 2 first run pages:
+ when you don't have some required components
+ to select default folders paths
- added automatic downloading if you already clicked "download" button
so e.g. you don't need to press "download" button two times to download the game
and then download its voiceover
- reduced amount of action calls
- added "WIP" tooltips for progress pause buttons
- added usage of config's temp path to all the installers
- added processing of `WineNotInstalled` and `PrefixNotExists` actions
- added (forgotten) launcher states updating
- updated core library to 0.1.3
- added soda wine version
- added default patch servers for config file
- with core modifications now first run window
finally works
- added `add_action` function to add actions to widgets
- added `MainApp::toast_error` method to show toast with some error
- added `lib::game` mod with `run` function to run the game
- added `lib::consts` mod with constant values like config file path
- added `lib::config` mod to control config file
- added warning subtitle to `Proton-GE` wine version selector