1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-20 11:47:46 +00:00
Commit graph

44 commits

Author SHA1 Message Date
df041144c5 Move setupSsl to Utility namespace 2023-12-17 13:05:37 -05:00
81bd81e1b6 Improve patching experience further
Now there is more visible and consistent information such as the number
of patches and how far you're into the patching process. It's harder to
close or quit the window while patching to prevent errors, and
installing patches no longer freezes the window.

And fixes an issue where the boot component would never properly update.
2023-10-11 17:45:02 -04:00
45cba2c0b6 Re-arrange LauncherCore functions 2023-10-11 14:49:24 -04:00
0df05c79ad Add some more documentation to Account, AssetUpdater and LauncherCore 2023-10-11 14:40:56 -04:00
ca4d47349b Remove LauncherCore::launchGame
This is only used internally now, so we can remove it from public API
2023-10-11 14:35:10 -04:00
42d817a47c Move game running logic into its own class, shrink LauncherCore more 2023-10-11 14:30:21 -04:00
f99964b2bb Overhaul all the login classes, make the code way clearer
The old pre-async login system (especially SE's) was this weird mess
and it wasn't clear what data was flowing where, etc. Now it's a flat
function with comments and a bit better logging.
2023-10-11 14:13:42 -04:00
0bec42f836 Remove unused hasAccount function from LauncherCore 2023-10-11 13:41:22 -04:00
999a2dc311 Ensure private members are prefixed with m_ 2023-10-11 13:39:10 -04:00
f0d1e1bcbe Move LauncherCore::mgr to private, add accessor function instead 2023-10-11 13:34:43 -04:00
5be109e60b Move more LauncherCore API to private, reduce surface area
Trying to wrangle this giant class still
2023-10-11 13:29:32 -04:00
61fff13502 Move launcher settings to its own class, simplify LauncherCore 2023-10-11 13:25:24 -04:00
2d7538bae1 Add screenshots directory setting 2023-10-11 12:58:53 -04:00
b17dcaf0b2 Improve asset updater error handling, allow disabling Dalamud
In the rare situation where the goatcorp servers are offline, they
shouldn't prevent a profile from launching. This adds an option to
quickly disable Dalamud if needed.
2023-10-08 19:09:56 -04:00
2662b0e0bb Refactor parts of the Steam API support
To make the code a bit cleaner, ensure the steam api class is only
initialized if Steam support is needed. Also shuts down the steam api
too.
2023-10-08 17:55:13 -04:00
dbb03bfeff Remove unused launch functions
The official launcher, config backup tool, and sys info functions were
removed from the interface so lets yeet these unused functions from
bitrot.
2023-10-08 17:52:11 -04:00
910e023dc7 Move config to app config folder
This stops polluting the .config folder, and makes it tidier to move
configs and such.
2023-10-08 17:51:23 -04:00
bc1b6fe2c8 Add button to clear lodestone avatar cache 2023-10-08 13:22:49 -04:00
1157f7b1ab Add option to configure xiv api server url 2023-10-08 13:22:34 -04:00
043b42892e Show login errors on auto login page 2023-10-08 13:21:13 -04:00
76770acc33 Fix various typos and text label improvements 2023-10-08 13:19:23 -04:00
ea16fb8f1a Move encrypted arguments option to developer settings
This is a fairly developer-oriented option, there's no reason to set
this per-profile.
2023-10-08 13:18:05 -04:00
be14785e61 Add preferred protocol developer setting 2023-10-06 18:14:32 -04:00
b366c046e0 Remove mentions of Watchdog
It's currently bitrotting anyway, no reason to keep it for the next
release
2023-10-06 18:07:44 -04:00
7e2992ead2 Prevent auto login loop, and stop from logging in twice 2023-09-17 19:30:22 -04:00
201f4df179 Add back auto login functionality 2023-09-17 19:20:41 -04:00
90a5ffc6c8 Parallelize and speed up the login process even more
Now the asset updating process is parallelized (especially asset file
downloading). There's less wasteful usage of the patcher and game
version reading when no patches need to be installed.
2023-09-17 18:43:58 -04:00
14854a6187 Small C++ fixes 2023-09-17 09:02:11 -04:00
aaafc05079 Modernize LauncherCore 2023-09-17 08:31:24 -04:00
e211c95e21 Add currentProfile property to LauncherCore 2023-09-16 20:12:01 -04:00
2b3ee3da89 Add QCoro for coroutine goodness 2023-09-16 18:37:42 -04:00
3e7139c216 Port to declarative type registration 2023-09-16 18:01:02 -04:00
46a74830fd Add an option to hide and show the dev tools 2023-08-19 11:20:47 -04:00
a502d57c8f Add graphical Steam compatibility tool installer 2023-08-18 23:27:29 -04:00
8d4a081ad7 Make some hardcoded domains and servers configurable
Not every domain and server will be around forever, so now you can configure the two Square Enix domains used for login
and patching. And you can configure the Dalamud domain used to download assets, etc.
2023-08-18 21:36:29 -04:00
8dd26f74a5 Improve the config/data directory, introduce more separation
The data directory has been rearranged, and all the Dalamud data is
stored separately, so it's no longer clogging up everything. Dalamud
logs (and our own logs, when that's implemented) now exist in
XDG_STATE_HOME, instead of the data directory.

The game directory now exists under the data directory, instead of
~/.wine. The user path is set before launching the game, and it now
 exists under the data directory too. These are also prefixed to the
user and profile UUID that it belongs to.

The "keep patches" option is now implemented (which is off by default)
and it lives in the temporary directory now.
2023-08-18 14:52:06 -04:00
0584b3a978 Fix game installation, and move default game directory to app data 2023-08-18 12:59:07 -04:00
8b1a24f825 Ensure compliance with the REUSE specification 2023-08-05 22:14:05 -04:00
79483c1303 Add a unified news option 2023-07-31 18:59:53 -04:00
160b96229e Add way to detect if Steam Deck in the UI 2023-07-31 18:58:02 -04:00
aa2a50b50b Adapt patcher to the new Kirigami interface, and perform hash checks 2023-07-30 14:56:24 -04:00
dd1f22ab31 Remove some debug messages 2023-07-30 10:48:50 -04:00
1261abe88c Fix ownership of objects 2023-07-30 10:11:14 -04:00
16420b7421 Complete rewrite to Kirigami
Giant commit overhauling the interface to use KDE's Kirigami framework,
which is based on Qt Quick. The logic is all but rewritten, allowing
accounts to be separate from profiles.
2023-07-30 08:49:34 -04:00