51d9551667
Remove LauncherCore dependency injection in Account/AccountManager
...
This is no longer needed, and we will need this to test this model
standalone.
2024-08-22 18:53:46 -04:00
ba89c7f487
Move Account::updateConfig to LauncherCore
...
This is the last LauncherCore dependency inside of Account, and it fits
better in LauncherCore anyway.
2024-08-22 18:50:43 -04:00
c602f01062
Move fetchAvatar from Account to LauncherCore
...
This is to head towards removing the LauncherCore dependency inside of
Account (and by extension, AccountManager.) This function should really
belong here anyway, since it uses a lot of functionality from
LauncherCore.
2024-08-22 18:46:45 -04:00
53b6cbf7af
Re-arrange more code into astra_static and introduce ProfileManagerTest
2024-08-22 18:24:22 -04:00
2ee0606a56
Small improvements to the ProcessWatcher API
...
Changes the PID parameter to qint64 to be consistent with KProcessList
and QProcess. Also adds a QObject parent parameter.
2024-08-22 17:59:00 -04:00
36c06eed8b
Add a utility function to check the SteamDeck environment variable
2024-08-04 22:48:02 -04:00
0658f09995
Send a hash filelist up to the room to ensure we don't duplicate work
2024-07-30 21:02:22 -04:00
a382c07896
Call sync() before trying to synchronize game data
...
This should hopefully cut down on old room state
2024-07-30 21:02:22 -04:00
ce1411de79
Re-open the game window (if you have that option enabled) to show sync
2024-07-30 21:02:22 -04:00
a0da4d02b7
Implement sync locking, and upload data when quitting the game
2024-07-30 21:02:22 -04:00
3d989d5790
Add CMake option for sync support
...
This is to ease the amount of work for me packaging at first, so I can
focus on the actual feature. Once all packages support it, this option
can go away.
2024-07-30 21:02:22 -04:00
3ec355e79e
WIP Sync
2024-07-30 21:02:22 -04:00
3b95982dcf
Fix Astra considering the game exited when Dalamud exits
...
This is a design limitation of the Dalamud Injector (at least from how
we use it) because we depend on the child process exiting to be when the
game exists. For vanilla games, this is true but not for Dalamud. Now we
track the PID given to us by Dalamud and use that as an indicator to
when the game exits.
This is needed to properly keep tracked of when the game exists for the
future sync feature.
2024-07-30 19:15:37 -04:00
a8190dabbc
Add buttons to reset server settings to default or localhost
2024-07-28 22:29:46 -04:00
27e8169a0f
Misc code cleanup
...
Make more things const, auto and whatnot
2024-07-04 20:53:06 -04:00
a30b26fa3a
Meh, throw out XIVAPI and fetch avatars from the Lodestone directly
...
XIVAPI was kind of unnecessary here, and on top of that it's barely
working nowadays. We can grab the image URL directly from the Lodestone,
cutting out the middleman.
2024-06-29 20:46:08 -04:00
b0b5b2916e
Dynamically grab frontier URL from the existing launcher
...
Yet another thing we no longer have to worry about updating manually,
at least as often.
Fixes #8
2024-06-29 20:08:17 -04:00
dfabcd6cd9
Add a way to use local, non-updatable Dalamud versions
...
You can now plop your own custom Dalamud installation into a "local"
folder under %APPDATA\dalamud and Astra will use it without question. It
won't update it or perform any game version checks.
2024-06-29 19:33:39 -04:00
d51ba16e5c
Error out when the boot patching server returns 404
...
Found this while testing out Kawari, apparently we didn't check this
until now.
2024-06-29 15:15:20 -04:00
146f083163
Allow launching the game to the title screen for debugging purposes
...
This is hidden under developer settings because it's not supposed to be
a user facing feature.
2024-06-27 16:38:45 -04:00
498391bbb9
Check if Dalamud version is applicable to this game version before using
...
This stops it from trying to launch even though goatcorp said no. The
check is basic but should allow Dawntrail and future expansions to work
without having to toggle Dalamud off manually.
2024-06-27 16:38:18 -04:00
4948db82be
Add a method to use existing game installations from other launchers
...
This should work for XIVLauncher.Core, XIVQuickLauncher and the official
launcher. More testing is needed of course, but the framework is there
now.
2024-05-26 08:03:52 -04:00
f5f143466b
Don't install compatibility tool on Windows
2024-05-18 18:39:08 +00:00
b852e1894f
Begin adding GitHub actions and Windows build scripts
...
Adds back Windows support, also adds a GitHub action to build it and more. May not work 100% yet, but it's a good start.
2024-04-27 16:38:22 +00:00
346f4eae9e
Add action to quickly open the user folder in account settings
2024-04-19 20:50:14 -04:00
b7c67b3f70
Expose a RenderDoc capture option
...
I used this before as a hack, but now it's properly exposed as a
developer setting.
2024-04-19 20:37:51 -04:00
49f8aae877
Add support for installing the official benchmark
...
This uses the same profile system as the regular game, and can be used
to download the current benchmark (currently hardcoded, to be fixed
later.) Or as always, install it offline from an existing zip.
2024-04-19 20:32:28 -04:00
5078da4e84
Disable the account switcher when there's only one account
2024-04-01 15:15:30 -04:00
b0122b736c
Fix compile warning about class/struct mixup
2024-04-01 15:03:10 -04:00
dc01f3e214
Overhaul parts of the initial setup flow
...
This removes the separate "download new game" page and rolls in into the
main profile setup. Also adds a feature to install the game from an
existing executable, in the event the official servers are down or
missing. Also shifts around some of the buttons and text.
2024-04-01 14:54:41 -04:00
8e4c032b3c
Hide DirectX 9 option if not available
2024-03-23 12:51:48 -04:00
2d217df1c6
Fix numProfiles call used in profiles page
2024-03-23 12:44:34 -04:00
d1c0a89cda
Keep updating the boot component until there is no patches left
2024-03-23 11:28:11 -04:00
001e20b1b8
Add game logo image to the login page
...
This loads the A Realm Reborn logo (for now) from the game and displays
in on the login page.
2024-03-22 20:12:06 -04:00
51715ca3be
Make Dalamud asset downloading more reliable
...
This uses the complete package which should prevent partial downloads.
In the future it should check for the hashes they give us.
2024-02-24 11:48:02 -05:00
f6ddc0193e
Hide change profile button if only one profile is used
2023-12-31 17:28:31 -05:00
f3c46d3a3b
Move logs to data directory
2023-12-31 17:23:55 -05:00
ef953221a0
Set Windows version in wine prefix to Windows 7
2023-12-23 11:11:02 -05:00
53603f4032
Introduce utility functions to read/write version files
2023-12-21 20:30:32 -05:00
167a94a2fe
Async WritePassword hates me
2023-12-20 21:52:43 -05:00
d9a578d857
Log warnings when keychain fails
2023-12-20 21:23:38 -05:00
c6300dfc9b
Download and install DXVK
2023-12-20 20:19:48 -05:00
13a5fda828
Enable typing in the password first, then remembering the password later
2023-12-20 19:47:57 -05:00
4da74915c9
Rip out Steamworks integration for now
2023-12-20 19:38:34 -05:00
22862ca14c
Download custom wine automatically, don't use system one by default
2023-12-20 18:00:40 -05:00
b8f3cb0430
Check login gate status too
2023-12-17 13:24:08 -05:00
df041144c5
Move setupSsl to Utility namespace
2023-12-17 13:05:37 -05:00
6e33379f4f
Misc code cleanup, remove duplicate code, improve if checks
2023-12-17 12:01:28 -05:00
22a99ecbd8
Move CurrentProfile setting to astrastaterc
2023-12-17 11:23:17 -05:00
9676fcd4ef
Replace QVector with QList
2023-12-17 11:07:34 -05:00