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

136 commits

Author SHA1 Message Date
cf981597c0 Add cachedLogoImage property to fix the logo image not showing up
I'm not sure if I accidentally removed this or what, but this fixes it.
2025-02-01 10:51:54 -05:00
27ee80522b Remove "Show News" setting
I think this was rarely used, and it just complicates some things.
2025-02-01 10:20:39 -05:00
5ac2002bcb Add a way to manually overwrite what's on the server
In the case where you accidentally uploaded the wrong data, or your data
is hosed to begin with.
2024-11-09 15:58:09 -05:00
807cf0e062 Improve character sync error handling, and the sync itself
Ported from libQuotient's invokeLogin to our own custom one, so we can
avoid the initial sync until login. Then, make sure we find the room
*after* the sync, not before it.

Also since I wiped the media cache from my server, I hit a crash since
it tried to open an invalid ZIP file. Now we can handle that.
2024-11-09 15:47:34 -05:00
f136f6475c Inhibit sleep on Linux when playing the game
This fixes a "deficiency" in KWin, where controller input does not
wake up the screen. You have to manually block the screen locking or
else you need to move the mouse every so often. The system could also
sleep while patching, which is really bad.

This is a really simple implementation that can be expanded upon later.
2024-08-22 21:22:56 -04:00
edffbd13dc Make some functions const & static 2024-08-22 21:06:14 -04:00
0ff1dbd4e5 Bump libphysis, and check for disk space before updating the game
This fixes a really easy situation to run into, updating the game
without the space required. Now it should warn you before continuing
into a terrible situation.
2024-08-22 20:59:04 -04:00
0775a463e8 Port to Physis' patchlist parsing, remove our own
Also start checking the available space before downloading patches to
avoid really bad situations. This will be expanded in the future.
2024-08-22 20:42:35 -04:00
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