Commit graph

467 commits

Author SHA1 Message Date
zeGolem
1eff74489a
feat(i18n): Added french translations (#81)
This commit adds the translation and registers the language in the code,
so that french translations show up in the launcher.

This translation, though not perfect should be understandable to most
French speakers :) If you have any comments or suggestion, feel free to
leave them here!
2023-03-05 13:43:52 +01:00
Observer KRypt0n_
f8c457b699 feat(ui): moved integer scaling, fsr and nis into separate group in gamescope settings
FSR, NIS and Integer scaling got separate "upscaling" section in gamescope settings.
As well were added descriptions so users can actually
know what e.g. integer scaling is
2023-03-05 12:52:19 +02:00
Observer KRypt0n_
3c7eba4d79
feat: added game repairing function 2023-03-05 00:16:17 +02:00
Observer KRypt0n_
e008a97822
feat(i18n): changed default language from en to en-us
More like style change because it anyway is being replaced at app start
2023-03-04 23:28:52 +02:00
Observer KRypt0n_
f109454cb7 fix(i18n): forced format_lang to return regions for language codes
Standard German language code is `de` but game API requires it to be `de-de`.
With this change formatted locales always will have
region so always will fit game requirements
2023-03-04 23:24:39 +02:00
Observer KRypt0n_
e6c99ba59c
feat(ui): temporary hidden repair game button
Marked as planned to be done in 3.1.0
2023-03-04 19:36:50 +02:00
Observer KRypt0n_
3ccd66aa74
fix(ui): fixed background picture updating on "update background" switch disabled 2023-03-04 19:32:56 +02:00
Observer KRypt0n_
24c8f7fb7c
feat(core): updated core library & sdk, changed game running mechanism
New core library version contain updated voice packages sizes
for more precise versioning

New SDK version's `game::run()` function freezes thread
so now game launching should work better
2023-03-04 18:48:41 +02:00
Observer KRypt0n_
5075588f6a
fix(ui): changed some icons names to -symbolic variants 2023-03-04 13:54:18 +02:00
Observer KRypt0n_
3a51768baa
chore: changed app id
As part of launchers' unification process we decided to get rid of both neutralino and gtk versions
and release Relm4 version as default and only one with its own id
2023-03-04 12:08:27 +02:00
Observer KRypt0n_
3f6fe2b847
feat(ui): added experimental discord rpc support 2023-03-02 22:31:35 +02:00
Observer KRypt0n_
84683ded86
feat(ui): added gamescope settings support
Added gamescope settings support. As well made gamemode and gamescope switches
non-sensitive if needed packages aren't installed
2023-03-02 15:31:21 +02:00
Observer KRypt0n_
ec30411ef8
feat: added app launch flags
Added `--run-game` and `--just-run-game` flags which can be used to run the game

1st will launch the game if launcher state is `Launch`.
Otherwise launcher window will appear

2nd will launch the game on `Launch` state,
as well as on `PredownloadAvailable` and `PatchAvailable(Patch::NotAvailable)`.

