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

466 commits

Author SHA1 Message Date
9876cb0aab Fix the QML registration static lib post-refactor 2024-08-22 18:45:44 -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
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
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
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
3618c509af Remove leftover console.info call 2024-06-29 15:14:34 -04:00
99785e5d68 Don't store patches in temp directories anymore
This was causing memory issues on systems (like Linux/Flatpak) where the
temp directory existed on tmpfs (aka RAM). Now they're stored in app
data and deleted when we're finished with them.

Fixes #17
2024-06-29 11:00:48 -04:00
5264753acc Only deploy on WIN32
This breaks on Linux in numerous ways
2024-06-28 05:42:37 -04:00
ac63581799 Meh, I meant to use qCritical and not qFatal 2024-06-27 22:48:26 -04:00
67fa840766 Add missing translation arg 2024-06-27 22:29:29 -04:00
ed35e95f9e Bubble up patching errors to the UI
It was asserting before and is very, very annoying to debug (I keep
having to do it today.) The errenous patch files are now deleted, too.
2024-06-27 22:27:21 -04:00
fa01b420d4 Slight adjustments to the non-auth launch parameters 2024-06-27 20:31:41 -04:00
2ab5a85741 Fix typo in Patcher assert 2024-06-27 20:31:31 -04:00
94ee8fa838 Create directory needed for version file when patching
Doesn't fix any real bugs, but just something I noticed since in
Dawntrail the first ex5 pack seems to only add a movie.
2024-06-27 20:31:19 -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
fe5fa786d7 Allow updating even if the worlds are closed
This allows updating in expansion maintenance periods. Also adds more
documentation in squareenixlogin.cpp::login.
2024-06-26 23:43:41 -04:00
f543dd433e Don't keep patches downloaded in memory
This now writes them directly to a temporary file, then renames them
when finished. This reduces the amount of memory Astra uses while
updating immensely and just makes the experience all-around much nicer.

Closes #10
2024-06-26 23:43:06 -04:00
d9b44e230c Remove "Unknown error" from login gate message
The network error should only be printed in the case where there's a
real error, otherwise it adds nothing but confusion.
2024-06-26 16:15:37 -04:00
3522b688bb Restore Flatpak support, add more scripts to help maintain it 2024-05-26 09:44:38 -04:00
e94483af2a Make the password field writeable again
This was previously disabled when you ticked "remember password" but I
ran into issues, let's try to make this work again in preparation for
0.6.0.
2024-05-26 08:43:33 -04:00
86d4fedb95 Don't try to download an invalid lodestone avatar 2024-05-26 08:34:24 -04:00