Commit graph

58 commits

Author SHA1 Message Date
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_
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_
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_
099d3c232b
feat: added game/voice downloading functionality 2023-02-26 01:59:29 +02:00
Observer KRypt0n_
c7a92718db
refactor(i18n): changed i18n mod again, nothing important 2023-02-25 17:16:35 +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_
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_
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_
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_
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_
82fdb7b2a2
Changed --debug behavior to only affect stdout debug/info messages 2023-02-04 16:13:09 +02:00
Observer KRypt0n_
2a96982fd7
Components list: added on_downloaded / deleted events 2023-02-03 17:23:17 +02:00
Observer KRypt0n_
29702782e2
settings: added patch status displaying 2023-01-29 15:11:13 +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_
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_
d6b5eb6411
relm4 init commit 2023-01-18 18:37:53 +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_
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_
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_
5d26f84659
Moved to libadwaita 1.2 2022-09-24 16:52:31 +02:00
Observer KRypt0n_
00ff5c6409
Implemented updated core library and new components system (2) 2022-08-31 20:27:52 +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_
13de707baa
Added icon loading from "icon" file, added --run-game argument 2022-08-08 21:31:46 +02:00
Observer KRypt0n_
cd76c22812
Updated core library; added support for Chinese version 2022-08-06 10:42:21 +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_
724ff90329
Changed app's id 2022-08-02 23:44:33 +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_
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_
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_
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_
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_
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