As well process stopping was changed by proper app exiting
by calling `relm4::main_application().quit()`
2023-03-01 23:47:34 +02:00
Observer KRypt0n_
38c2532f49
fix: added regions to SUPPORTED_LANGUAGES
This fixes error related to background picture loading
2023-03-01 20:11:41 +02:00
Observer KRypt0n_
f465e2052b
feat(i18n): added menu items translation 2023-03-01 19:58:13 +02:00
Observer KRypt0n_
9d98f2890d
feat(ui): added backgrounds to main window buttons
Before they were transparent and e.g. settings button was nearly invisible
2023-03-01 19:48:02 +02:00
Observer KRypt0n_
5ae39efbac
fix(ui): fixed background picture updating 2023-03-01 18:59:00 +02:00
Observer KRypt0n_
7d080fcdf4
fix: fixed mistake in the previous commit
I'm such a clown lol
2023-02-28 23:04:25 +02:00
Observer KRypt0n_
a3aad7a2f4
fix: fixed (?) error on deleting non-installed voice package
I didn't test this but I think it should work lol
2023-02-28 22:52:18 +02:00
Observer KRypt0n_
f5231fe637
feat: added voice packages selection to settings 2023-02-28 22:42:08 +02:00
Observer KRypt0n_
6cc5b26561
fix: added progress bar hiding after update predownloading
As well were added proper sensitivity and css classes depending on downloading status
2023-02-27 23:44:07 +02:00
Observer KRypt0n_
f31e31ef81
feat: added update predownloading support 2023-02-27 23:19:25 +02:00
Observer KRypt0n_
08004a892b
feat: added translators credits to about window 2023-02-27 20:43:35 +02:00
Observer KRypt0n_
3b40ce75e6
feat(ui): added environment settings page
Added Environment settings page where you can specify command which
will be used to run the game, and manage
its environment variables
2023-02-26 19:15:18 +02:00
Observer KRypt0n_
6f794947b9
fix(i18n): fixed some stuff idk 2023-02-26 15:14:40 +02:00
Observer KRypt0n_
ad0893ec8b
fix(i18n): changed format of selected launcher language in config file 2023-02-26 15:07:40 +02:00
Observer KRypt0n_
c8e8413a00
feat(i18n): added automatic language settings updating from i18n mod 2023-02-26 15:05:43 +02:00
Mar0xy
6284233cfa Add de 2023-02-26 10:03:47 +00:00
Observer KRypt0n_
5ddbe87830
feat(i18n): translated wine-downloading error toasts 2023-02-26 11:56:11 +02:00
Observer KRypt0n_
84697bb917
feat: added LauncherState::WineNotInstalled state support 2023-02-26 11:50:30 +02:00
Observer KRypt0n_
099d3c232b
feat: added game/voice downloading functionality 2023-02-26 01:59:29 +02:00
Observer KRypt0n_
d80156696e
perf: ~23.5% startup performance improvements
After series of flamecharts analyzing I found some bottlenecks and fixed them
2023-02-25 23:39:50 +02:00
Observer KRypt0n_
1755faaab1
feat(core): added LauncherState::PrefixNotExists state support
Taught launcher how to create wine prefixes
2023-02-25 18:18:18 +02:00
Observer KRypt0n_
0e07cb0698
feat(core): reworked main window's messages
Some messages (relm4 component's input commands) were renamed

Added `UpdateLauncherState` message to, well, update launcher state.
By calling this status page will appear with information about
current status getting progress

Added some new error messages. Before, heavy tasks
were sending errors only to tracing logs. Now they also will generate toast messages

Added patch applying functionality to the main button.
Also made main window disappear when the game is running (like it works now in GTK launcher)
2023-02-25 18:08:25 +02:00
Observer KRypt0n_
c7a92718db
refactor(i18n): changed i18n mod again, nothing important 2023-02-25 17:16:35 +02:00
Observer KRypt0n_
681ad01835
feat(i18n): added localization to first run window 2023-02-25 16:06:43 +02:00
Observer KRypt0n_
cbd91c42aa
feat(i18n): added automatic default launcher language selection
Improved `i18n` mod to list supported languages and some other stuff

As well was added `get_default_lang` function
which will return language key based on current system language.
This function is called at the first launcher start
to update default `launcher.language` config property, so user will immediately
have proper language in initial setup window
2023-02-25 14:24:04 +02:00
Observer KRypt0n_
b7e85b7a8f
fix(ui): 🐛 added background downloading on style's change from settings
Previously launcher wasn't downloading background picture if the style was changed from the settings. This lead to situation when the window size and components position is updated, but background is fully transparent. With this change launcher will try to download picture if default background file doesn't exist. Not that launcher won't try to update this picture and this will happen only after restart, which is not an issue, I think
2023-02-24 19:31:32 +02:00
Observer KRypt0n_
6024ef885e
feat(ui): added final page to the first run window
Also loading icon was replaced by a `GtkSpinner` in components downloading page
2023-02-24 19:23:49 +02:00
Observer KRypt0n_
7e2059a33e
feat(ui): added voiceover selection page to the first run window 2023-02-24 18:21:03 +02:00
Observer KRypt0n_
5d1633efe1
feat(ui): added components downloading page to the first run window
\
2023-02-24 17:17:42 +02:00
Observer KRypt0n_
aa182e6efb
style(ui): improved style of fullscreen first run window
Centered all the components for better styling
2023-02-24 13:31:10 +02:00
Observer KRypt0n_
4bdce19063
feat(core): added speed limit applying for components downloading
Forgot to implement use of `set_downloading_speed` for components downloading. Limitation is gathered from the `config.json` file
2023-02-24 13:25:40 +02:00
Observer KRypt0n_
cd3614df83
feat(ui): added blank components downloading page to first run window
As well were experimentally changed buttons styles to "pills" (large'n'round). Maybe I'll revert this change later
2023-02-24 12:26:33 +02:00
Observer KRypt0n_
4f560eaa5e
feat(ui): added paths selection page in first run window 2023-02-24 11:13:14 +02:00
Observer KRypt0n_
9d4ad8df34
feat(ui): added new pages to the first run window
Added new "ToS warning" and "Dependencies" working pages to the first run window
2023-02-23 21:16:49 +02:00
Observer KRypt0n_
3f5ce430f9
feat(ui): initial work on adding first run window
Added blank first run window with welcome page. On first start launcher will create launcher folder and `.first-run` file inside if needed. If file exists - launcher will open first run window instead of the main one (to prevent further data loadings in `init` functions)
2023-02-23 20:37:02 +02:00
Observer KRypt0n_
fcb24f803b
feat(ui): made "update background" switcher
Now this switch will create `.keep-background` file in the launcher folder if launcher is supposed to keep current `background` file
2023-02-23 19:33:59 +02:00
Observer KRypt0n_
6340ccbd6e
feat(core): added background picture downloading 2023-02-23 16:41:13 +02:00
Observer KRypt0n_
5651544ada
style(ui): about window: updated debug info format
Slightly changed debug info messages format in about window for better readability
2023-02-23 16:39:49 +02:00
Observer KRypt0n_
82657f2db8
style(tracing): added pretty formatting to debug.log file
Should greatly improve readability
2023-02-23 14:48:06 +02:00
Observer KRypt0n_
efa96b9d2b
tracing: removed env-filter and use of RUST_LOG
it increased build size by 1 MB
2023-02-23 14:29:57 +02:00
Observer KRypt0n_
1dcc1b5403
tracing: improved logs output
- now launcher can use `RUST_LOG` variable to filter logs
- removed "called event" logs from wine/dxvk/progress bar components
Also:
- fixed constant "remove_css_class" gtk errors
2023-02-23 14:14:06 +02:00
Observer KRypt0n_
4e6325dd4f
main window: added colors and tooltips to action button
- they all depend on current launcher state
2023-02-22 22:48:36 +02:00
Observer KRypt0n_
9497136ac6
main window: made action button to follow launcher's state
- also added "open debug file" option to the header menu
2023-02-22 22:28:28 +02:00
Observer KRypt0n_
f2a04f5ebe
main window: added initial states system support 2023-02-22 22:10:37 +02:00
Observer KRypt0n_
14067c7bdf
main window: added functionality to menu actions
- added ability to send toast messages
2023-02-22 21:43:01 +02:00
Observer KRypt0n_
8199e0eac9
components: made all preferences components async
- apparently they tend to freeze without it
- also added use of `AdwStatusPage` during heavy tasks execution
2023-02-22 20:58:01 +02:00
Observer KRypt0n_
6525fbb0d9
core: done dynamic heavy tasks initialization
- now launcher is able to load some heavy stuff in background
  so they will not freeze it during start
- patch status and latest game data is loaded in background from now
- renamed some components and their messages types for consistency
2023-02-22 20:46:47 +02:00
Observer KRypt0n_
ba75180811
preferences: made settings sections separate components
- now `General` and `Enhancements` sections are relm4 components
- this change improves code structure and should help
  adding dynamic data loading on app start in future
- settings components are also not async from now because they don't need to
2023-02-22 20:13:58 +02:00
Observer KRypt0n_
3d5cf4a8f7
styles: fixed AdwStatusPage background 2023-02-22 19:44:58 +02:00
Observer KRypt0n_
76538fbf7d
appearance settings: added initial "download background" option support
- added translations for appearance section
2023-02-22 18:43:35 +02:00
Observer KRypt0n_
5870316724
general settings: added test launcher style switcher
- classic style loads its background from "config's_tmp_path/background"
  so from "launcher folder/background" by default
- icons will be changed in some future
2023-02-21 17:32:57 +02:00
Observer KRypt0n_
44d074d864
Changed debug logging
- stdout logs got rid of rustls messages and now are pretty styled
- logs are saved into the `debug.log` file in the launcher folder
  they're not filtered and contain all the messages
- toasts timeout fixed to 5 seconds
- added "save" button which will, well, not save logs
  but open `debug.log` file using `xdg-open`
2023-02-11 12:34:39 +02:00
Observer KRypt0n_
4965a9f005
Settings: added toast messages on errors 2023-02-11 11:12:57 +02:00
Observer KRypt0n_
036beac9d8
Settings: added wine/dxvk applying on one's selection 2023-02-05 14:26:40 +02:00
Observer KRypt0n_
82fdb7b2a2
Changed --debug behavior to only affect stdout debug/info messages 2023-02-04 16:13:09 +02:00
Observer KRypt0n_
5ad110a9b4
Removed unnecessary things 2023-02-04 16:05:14 +02:00
Observer KRypt0n_
fe898e6b90
Progress bar: added status translations 2023-02-04 15:48:29 +02:00
Observer KRypt0n_
28d7663420
Progress bar: added proper title updating 2023-02-04 15:40:53 +02:00
Observer KRypt0n_
0916894165
core: made some components async and updated launcher sdk
which fixed app's blocking when downloading wine/dxvk
2023-02-04 14:44:19 +02:00
Observer KRypt0n_
2a96982fd7
Components list: added on_downloaded / deleted events 2023-02-03 17:23:17 +02:00
Observer KRypt0n_
7ba025489d
preferences: added downloaded wine/dxvks lists 2023-02-03 13:25:40 +02:00
Observer KRypt0n_
29702782e2
settings: added patch status displaying 2023-01-29 15:11:13 +02:00
Observer KRypt0n_
84163c470d
config: fixed test path fox game diff getter 2023-01-28 21:19:13 +02:00
Observer KRypt0n_
bf3e58e21c
settings: added showing of installed game version 2023-01-28 21:18:24 +02:00
Observer KRypt0n_
14c425ae9b
Updated SDK 2023-01-28 20:02:06 +02:00
Observer KRypt0n_
12cf7b3e25
UI: Made progress bar component; added it to the components list 2023-01-22 14:37:19 +02:00
Observer KRypt0n_
d9086186ff
Component list: added base download/delete functions 2023-01-22 12:55:27 +02:00
Observer KRypt0n_
db24d1bd25
Components list: added base components states system 2023-01-22 12:33:26 +02:00
Observer KRypt0n_
f168862cc7
Components list: added working "recommended only" switcher 2023-01-22 11:56:56 +02:00
Observer KRypt0n_
48d7f0fc06
General settings: added wine/dxvk selection skeleton 2023-01-22 11:24:15 +02:00
Observer KRypt0n_
d38d098882
General settings: added wine & dxvk selection UI 2023-01-19 14:03:11 +02:00
Observer KRypt0n_
a3c760bbce
Tracing: added some debug and info messages 2023-01-19 13:50:54 +02:00
Observer KRypt0n_
a00df927f6
UI: added more info to the about dialog 2023-01-19 13:45:03 +02:00
Observer KRypt0n_
e3d36f1f3a
Splitted localization files & added about dialog 2023-01-19 13:23:17 +02:00
Observer KRypt0n_
7bb2ecb270
Added 3 remaining options to the fps unlocker settings 2023-01-19 12:13:53 +02:00
Observer KRypt0n_
6839ec1ba2
Implemented all remained enhancements properties 2023-01-18 19:54:07 +02:00
Observer KRypt0n_
d6b5eb6411
relm4 init commit 2023-01-18 18:37:53 +02:00
Observer KRypt0n_
7d91714d30
Added new options to the fps unlocker 2022-12-21 17:31:45 +02:00
Observer KRypt0n_
9fa5f9e306 Several changes
- updated core library with a few fixes
- improved gamer updater. Now it will not start to download next update
  before the previous one was properly applied (hdiff and so on)

Core library changes:
- updated `VOICE_PACKAGES_SIZES`
- added version prediction based on the `.version` file for voiceovers
- fixed redownloading of downloaded files in `Downloader::download_to`
2022-12-07 11:25:00 +02:00
Observer KRypt0n_
5ae3495802
1.2.1
- Updated dependencies, components and the core library;
  fixed voiceovers updating issue

From previous commits:
- Fixed `--run-game` flag work
- Fixed predownload button's state updating
- Now launcher will run the game with `--run-game` flag
  even when predownloading is available, but if update was already predownloaded
- Added `--just-run-game` flag to run game even when predownloading is available
2022-11-02 19:01:57 +02:00
Observer KRypt0n_
cae4bd5fc5
Added --just-run-game flag
to run game even when predownloading is available
2022-10-31 16:02:53 +02:00
Observer KRypt0n_
e375af1c95
Now launcher will run the game with --run-game flag
even when predownloading is available, but if
update was already predownloaded
2022-10-31 15:53:30 +02:00
Observer KRypt0n_
a462583b7b
Fixed predownload button's state updating 2022-10-31 15:30:23 +02:00
Observer KRypt0n_
f47bbfce4a
"Fixed" --run-game flag work
Yes I just added 5 secs delay before closing the app. It works so don't care
2022-10-28 18:36:45 +02:00
Observer KRypt0n_
f9bf12056d
Several changes
- 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
2022-10-01 15:42:43 +02:00
Observer KRypt0n_
eaa8379976
Not sure what I wanted to fix initially
but in the end I rewrote tons of code,
including total change of strings to PathBuf
also I fixed all the warnings generated by clippy
2022-09-30 00:00:36 +02:00
Observer KRypt0n_
d92674ca77
Fixed game files repairing 2022-09-29 19:55:20 +02:00
Observer KRypt0n_
9869696d76
Fixed wine prefix creation 2022-09-28 11:54:35 +02:00
Observer KRypt0n_
002c77a9c1
Several changes
- updated core library and components library
- added (likely working) updates pre-downloading functionality
- moved to `anyhow::Result` in lots of places
2022-09-26 15:08:29 +02:00
Observer KRypt0n_
7ac3935ab1 Added partial support of wincompatlib 2022-09-25 21:38:38 +02:00
Observer KRypt0n_
5d26f84659
Moved to libadwaita 1.2 2022-09-24 16:52:31 +02:00
Observer KRypt0n_
6fd220e633
Added support for 1.1.0 core library 2022-09-18 15:24:31 +02:00
Observer KRypt0n_
aa3d7c3ffd
1.1.0
- 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
2022-09-18 14:19:26 +02:00
Observer KRypt0n_
f751d4ac63
Added 165, 180 and 240 fps options for unlocker 2022-09-14 15:07:19 +02:00
Observer KRypt0n_
afafd6bbd1
Fixed DXVK applying using system wine 2022-09-14 14:05:44 +02:00
Observer KRypt0n_
8efd07c7fd
Added usage of xdg-portals for folders chooser during initial setup 2022-09-14 13:36:08 +02:00
Observer KRypt0n_
d8a48caf97
Added theoretical support for system wine during initial setup
(can't really check its work now; looks ok so...)
2022-09-14 12:43:33 +02:00
Observer KRypt0n_
368710fd9d
Improved FPS unlocker support
- added fullscreen and priority options
- added fps unlocker folder creation
2022-09-14 09:32:56 +02:00
Observer KRypt0n_
41dc6532d8
Fixed downloading of fps unlocker and launcher hiding 2022-09-12 00:00:17 +02:00
Observer KRypt0n_
a7b1345302
Added support for FPS unlocker 2022-09-11 23:42:58 +02:00
Observer KRypt0n_
1eedbb52a3
Added initial updates pre-downloading support (from 1.0.3 core) 2022-09-10 22:05:46 +02:00
Observer KRypt0n_
57c36ae52d
Several changes
- 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
2022-09-08 17:27:37 +02:00
Observer KRypt0n_
79d63a174e
Updated modules; fixed thread issues when calling MainApp::update_state 2022-09-02 17:42:20 +02:00
Observer KRypt0n_
8a62ed5674
Reworked DXVKs UI components to support different builds 2022-08-31 22:39:58 +02:00
Observer KRypt0n_
00ff5c6409
Implemented updated core library and new components system (2) 2022-08-31 20:27:52 +02:00
Observer KRypt0n_
c1af50b8c1
Fixed ability to use system wine to run the game 2022-08-28 17:05:02 +02:00
Observer KRypt0n_
f66624d40d
Added creation of wine/dxvk folders at start if needed
Fixes #3
2022-08-28 16:50:20 +02:00
Observer KRypt0n_
17ad2f718a
Changed repos links to github 2022-08-26 10:51:36 +02:00
Observer KRypt0n_
24673fd836
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
2022-08-25 08:32:01 +02:00
Observer KRypt0n_
4843b6f537
Updated core library, fixed work with patch folder 2022-08-24 22:07:40 +02:00
Observer KRypt0n_
b27bda582e
Fixed Polish LANG value, made FSync default wine sync option 2022-08-19 12:14:51 +02:00
Observer KRypt0n_
13de707baa
Added icon loading from "icon" file, added --run-game argument 2022-08-08 21:31:46 +02:00
Observer KRypt0n_
6e2ca304ff
Fixed gamescope switcher's state loading from config 2022-08-08 12:24:50 +02:00
Observer KRypt0n_
3bb1688e59
Fixed FSR switch in gamescope settings 2022-08-08 10:24:04 +02:00
Observer KRypt0n_
43b09f295d
1.0.0
- 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
2022-08-07 15:15:51 +02:00
Observer KRypt0n_
bfa8276a8e
Removed open launcher folder button from settings 2022-08-07 14:27:56 +02:00
Observer KRypt0n_
049a9b72a2
Changed preferences icon, updated main window's menu 2022-08-06 21:28:38 +02:00
Marie
ac8ed8dfe0 Swap patch link 2022-08-06 16:14:42 +00:00
Observer KRypt0n_
8cf0772f03
Another small fix for dxvk applying 2022-08-06 14:46:31 +02:00
Observer KRypt0n_
02abfd1b0b
Added fix for dxvk applying with spaces to the runners folder path 2022-08-06 14:45:37 +02:00
Observer KRypt0n_
ab8cc075ef
Changed abandoned patch repo link 2022-08-06 11:33:11 +02:00
Observer KRypt0n_
bc4a246ce1
Added default game edition prediction based on system locale 2022-08-06 10:50:31 +02:00
Observer KRypt0n_
cd76c22812
Updated core library; added support for Chinese version 2022-08-06 10:42:21 +02:00
Observer KRypt0n_
59b50afa63
Added ability to run the game when all patch servers are down 2022-08-06 09:46:32 +02:00
Observer KRypt0n_
a1cdf81eca
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
2022-08-05 23:22:42 +02:00
Observer KRypt0n_
08a6e3bc5e
Several changes
- 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 picture to the repo
2022-08-05 22:33:47 +02:00
Observer KRypt0n_
7efa5e4a7e
Added errors toasting for initial setup window 2022-08-05 15:13:20 +02:00
Observer KRypt0n_
7938da4b45
1.0.0-rc2
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
2022-08-04 19:45:18 +02:00
Observer KRypt0n_
bcdb0217ad
Several changes
- 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
2022-08-04 17:23:05 +02:00
Observer KRypt0n_
bf31327532
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
2022-08-04 11:47:57 +02:00
Observer KRypt0n_
82691f70f9
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
2022-08-04 01:24:25 +02:00
Observer KRypt0n_
116b31fbdb
Disabled mangohud if gamescope is enabled 2022-08-04 00:13:24 +02:00
Observer KRypt0n_
cc5e9b3d4e
0.7.1
- updated core library; new version caches patch fetching results
- added Nvidia Image Scaling option to gamescope

From previous commits:
- added `dxvk-async-1.10.3`
2022-08-03 22:37:36 +02:00
Observer KRypt0n_
ea6094daf5
0.7.0
- 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
2022-08-03 21:38:01 +02:00
Observer KRypt0n_
a5caf1a217
0.6.3
- 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
2022-08-03 13:44:48 +02:00
Observer KRypt0n_
cb1936bb6f
Use patch.root = false by default in flatpak 2022-08-03 12:56:19 +02:00
Observer KRypt0n_
bbedc288fe
Fixed settings game command default value in environment settings 2022-08-03 12:22:40 +02:00
Observer KRypt0n_
c3a6cf37de
0.6.2
- 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
2022-08-03 10:49:13 +02:00
Observer KRypt0n_
30ff83b840
Added WINEARCH=win64 to some places 2022-08-03 01:05:41 +02:00
Observer KRypt0n_
50b69482d5
Added devel style to FirstRunApp if it's debug mode 2022-08-03 00:17:46 +02:00
Observer KRypt0n_
724ff90329
Changed app's id 2022-08-02 23:44:33 +02:00
Observer KRypt0n_
e021b79ae7
Added xdelta3 requirement during initial setup 2022-08-02 20:31:28 +02:00
Observer KRypt0n_
ceffbe795a
Added wine & dxvk version selection during initial setup 2022-08-02 19:57:17 +02:00
Observer KRypt0n_
b5fe109be6
Several changes
- 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
2022-08-02 19:26:10 +02:00
Observer KRypt0n_
0baa3593ac
Several changes
- upscaled logo to 512x512; added source link
- bundled all the UI files into gtk resources
2022-08-02 18:43:07 +02:00
Observer KRypt0n_
0990340a2b
0.6.1
- added ability to edit game running command
2022-08-02 12:22:37 +02:00
Observer KRypt0n_
2d520f5e40
0.6.0
- 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
2022-08-02 10:45:37 +02:00
Observer KRypt0n_
114d388a8c
Several changes
- 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`
2022-08-02 09:38:27 +02:00
Observer KRypt0n_
85b2e6741e
Added automatic DXVK_ASYNC=1 setting for dxvk-async 2022-08-02 08:24:34 +02:00
Observer KRypt0n_
4a83100b7e
0.5.3
- 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
2022-08-01 20:04:32 +02:00
Observer KRypt0n_
21ee39ad17
Several changes
- 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
2022-08-01 14:13:26 +02:00
Observer KRypt0n_
c378f8e379
0.5.2
- 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
2022-07-31 13:42:16 +02:00
Observer KRypt0n_
1aa144bf37
0.5.1
- updated core library;
  now you can delete voice packages from settings
2022-07-30 19:17:38 +02:00
Observer KRypt0n_
2f0862946f
0.5.0
- 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
2022-07-30 11:54:11 +02:00
Observer KRypt0n_
cb1125dfbc
Probably fixed startup gtk errors 2022-07-30 09:20:11 +02:00
Observer KRypt0n_
4c5a38dfc2
0.4.0
- 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
2022-07-29 22:20:06 +02:00
Observer KRypt0n_
dcf2a7821a
Several changes
- 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
2022-07-29 14:44:48 +02:00
Observer KRypt0n_
9ff00c7085
0.3.1
- 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
2022-07-28 18:54:28 +02:00
Observer KRypt0n_
2ce9e44a86
0.3.0
- added usage of config's temp path to all the installers
- added processing of `WineNotInstalled` and `PrefixNotExists` actions
- added (forgotten) launcher states updating
2022-07-28 18:21:27 +02:00
Observer KRypt0n_
69e1c719e5
Fixed app title 2022-07-28 17:00:39 +02:00
Observer KRypt0n_
fbfba4744f
Removed excess use statements to hide warning messages 2022-07-28 14:07:16 +02:00
Observer KRypt0n_
c85805d14f
0.2.1
- removed excess code
- tested and fixed game downloading
2022-07-28 13:50:44 +02:00
Observer KRypt0n_
ecb5094785
0.2.0
- 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
2022-07-28 09:39:24 +02:00
Observer KRypt0n_
0f6ebfff55
I don't wanna die, I don't wanna die 2022-07-27 17:37:52 +02:00
Observer KRypt0n_
744f234acd
Several changes
- added new wine versions
- added automatic default folder creation
- added `latest` methods for DXVK/Wine versions
- added `wine_prefix` mod with `WinePrefix` struct to manage what do you think what
- spent lots of time trying to make the launcher
  download default wine version,
  create prefix and apply DXVK
  but it just pauses actions flow after
  ~400 KB of downloaded wine version progress
2022-07-26 23:02:43 +02:00
Observer KRypt0n_
daac4c8ff0
0.1.1
- added more system data in about dialog
- updated core library
2022-07-26 17:34:46 +02:00
Observer KRypt0n_
c7c0c3d9dc
Added about dialog 2022-07-26 10:57:12 +02:00
Observer KRypt0n_
b1b6f2d68e
Improved DXVK applying experience 2022-07-24 22:04:35 +02:00
Observer KRypt0n_
737aa7e8bc
Added hot config system, fixed gamemode option 2022-07-24 15:01:59 +02:00
Observer KRypt0n_
a6667f73d4
Updated libs, added icon to the gtk resources 2022-07-24 14:02:14 +02:00
Observer KRypt0n_
83d1a4cdf8
Fixed wine lang preference 2022-07-23 22:32:45 +02:00
Observer KRypt0n_
5fee051c43
Added temp folder path param to config
it fixes issue with huge data downloading. You can specify `null` as temp path
and then default system temp folder will be used
Also added `unwrap` everywhere I could add it
just not to see warnings in the code editor
2022-07-23 22:03:11 +02:00
Observer KRypt0n_
3f4949fc26
Several changes
- added DXVK applying
- added wine versions sorting in comborow
- fixed error toast displaying during wine/dxvk downloading
2022-07-23 17:08:50 +02:00
Observer KRypt0n_
9d5b3b27ed
Made some progress on adding game/voiceovers downloading 2022-07-17 16:59:57 +02:00
Observer KRypt0n_
a4df021a2d
Made proper voice packages processing in state getting 2022-07-16 15:25:41 +02:00
Observer KRypt0n_
bc5b9d2b45
Added foundation of the launcher states functionality 2022-07-16 14:52:20 +02:00
Observer KRypt0n_
82a6e01200
Added working wine version selection 2022-07-15 17:17:34 +02:00
Observer KRypt0n_
b6bfc4d2ec
Added dxvks downloading and deleting functionality 2022-07-15 15:09:45 +02:00
Observer KRypt0n_
741513ab91
Made an abstraction over widgets with downloading functionality 2022-07-14 23:13:00 +02:00
Observer KRypt0n_
30c7d836bd
Added ability to delete wine versions 2022-07-14 22:53:18 +02:00
Observer KRypt0n_
8de240d5a0
Added working wine downloading with unpacking progress bar 2022-07-14 22:34:01 +02:00
Observer KRypt0n_
c3413cef12
Added wine downloading feature 2022-07-14 20:50:49 +02:00
Observer KRypt0n_
fb021a0742
Added WineRow and WineGroup components, made dynamic loading 2022-07-14 15:35:33 +02:00
Observer KRypt0n_
8c0685836f
Added async preferences opening
May show white screen with no controls for unknown reason
2022-07-14 14:53:51 +02:00
Observer KRypt0n_
9817cbd989
Added DxvkRow component, made example downloading progress 2022-07-10 11:55:49 +02:00
Observer KRypt0n_
fd6e729cd4
Synced project structure with krypt0nn/gtk-example-app 2022-07-09 17:57:42 +02:00
Observer KRypt0n_
8f65f6f3a8
Reworked pages code
- added usage of `clone!` macro
- rewritten general and enhanced pages to follow new standard pattern
2022-07-04 10:35:28 +02:00
Observer KRypt0n_
0524cf80d4
Updated DXVK / wine versions UI, added dynamic data loading 2022-07-04 08:39:37 +02:00
Observer KRypt0n_
d26c75c726
Small UI changes 2022-07-04 07:33:55 +02:00
Observer KRypt0n_
edf5e69d8e
Changed FSR and DXVK HUD env values 2022-07-03 17:46:47 +02:00
Observer KRypt0n_
e2754a4eec
Synced project structure with krypt0nn/gtk-example-app 2022-07-03 17:28:07 +02:00
Observer KRypt0n_
9d5c0cc9ee
Added game voiceover selection ui 2022-07-02 18:03:32 +02:00
Observer KRypt0n_
178c45ae48
Preparations for loading page
- added `Adw.StatusPage` to the preferences
- made preparations for progress bar and launcher states system
- fixed toasts resizing window issue
2022-07-02 12:18:44 +02:00
Observer KRypt0n_
3be54b22d2
Added wine language option, added gamemode option sync 2022-07-01 21:38:12 +02:00
Observer KRypt0n_
40e6de29cf
Added FSR support in game launching 2022-07-01 21:14:08 +02:00
Observer KRypt0n_
eb2620f9cc
Added HUD support in game launching 2022-07-01 21:08:34 +02:00
Observer KRypt0n_
6cd2c326d8
Added wine sync and fsr options syncronization
- moved `WineSync` and `WineHUD` to separate files
2022-07-01 21:04:12 +02:00
Observer KRypt0n_
919d7eaaa9
Preparations for preferences updates
- added `update` methods for preferences pages
- added wine hud option synchronization
2022-07-01 20:40:45 +02:00
Observer KRypt0n_
59405f440c
Added game and patch status updating in settings 2022-07-01 20:12:25 +02:00
Observer KRypt0n_
86de977e05
Added wine sync support and prepared to add debug launch 2022-07-01 13:46:34 +02:00
Observer KRypt0n_
8bec171c5d
Changed config file format and struture
- added `Config::try_get_wine_executable` method
- fixed launher freezing when running the game
2022-07-01 12:20:08 +02:00
Observer KRypt0n_
1eed56e53a
Several changes
- 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
2022-06-30 21:40:25 +02:00
Observer KRypt0n_
48d354cc4c
Separated preferences pages, added better debugging 2022-06-29 17:58:48 +02:00
Observer KRypt0n_
992f1ad02d
Synced project structure with krypt0nn/gtk-example-app 2022-06-29 09:11:19 +02:00
Observer KRypt0n_
baca5a787f
Init commit 2022-06-28 23:59:20 +02:00