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

92 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
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
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
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
27e8169a0f Misc code cleanup
Make more things const, auto and whatnot
2024-07-04 20:53:06 -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
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
3522b688bb Restore Flatpak support, add more scripts to help maintain it 2024-05-26 09:44:38 -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
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
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
e7b2802545 Extract all expansion logos and pick the highest one 2024-03-22 20:29:00 -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
eb2da87add Oops, remove Steam Deck hack 2023-12-20 21:25:30 -05:00
d9a578d857 Log warnings when keychain fails 2023-12-20 21:23:38 -05:00
13a5fda828 Enable typing in the password first, then remembering the password later 2023-12-20 19:47:57 -05:00
123d0ea6f7 Add alternate ways if checking for Steam Deck 2023-12-20 17:08:55 -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
9156dd9c45 Include mocs, which reduces mocs_compilation 2023-12-17 11:12:13 -05:00
a319839611 Fix ECM minimum version, update libphysis and fix compilation 2023-12-17 10:09:01 -05: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
ca4d47349b Remove LauncherCore::launchGame
This is only used internally now, so we can remove it from public API
2023-10-11 14:35:10 -04:00
42d817a47c Move game running logic into its own class, shrink LauncherCore more 2023-10-11 14:30:21 -04:00
f99964b2bb Overhaul all the login classes, make the code way clearer
The old pre-async login system (especially SE's) was this weird mess
and it wasn't clear what data was flowing where, etc. Now it's a flat
function with comments and a bit better logging.
2023-10-11 14:13:42 -04:00
0bec42f836 Remove unused hasAccount function from LauncherCore 2023-10-11 13:41:22 -04:00
999a2dc311 Ensure private members are prefixed with m_ 2023-10-11 13:39:10 -04:00
f0d1e1bcbe Move LauncherCore::mgr to private, add accessor function instead 2023-10-11 13:34:43 -04:00
5be109e60b Move more LauncherCore API to private, reduce surface area
Trying to wrangle this giant class still
2023-10-11 13:29:32 -04:00
61fff13502 Move launcher settings to its own class, simplify LauncherCore 2023-10-11 13:25:24 -04:00
e2ad7e71d5 Add update config step to work around some launch issues
This will update the config file on boot to prevent stalls due to the
opening cutscene movie, and also update the screenshot dir.
2023-10-11 13:03:23 -04:00
2d7538bae1 Add screenshots directory setting 2023-10-11 12:58:53 -04:00
24f256338d Save the last profile selected in the launcher in the config 2023-10-08 20:05:37 -04:00
67dcd90058 Overhaul initial setup flow, again
This improves the flow drastically, first by porting it from MobileForm
to FormCard. Next, it fixes some of the annoying bugs such as the
profile not switching properly when adding a new profile. Selecting an
existing game path is now possible, and it's less likely you can enter
in invalid account credentials. The overall look and behavior of some
of the pages is improved.
2023-10-08 20:01:17 -04:00
b17dcaf0b2 Improve asset updater error handling, allow disabling Dalamud
In the rare situation where the goatcorp servers are offline, they
shouldn't prevent a profile from launching. This adds an option to
quickly disable Dalamud if needed.
2023-10-08 19:09:56 -04:00
7280aa5a48 Use a better default wine prefix path
This manages prefixes by default, like we do with game installs and user
documents now. It's still possible to point to an existing wine prefix.
2023-10-08 18:15:41 -04:00
c05311fccc Add better logging
Astra's own logs are now stored in a rotating log, the default message
format is improved. The client and DXVK now dump their logs in the same
place instead of in the game directory.
2023-10-08 18:02:02 -04:00
2662b0e0bb Refactor parts of the Steam API support
To make the code a bit cleaner, ensure the steam api class is only
initialized if Steam support is needed. Also shuts down the steam api
too.
2023-10-08 17:55:13 -04:00
f44c392eb0 LauncherCore: Add some more asserts 2023-10-08 17:52:44 -04:00