1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-23 21:07:45 +00:00
Commit graph

122 commits

Author SHA1 Message Date
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
c8258421d5 Change Account::m_url to QString and rename to m_avatarUrl 2023-12-17 11:05:57 -05:00
e2f915a990 Fix more empty statements, remove some unused includes 2023-12-17 10:27:07 -05:00
ed1a68b0a2 Fix REUSE 2023-10-11 18:01:30 -04: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