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

57 commits

Author SHA1 Message Date
9146599551 Add comment for QtDBus so I don't forget again 2025-02-01 10:29:23 -05:00
dd40ae01c4 Remove old vestiages of Windows Breeze icons support
This was before the new KIconThemes functions were a thing, so these
can probably be safely removed.
2025-02-01 10:25:38 -05:00
0dde52a5cc Use KIconTheme::initTheme()
See https://invent.kde.org/frameworks/kiconthemes/-/issues/3 for more
information of what this does
2024-08-22 21:46:04 -04:00
b801a73265 Port to ECMQmlModule 2024-08-22 21:36:23 -04:00
8b90f114d5 Use KConfig cmake macro for kcfgc generation 2024-08-22 21:32:56 -04: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
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
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
99555830d6 Add ProcessWatcher test 2024-08-22 17:59:05 -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
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
5264753acc Only deploy on WIN32
This breaks on Linux in numerous ways
2024-06-28 05:42:37 -04:00
3522b688bb Restore Flatpak support, add more scripts to help maintain it 2024-05-26 09:44:38 -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
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
f75fb70ac9 Use KDSingleApplication to force single instance 2023-12-31 17:48:39 -05:00
4da74915c9 Rip out Steamworks integration for now 2023-12-20 19:38:34 -05:00
a10649781e Fix order of linking zlib 2023-12-20 19:28:36 -05:00
22862ca14c Download custom wine automatically, don't use system one by default 2023-12-20 18:00:40 -05:00
9156dd9c45 Include mocs, which reduces mocs_compilation 2023-12-17 11:12:13 -05:00
37c4c0bb9c Remove WIN32 bloc 2023-12-17 10:16:44 -05:00
349cf42902 Move autotests directory to repository root 2023-12-17 10:16:21 -05:00
778ddc8ec6 Remove last usage of ${QT_MAJOR_VERSION} 2023-12-17 10:15:49 -05:00
a319839611 Fix ECM minimum version, update libphysis and fix compilation 2023-12-17 10:09:01 -05:00
af407cbf7c Enable exceptions for QCoro 2023-10-11 15:42:24 -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
61fff13502 Move launcher settings to its own class, simplify LauncherCore 2023-10-11 13:25:24 -04:00
428cbeae4c Add Qt logger helper 2023-10-10 16:47:29 -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
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
abeab75d99 Remove watchdog stuff from CMakeLists 2023-10-06 18:10:01 -04:00
c0d68c0b56 Introduce PatchList class to consolidate patchlist body parsing
This also adds tests for the class, which was desperately needed. Also
adds plenty of debug messages to pick apart problems in the patching
process.
2023-10-04 11:09:50 -04:00
201f4df179 Add back auto login functionality 2023-09-17 19:20:41 -04:00
34886cf991 Fix up CMake a bit 2023-09-17 09:31:25 -04:00
21d305fd08 Make patching asynchronous 2023-09-16 20:12:42 -04:00
2b3ee3da89 Add QCoro for coroutine goodness 2023-09-16 18:37:42 -04:00
f4a8b9ac78 Use qt_target_qml_sources 2023-09-16 17:41:51 -04:00
d1045c4500 Begin port to Qt6 2023-09-16 17:32:38 -04:00
a502d57c8f Add graphical Steam compatibility tool installer 2023-08-18 23:27:29 -04:00
4bedd006ec Initialize QtWebEngine properly 2023-08-18 22:21:38 -04:00
8dd26f74a5 Improve the config/data directory, introduce more separation
The data directory has been rearranged, and all the Dalamud data is
stored separately, so it's no longer clogging up everything. Dalamud
logs (and our own logs, when that's implemented) now exist in
XDG_STATE_HOME, instead of the data directory.

The game directory now exists under the data directory, instead of
~/.wine. The user path is set before launching the game, and it now
 exists under the data directory too. These are also prefixed to the
user and profile UUID that it belongs to.

The "keep patches" option is now implemented (which is off by default)
and it lives in the temporary directory now.
2023-08-18 14:52:06 -04:00
8b1a24f825 Ensure compliance with the REUSE specification 2023-08-05 22:14:05 -04:00
cb24aece06 Expose Astra, physis and libphysis version 2023-07-30 10:33:07 -04:00