1
0
Fork 0
mirror of synced 2024-05-20 04:22:58 +12:00
Commit graph

1799 commits

Author SHA1 Message Date
Stelios Tsampas 8575e4001f
Merge pull request #347 from loathingKernel/next
Rare: re-release 1.10.9 as 1.10.10 for PyPI
2023-12-18 13:32:22 +02:00
loathingKernel e08169f9d6
Rare: re-release 1.10.9 as 1.10.10 for PyPI 2023-12-18 13:27:36 +02:00
Stelios Tsampas a50fed7d5a
Merge pull request #345 from loathingKernel/next
Workflows: inherit secrets for pypi workflow
2023-12-18 13:07:27 +02:00
loathingKernel 981574ab63
Workflows: inherit secrets for pypi workflow 2023-12-18 13:06:44 +02:00
Stelios Tsampas 05471c97e2
Merge pull request #343 from loathingKernel/next
Rare: update flatpak requirements
2023-12-18 12:05:34 +02:00
loathingKernel c44ef55a14
Rare: update flatpak requirements 2023-12-18 11:59:57 +02:00
Stelios Tsampas c068b1f183
Merge pull request #342 from loathingKernel/next
Paths: Apply the executable rename in `pythonw` too
2023-12-18 10:55:26 +02:00
Stelios Tsampas b3bff4ef3f Paths: Apply the executable rename in pythonw too
Fixes launching the game launcher when Rare is installed through `pip`
on Windows.

Fixes: #339
2023-12-18 10:44:47 +02:00
Stelios Tsampas 2803319373
Merge pull request #338 from loathingKernel/next
Prepare for 1.10.9
2023-12-17 19:46:58 +02:00
loathingKernel 85d29372d4
GameSettings: Hide proton settings on macOS 2023-12-17 19:34:37 +02:00
loathingKernel bc485ed40b
RareCore: Don't delete overlay RareGame at exit 2023-12-17 19:34:08 +02:00
loathingKernel a990400e34
Rare: Release 1.10.9 2023-12-17 15:22:09 +02:00
loathingKernel 32565b3a9c
HeadBar: Update some strings 2023-12-17 01:28:56 +02:00
loathingKernel dfa60aa99f
ImportGroup: Add platform selection when importing games.
If we are importing multiple games, default to importing the native platform
if the game supports it, otherwise fallback to the Windows platform
2023-12-17 01:20:07 +02:00
loathingKernel c9264c732e
HeadBar: Default to Mac games fitler on macOS 2023-12-16 21:57:09 +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 54ac89a85a
Lgndr: Validate default platform if it is coming from the config 2023-12-16 15:36:38 +02:00
loathingKernel 5f5e471169
RareGameBase: Add default_platform property
This property reports the default platform to use for a game based
on legendary's configuration and if they platform is available in the
game's assets.

Using that property we can make better choices on what platform to operate
on without user intervention. Currently we use it to infer the platform
in when installing, importing, and calculating game versions.
2023-12-16 14:02:53 +02:00
loathingKernel 447d704de3
Lgndr: Log what config location we are using 2023-12-16 13:57:32 +02:00
loathingKernel 1139765343
ImageSize: Make Library images slightly larger to accommodate more text on macOS 2023-12-16 13:52:37 +02:00
loathingKernel 8e573083ad
RareCore: Set install_dir and mac_install_dir on new configurations. 2023-12-16 13:52:06 +02:00
loathingKernel 79df146348
Rare: expand LEGENDARY_CONFIG_PATH before using it. 2023-12-16 13:50:48 +02:00
loathingKernel 0bd34af720
ImportGroup: calculate correct install dir when importing game 2023-12-16 01:28:37 +02:00
loathingKernel 6249e56849
InstallDialog: Oooooooof.gif
* Infer the displayed to reflect where the affected directory is
  If base_path is set outside of InstallDialog, display that.
  If the game is already installed, show the installation directory
  If neither of the above is true, use legendary's inference based on
  the default platform if the game supports it. Fallback to Windows.

