Commit graph

247 commits

Author SHA1 Message Date
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