1
0
Fork 0
mirror of synced 2024-09-12 23:54:24 +12:00
Commit graph

146 commits

Author SHA1 Message Date
loathingKernel
b5901c5a6d
UninstallDialog: add option to keep the game's folder
previously, if the game's install directory had remaining untracked
data, it would not get deleted. this option force-deletes it it is
not checked.
2024-06-15 17:50:34 +03:00
Stelios Tsampas
d58c5a612f ImageManager: Add TODO about threading cover art without remote images 2024-06-08 11:32:23 +03:00
loathingKernel
88aecd0741 SteamShortcuts: Add action in the right-click drop-down menu
to export and delete game shortcuts from Steam.
2024-05-31 15:53:08 +03:00
loathingKernel
da93dc2e5e ImageManager: Add the ability to request different types of cover art images 2024-05-31 00:21:58 +03:00
loathingKernel
99bcdbaaf0 ImageManager: Download and prepare wide images too 2024-05-27 15:33:44 +03:00
loathingKernel
ef1dd2e0fe WineResolver: Quote game titles for visibility 2024-05-25 09:21:18 +03:00
loathingKernel
e1afbd879b ImageManager: Use 'tall' instead of 'card' for the names 2024-05-24 13:51:22 +03:00
loathingKernel
e0a0c7ee5d DiscordRPC: Fix Rare not updating message when running a game 2024-05-20 16:03:47 +03:00
loathingKernel
5051ead0ca ImageManager: Add wide image filenames 2024-05-20 12:52:20 +03:00
loathingKernel
21dd30c40a ImageManager: Possibly fix segmentation fault when updating images 2024-05-20 10:04:23 +03:00
loathingKernel
3b721fdd13 WinePathResolver: Disable pylint check (possibly-used-before-assignment) 2024-05-16 19:29:14 +03:00
loathingKernel
d16b3d5d68
Runners: rename proton to steam 2024-02-18 12:50:35 +02:00
loathingKernel
582b83c12b WIP 2024-02-12 21:52:08 +02:00
loathingKernel
3fe02e5026 GameProcess: Reset tried connections after accepting the dialog.
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2024-02-12 21:52:08 +02:00
loathingKernel
6be9eec3ef Rare: Offline mode kinda works again 2024-02-12 21:52:08 +02:00
loathingKernel
3313f15c9f WineResolver: Fix proton command invocation 2024-02-12 21:52:08 +02:00
loathingKernel
8bde2c2c6d Rare: Import platform specific modules only on the relevant platforms 2024-02-12 21:52:07 +02:00
loathingKernel
cd1743cb92 GameSettings: Re-strucure settings widgets
The default widgets only implement the settings for the `default` "app_name"
The game specific widgets sub-class the default widgets and implement
whatever they additionally need locally.

Remove multiple calls to save config and save when the game settings gets hidden.
2024-02-12 21:52:07 +02:00
loathingKernel
af6d7c5055 Various WIP
* Use `vars()` instead of directly accessing `__dict__`
* Remove `auto_update` from RareGame's metadata
* Correct check for updating the Steam App ID (We want to keep any changes from the user)
* Collect both Wine and Proton prefixes when removing overlay registry keys.
* Add few convenience functions in config_helper and paths.
2024-02-12 21:52:07 +02:00
loathingKernel
3c01cfc0a8 EosOverlay: Fix a few remaining issues
* Don't create path when preparing overlay download, it fails on updates.
* Concatenate the overlay install path in InstallDialog instead of passing it as `base_path`
* Respect RareGame state in in the EOS overlay form
2024-01-19 14:54:09 +02:00
loathingKernel
7ae06ff5d8 RareCore: Move entitlements request into an independent worker
Yes, we are back at this. Entitlements are important to have early
as Ubisoft redemption requires them, and they don't depend on anything
else.

* Move config helper initialization into RareCore to make it available
earlier.
2024-01-19 01:28:10 +02:00
loathingKernel
89486f882e EOSGroup: Add the option to select which overlay installation to enable 2024-01-19 00:57:16 +02:00
loathingKernel
3c43da1594 RareCore: Add options to exclude non-asset games and entitlements from startup
* Add options in settings to not request non-asset games and entitlements.

This greatly improves startup time but reduces functionality a bit. Both
options are disabled by default.

* Remove the old options to exclude Win32 and Mac games as they were no longer relevant.

* Add a performance context manager to log execution time when used.

* Fixed an issue with UbisoftGroup where multiple threads would spawn.
2024-01-19 00:57:16 +02:00
loathingKernel
a246f4ee16 EosGroup: Remake the UI and integrate with Rare's facilities
* Uninstalling the Overlay now goes through the same procedure as
uninstalling any other game.

* The available prefixes are now listed instead of hiding them inside
a combo box.

* Each listing works indepedently to enable/disable the Overlay for the prefix
2024-01-19 00:57:16 +02:00
loathingKernel
9d3e9fecea GameProcess: Add more information in the failure message when a timeout occurs 2024-01-18 16:44:27 +02:00
loathingKernel
9b10a48704 ImageManager: Reduce thread count even more 2024-01-18 16:43:03 +02:00
loathingKernel
fd22d831eb Rare: refactor timer names 2024-01-02 11:18:31 +02:00
loathingKernel
2cbe6cadd9 Rare: Add launchable addons as games in the library 2024-01-02 11:12:00 +02:00
loathingKernel
6d3dd3784e
RareCore: Temporarily disable automatic egl sync and remove UI option.
Also set some more defaults for legendary because Rare lacks support for
them. Forced at startup.