* Disable irrelevant and potentially harmful options when the game is
  already installed, such as the installation path, the platform selection
  and creating a shortcut.

* Infer the correct platform based on the existing installation. If it
  is not installed, use the default platform if the game supports it and
  fallback to windows.

* Move the horrible lambda used to populate the error box when the
  platform was unsupported into a separate method.
2023-12-16 00:49:51 +02:00
loathingKernel db588ed4e2
Use legendary's installation directory inference 2023-12-16 00:40:15 +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 6d5b60a56e
LegendarySettings: Add path edit for macOS specific mac_install_dir option
Used only when installing macOS games on macOS, in any other OS
the setting is set to the same value as `install_dir`
2023-12-15 23:28:49 +02:00
loathingKernel 392b4b7896
RareSettings: Always show information label in interface section 2023-12-15 23:23:32 +02:00
loathingKernel fd809c708f
UI: Update some strings 2023-12-15 23:22:55 +02:00
loathingKernel 1b85440e2b
IndicatorEdit: Set placeholder as tooltip too 2023-12-15 23:20:32 +02:00
loathingKernel cada2ae985
ImportWorker: Use default platform when importing, fallback to Windows if there is no assets for the platform 2023-12-15 17:56:33 +02:00
loathingKernel 51337116d5
RareGameBase: use default platform for version 2023-12-15 17:25:09 +02:00
loathingKernel 76083b9f07
Ui: Update some strings in RareSettings form 2023-12-15 16:58:03 +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 dfa12a0138
IconGameWidget: Make icons slightly smaller by using the Library preset
Previously the Display and Library presets were equal. Make the
icons smaller by making the Library preset ~75% of the Display.preset
2023-12-14 13:57:22 +02:00
loathingKernel cfbb6ea578
GamesTab: Initialize when first shown. 2023-12-14 13:57:04 +02:00
loathingKernel 5abae7ee16
FlowLayout: Fix overlapping widgets and remove default arguments 2023-12-14 00:49:22 +02:00
loathingKernel 23716e40d8
Lgndr: Log function name using the decorator 2023-12-13 21:29:02 +02:00
loathingKernel dda1793890
Rare: Version 1.10.8 2023-12-13 15:36:57 +02:00
Stelios Tsampas d36582bf6c
Merge pull request #335 from loathingKernel/next
Improve the login dialog
2023-12-13 15:23:36 +02:00
loathingKernel 90acf4b9ce
Lgndr: Make the decorator compatible with python 3.9
Revert this once we move to python `>=3.10`
2023-12-13 15:05:04 +02:00
loathingKernel f361828f37
Lgndr: Replace _installed_lock with a non-thread-local instance.
Since Python 3.11, `FileLock` is thread-local by default, which causes
numerous issues with Rare because of numerous operations running in
`QThreads` and `QRunnables`. To work around it, add a monkey LGDLFS class
that uses a non-thread-local instance of `FileLock`. Since the monkey class
exists, implement a `unlock_installed` method for code clarity

* Add decorate `LegendaryCore.egl_sync` with `unlock_installed`
* Log that Rare's monkeys are in use
* Add function signature protocols based on `typing.Protocol`
2023-12-13 15:05:01 +02:00
loathingKernel 9de5627be3
SideTabContainer: Set size policy for the container scrollarea container widget 2023-12-12 14:43:41 +02:00
loathingKernel 490f0dc69f
Shop: Rename module to store 2023-12-12 13:02:07 +02:00
loathingKernel 83dd118784
ShopWidget: The shop is broken, set it only show the free games and the wishlist 2023-12-12 12:48:43 +02:00
loathingKernel 0ef2497afb
QtRequests: Handle multiple requests concurrently and use caching
It is still junky but less so. It allows us to use QNetworkRequest's
caching mechanism instead of doing so on our own per-case.
2023-12-12 12:41:18 +02:00