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