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

811 commits

Author SHA1 Message Date
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
32c73a6126 Explicitly include QGuiApplication and add a note 2024-08-22 21:08:31 -04:00
5077ae188c Fix int conversion that's wrecking MSVC builds 2024-08-22 21:07:41 -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
732b1cdada Expand AccountManager tests with more rigorous model testing 2024-08-22 19:10:46 -04:00
aabe60cdf1 Ensure the profilesChanged signal works in the ProfileManagerTest 2024-08-22 19:00:09 -04:00
33441f06d0 Begin testing AccountManager 2024-08-22 18:57:25 -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
a22ddd13b7 Use QAbstractItemModelTester in ProfileManagerTest 2024-08-22 18:53:24 -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
b7aafea3ea Replace usage of LauncherCore::isSteamDeck with Utility::isSteamDeck
This calls into the function anyway, no need to use this version of the
function.
2024-08-22 18:48:29 -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
9876cb0aab Fix the QML registration static lib post-refactor 2024-08-22 18:45:44 -04:00
7ba1d4459e Add tests for more profile management
Adding and removing profiles, and some of the profile index functions.
2024-08-22 18:32:17 -04:00
53b6cbf7af Re-arrange more code into astra_static and introduce ProfileManagerTest 2024-08-22 18:24:22 -04:00
9d9ab245da Call physis_blowfish_free in encryptGameArg 2024-08-22 18:03:33 -04:00
99555830d6 Add ProcessWatcher test 2024-08-22 17:59:05 -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
1b1dca1bfb Set bottom padding explicitly on the login page
This fixes the look of it on the Steam Deck with the qqc2-breeze-style.
2024-08-04 22:53:39 -04:00
6278dc2a96 Make sure to use insecure fallback when reading keychain values 2024-08-04 22:50:19 -04:00
36c06eed8b Add a utility function to check the SteamDeck environment variable 2024-08-04 22:48:02 -04:00
d3478b6133 Don't lock some Steam Deck options behind --steam
It's possible to add Astra a non-Steam game shortcut, so now it should
enable the org.kde.breeze and some other stuff in that case.
2024-08-04 22:44:49 -04:00
dfe0803d76 Don't allow manually inputting a OTP when they're auto-generated 2024-08-04 22:43:32 -04:00
47f6d1035e Add tests for the utility functions 2024-07-30 21:04:47 -04:00
29cd58e62f Link to libQuotient only when BUILD_SYNC is enabled 2024-07-30 21:02:22 -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
e32a61edad Add tabs to profile & account settings
The settings are getting quite long, so let's "fix" that by separating
them into categorical settings.
2024-07-28 22:40:54 -04:00
a8190dabbc Add buttons to reset server settings to default or localhost 2024-07-28 22:29:46 -04:00
2b346cb4fd Fix developer settings 2024-07-28 22:16:55 -04:00
20eba826ee Add explicit QIcon include 2024-07-28 22:15:12 -04:00
ee6c29a559 Add explicit QGuiApplication include 2024-07-28 22:15:12 -04:00
79f0600f69 Require KF 6.4 and only pull KF 6.4 on CI 2024-07-28 22:15:12 -04:00
7dd6b259f7 Switch to libcotp upstream again
The MSVC support was merged, so there's no longer a need to use my
personal fork.
2024-07-28 22:15:12 -04:00
f9a7b3726f Update libphysis to fix further patching issues 2024-07-18 14:09:10 -04:00
9de0b319ac Don't check for frontier url unless the launcher exists
This fixes a crash when trying to create a brand new profile
2024-07-18 14:01:32 -04:00
24b5af28f1 Update libphysis to fix patching issue 2024-07-18 13:58:06 -04:00
27e8169a0f Misc code cleanup
Make more things const, auto and whatnot
2024-07-04 20:53:06 -04:00
1401f9e85e Fix the asset updater downloading and checking the wrong Dalamud channel
Whoopsie, forgot to actually add it to the URL...
2024-07-01 23:05:46 -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
b04a4af954 Update the frontier fallback URL 2024-06-29 20:16:05 -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
8c956d96c2 Use new banner API, bump referer
Fixes #7
2024-06-29 19:57:16 -04:00