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

57 commits

Author SHA1 Message Date
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
e2ad7e71d5 Add update config step to work around some launch issues
This will update the config file on boot to prevent stalls due to the
opening cutscene movie, and also update the screenshot dir.
2023-10-11 13:03:23 -04:00
2d7538bae1 Add screenshots directory setting 2023-10-11 12:58:53 -04:00
24f256338d Save the last profile selected in the launcher in the config 2023-10-08 20:05:37 -04:00
67dcd90058 Overhaul initial setup flow, again
This improves the flow drastically, first by porting it from MobileForm
to FormCard. Next, it fixes some of the annoying bugs such as the
profile not switching properly when adding a new profile. Selecting an
existing game path is now possible, and it's less likely you can enter
in invalid account credentials. The overall look and behavior of some
of the pages is improved.
2023-10-08 20:01:17 -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
7280aa5a48 Use a better default wine prefix path
This manages prefixes by default, like we do with game installs and user
documents now. It's still possible to point to an existing wine prefix.
2023-10-08 18:15:41 -04:00
c05311fccc Add better logging
Astra's own logs are now stored in a rotating log, the default message
format is improved. The client and DXVK now dump their logs in the same
place instead of in the game directory.
2023-10-08 18:02:02 -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
f44c392eb0 LauncherCore: Add some more asserts 2023-10-08 17:52:44 -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
d39c702d0a Add more error handling in auto login 2023-10-06 18:09:50 -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
481fb8214f Make Dalamud inject method/delay settings work, remove opt out setting
The automatic marketboard setting seems to have disappeared recently.
2023-09-20 16:28:59 -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
8d103c33d8 Modernize Profile 2023-09-17 08:51:26 -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
d1045c4500 Begin port to Qt6 2023-09-16 17:32:38 -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
564aef5ecf Choose the highest Proton version available instead of hardcoding 7.0 2023-08-18 23:03:13 -04:00
7211de2970 Add support for switching between languages in the Global client
This includes Japanese, English, German and French - instead of being stuck to English only. I don't have access to a
Chinese or Korean client, so these options are not available.
2023-08-18 22:36:33 -04:00
18d416011a Make news page loading more obvious, and show if there's no news
If there's no news available (e.g. the server is down, or no internet
connection) make it look a little bit nicer.
2023-08-18 21:48:46 -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
348bd0939e Fix tools not launching due to missing environment 2023-07-31 19:36:03 -04:00
202252503b Fix order of operations of asset updater in login process 2023-07-31 19:24:37 -04:00
63674ba7f5 Add some debug messages to help debug login problems 2023-07-31 19:24:01 -04:00
a656363642 Set a "launching game..." stage message 2023-07-31 19:23:28 -04:00
0a01e79875 Remove some unused debug code 2023-07-31 19:00:05 -04:00
79483c1303 Add a unified news option 2023-07-31 18:59:53 -04:00