Commit graph

223 commits

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