* Set `disable_auto_crossover` to `false` because we don't support CX yet.
* Set `egl_sync` to `false` because issues.
2023-12-23 13:38:29 +02:00
loathingKernel
bc485ed40b
RareCore: Don't delete overlay RareGame at exit 2023-12-17 19:34:08 +02:00
loathingKernel
1cf53e3b54
Library: Filter unreal engine entries expect for the dedicated option 2023-12-16 20:26:56 +02:00
loathingKernel
b93435d920
Lgndr: Disable legendary's update checks and ignore config file options 2023-12-16 16:23:58 +02:00
loathingKernel
bfa2335551
RareCore: Strengthen config initialization and checks
* Check if the `default_platform` option exists and it is correct
* Check if `install_dir` and `mac_install_dir` are already set
2023-12-16 15:40:01 +02:00
loathingKernel
8e573083ad
RareCore: Set install_dir and mac_install_dir on new configurations. 2023-12-16 13:52:06 +02:00
loathingKernel
c3bdffcd50
RareCore: Check if LEGENDARY_CONFIG_PATH is set before creating a new config 2023-12-16 00:39:00 +02:00
loathingKernel
097b76fc6b
FetchWorker: Update strings MacOS -> macOS 2023-12-15 23:30:13 +02:00
loathingKernel
1677ea762c
FetchWorker: Fix issue with missing MacOS assets on MacOS
Using `LegendaryCore.get_game_and_dlc_list` with platform `Windows`
updated the assets only for the `Windows` builds of the games missing
`Win32` and `MacOS` assets on clean installs. This caused Rare to not
include MacOS install options on MacOS (duh!). This might also have been
the cause that users were unable to launch games, since they where only
offered the `Windows` build of the games (big duh!).

To fix this, fetch the assets for `Win32` and `MacOS` games before getting
the final list of games and dlcs based on the `Windows` platform.

In this regard, also re-use the existing options for getting metadata to
give the option to the user to include them when updating assets. Also add
an option to include Unreal engine assets which until now were fetched
unconditionally.

* Include Unreal: When the user option is `true` or debugging.
  Defaults to `false`
* Update Win32: When the user option is `true` or debugging.
  Defaults to `false`
* Update MacOS: Force on MacOS, when the option is `true` or debugging on
  other platforms. Defaults to `true` on MacOS and is disabled,
  `false` on others

Furthermore, respect legendary's `default_platform` config option and
set it in the config on new configurations. The new method in our
LegendaryCore monkey allows us to use that option in RareGame when doing
version checks on not installed games, and not defaulting to `Windows`.

Finally, set `install_platform_fallback` to false in a new config to
avoid unwanted side-effects.
2023-12-15 16:57:32 +02:00
loathingKernel
687218d29b
RareGame: Return values only from Game for app_name and app_title
With launchable DLCs we will need to replace the InstalledGame in the
DLC with the InstalledGame from the base game so depend these properties
solely on the Game attribute. Furthermore, since we do not need backwards
compatibility any more, remove the `title` property and rename its uses
to use `app_title`
2023-12-14 23:08:29 +02:00
loathingKernel
0503cb1bb4
VerifyWorker: Use verify_stdout factory instead of direct assignment 2023-12-10 22:44:59 +02:00
loathingKernel
90f55287c0
WineResolver: Fix typo 2023-12-10 14:22:28 +02:00
loathingKernel
99eaf86507
AccountWidget: Add a Quit button in the widget in case the system tray
is unavailable (for example running in a gamescope session)

* Do not show the launch window while instantiating the application. This
probably was causing numerous issues because it was running outside of
the applications event loop. This also fixes the exit button on the login
dialog requiring `sys.exit()` to quit Rare. Now it goes through the
proper cleanup procedures.

* Make slot and signal names more uniform

* Fix a problem with RareCore connecting RareGames to the same signals
multiple times when the library was refreshed.
2023-12-10 14:21:39 +02:00
loathingKernel
ba65ffa905
Wine,WineResolver: Add more logging 2023-12-10 14:21:37 +02:00
loathingKernel
9a941e3001
Wine: Set environment through flatpak-spawn arguments
Partially fixes #305
2023-12-10 14:21:37 +02:00
loathingKernel
c2676eaa90
GameProcess: Don't spam with not found processes on startup 2023-12-07 19:39:07 +02:00
loathingKernel
9aae822295
Lgndr: Import legendary changes 2023-12-01 13:21:44 +02:00
loathingKernel
c063f5f5b9
Library: Move image loading from RareCore to the GameWidget
Instead of loading images in the showEvent of the MainWindow,
load them in the showEvent of each widget. It seems to reduce
the startup stuttering this way. With some more work
we can only load the images for the widgets that are currently
visible and reduce the stutter even more.

At the same time, reduce the number of concurrent downloads
in the image manager and add a timeout so we won't halt.
The exception from the timeout is just logged at this point,
and the download is not requeued.
2023-11-29 12:50:02 +02:00
loathingKernel
c0ac23b21d
Ubisoft: Update Ubisoft redemption widget to use RareCore
* Load and populate Ubisoft information when the page is shown instead of startup.
* List all Ubisoft games, and differentiate based on whether they been redeemed.
2023-11-28 17:15:45 +02:00
loathingKernel
d6809c287e
RareCore: Fix a problem with dialogs spawning multiple times.
RareCore was connecting RareGames to the same signals
multiple times when the library was refreshed.
2023-11-28 16:38:03 +02:00
loathingKernel
d11faa5263
ImageManager: Remove leading space 2023-11-28 16:38:00 +02:00
loathingKernel
adaf90f0a8
RareGame/RareCore: Add add_dlc method to connect a dlc with the main game
Move validation after the DLCs have been added so the can be uninstalled
too if the game can't be found.
2023-11-28 16:37:59 +02:00