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

1566 commits

Author SHA1 Message Date
loathingKernel
ddbd94354c
UI: Update LegendarySettings UI file 2024-02-20 13:36:06 +02:00
lennard
91d8cb336d
Update languages 2024-02-19 23:54:58 +01:00
lennard
f2c63aa3b4
Set desktop file name to fix default icon on wayland 2024-02-19 22:44:12 +01:00
loathingKernel
5b217e0b15
Overlay: remove print statements 2024-02-18 12:54:24 +02:00
loathingKernel
d16b3d5d68
Runners: rename proton to steam 2024-02-18 12:50:35 +02:00
loathingKernel
68ea7b9ca1
Merge branch 'develop' of github.com:loathingKernel/Rare into develop 2024-02-17 19:00:33 +02:00
Stelios Tsampas
db3cf68d19 LaunchSettings: Work around path separator difference on Windows 2024-02-17 18:38:29 +02:00
loathingKernel
5359b73c35
Settings: Use membership instead of double inheritance 2024-02-16 13:03:27 +02:00
loathingKernel
6db35d1f1e
RareApp: Call quit on instance 2024-02-16 12:28:00 +02:00
loathingKernel
e776ed457a
WineSettings: Order executable before prefix 2024-02-16 12:27:06 +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
6a747ce0f7 Rare: Move sub-commands implementations in the commands subfolder
Right now we have two commands, and with possible third one comming soon.
2024-02-12 21:52:08 +02:00
loathingKernel
2f84a501d5 Launcher: Color output to STDERR as a slight red 2024-02-12 21:52:08 +02:00
loathingKernel
b7b1bc6406 RareSettings: Use QDesktopServices to open the file manager for us 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
b1e537af43 Library: Initialize only one view on each run
Do not create multiple library views and remove the ability to switch
between them on the fly. Add an option in settings to select the preferred
view. The view will be used the next time Rare is started.
2024-02-12 21:52:08 +02:00
loathingKernel
7c3d5dc9e8 Library: Clean up how changing views works
* Pass python IntEnum objects instead ints for LibraryFilter/Order/View
  We only want to store them as integers to avoid QVariant gibberish

*
2024-02-12 21:52:08 +02:00
loathingKernel
4f4689e82b RareSettings: Add global options for style sheets and color schemes
* Add an option to select the library view mode.
  This will allow us to instantiate only one library view at startup,
  reducing time and complexity of the process.
2024-02-12 21:52:08 +02:00
loathingKernel
3313f15c9f WineResolver: Fix proton command invocation 2024-02-12 21:52:08 +02:00
loathingKernel
52d2ca7cc7 Config: Re-arrange arguments to match the rest of the function signatures 2024-02-12 21:52:08 +02:00
loathingKernel
b84686aba6 Overlay: Clean old code 2024-02-12 21:52:08 +02:00
loathingKernel
2d3a8deec1 Rare: Update some strings 2024-02-12 21:52:08 +02:00
loathingKernel
8a3bdbdd91 Rare: Improve translation handling
* Remove base Qt translations from repo, load translations from Qt itself
* Prefix translation `qm` files with `rare_`.
* Rename `translation_source.ts` to simply `source.ts`
* If the selected language matches the system local, remove the option from the configuration.
2024-02-12 21:52:08 +02:00
loathingKernel
f088fc95b6 RareApp: Fix wrong logging qualifier 2024-02-12 21:52:08 +02:00
loathingKernel
284543a6d9 Rare: Decouple Rare's locale from legendary's
* Instead of using legendary's locale as fallback, use system't locale
as default.
* Do not hardcode language names and countries but use QLocale on
the translation filenames.
2024-02-12 21:52:08 +02:00
loathingKernel
94030055cf Wrappers: Add a combobox with existing wrappers for the user to choose from.
Add a combobox in the "Add wrapper" dialog, populated with existing
user-defined wrappers from other games.
2024-02-12 21:52:08 +02:00
loathingKernel
fb91a55f30 Dialogs: Use consistent dialog titles for the launcher's dialogs 2024-02-12 21:52:08 +02:00
loathingKernel
e8e4ed739b Remove some unused imports 2024-02-12 21:52:08 +02:00
loathingKernel
8df9b08e7e WrapperDialog: Use subtitle 2024-02-12 21:52:07 +02:00
loathingKernel
a104cf4518 Wrappers: Add WrapperDialog based on ButtonDialog for consistent look and feel 2024-02-12 21:52:07 +02:00
loathingKernel
1cfcb783c2 EnvVars: Add MANGOHUD as read-only 2024-02-12 21:52:07 +02:00
loathingKernel
a15a2fbbe2 OverlaySettings: Refactor to be more event-driven complaint 2024-02-12 21:52:07 +02:00
loathingKernel
f33c89a411 Library: Fix filtering while searching for games 2024-02-12 21:52:07 +02:00
loathingKernel
aadf795d21 Overlays: Reorder method assignments 2024-02-12 21:52:07 +02:00
loathingKernel
bb5b0f1585 Overlays: Update title strings 2024-02-12 21:52:07 +02:00
loathingKernel
98213d1ce5 HeadBar: Return LibraryFilter/Order object from current_filter/order instead of int 2024-02-12 21:52:07 +02:00
loathingKernel
49ad79e871 Rare: be more explicit when checking for running platform 2024-02-12 21:52:07 +02:00
loathingKernel
17066f9a67 Rare: cherry-pick some of sourcery suggestions 2024-02-12 21:52:07 +02:00
loathingKernel
8bde2c2c6d Rare: Import platform specific modules only on the relevant platforms 2024-02-12 21:52:07 +02:00
loathingKernel
0ea29bc941 HeadBar: Use int as the data type for the combo boxes and improve checks
Also fix an exception when the setting in the config was faulty we were
looking for the wrong data type in the combobox data.
2024-02-12 21:52:07 +02:00
loathingKernel
0ea4b1a824 Dialogs: Re-implement all dialogs on top of a few common super-classes
Also add a dialog to select optional downloads before verifying
and refactor the move widget into a full-fledged dialog.

To keep dialogs in a common format and allow them to share the same
properties, three classes of dialogs have been implemented inheriting from
each other.

The classes are `BaseDialog` -> `ButtonDialog` -> `ActionDialog`

* Basedialog: is the basis of all dialogs and is responsible for
rejecting close requests from the window manager and the keyboard.
It also restricts access to `exec()` and `exec_()` because they are harmful.
It serves as the basis of Launch and Login dialogs

* ButtonDialog: is offering buttons for accepting or rejecting the presented
option. It implements its own buttons and exposes abstract methods to
implement handling in them. It restricts access to `close()` because these
dialogs should always product a result.
It is the basis of Uninstall, Selective dialogs.

* ActionDialog: in addition to the ButtonDialog, it offers an action buttom
with to validate the form or to make the dialog unable to close. It serves
as the basis of Install and Move dialogs.

Accordingly all dialogs in Rare have been updated to use these classes.
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
7a5bb0b732 RareGame: Use None for unset steam appid. 2024-02-12 21:52:07 +02:00
loathingKernel
36ad33b8f3 SteamGrades: Return the Steam game ID with the grade and store it.
This allows compatibility tools that use the SteamAppId environment
variable to make decisions or apply fixes do their job more accurately.

Also use the stored variable to provide a link to protondb through
the grade label in GameInfo.

The steam grades now use the orjson library to load Steam's ~6MB
database faster.
2024-02-12 21:52:07 +02:00
loathingKernel
07b5d381f0 SideTabContainer: Align top by default 2024-02-12 21:51:42 +02:00
loathingKernel
b67c391a26 Chore: fix argument name in keyPressEvent 2024-02-12 21:51:42 +02:00
loathingKernel
9eb5f2c51e Dialogs: Align contents on center when the WM doesn't respect the dialog size
Useful for `gamescope`'s `--force-windows-fullscreen` mode
2024-02-12 21:51:42 +02:00
loathingKernel
88b6e91530 BrowserLogin: Add dedicated application mode to Rare for the webview login page
Add a sub-application to Rare to launch the webview for logging into EGS.
The sub-application operates similatly to the `laucher` sub-application and
it is autonomous. After a successful login in returns the exchange code
to the standard output to be parsed and used by the login dialog.

The reason this implementation was chosen is because when pywebview uses
pyqtwebengine as the GUI library, we cannot launch it through Rare as
it tries to spawn a QMainWindow inside an existing event loop, which is
prohibited by Qt.

Despite that, EGS login page doesn't work correctly with QtWebEngine,
so on linux default to the GTK backend for pywebview, and this change
helps keeping applications using different toolkits separate.

At this moment, spawning the sub-application blocks the execution of the
main application.

This change should make it easier to authenticate through Rare inside
a gamescope session, such as the steam deck.
2024-02-12 21:51:42 +02:00
loathingKernel
03b9e44b13 Ui: Delete unused pathedit ui 2024-01-29 16:21:32 +02:00
loathingKernel
f321736dde GameInfo: Show cover image in color despite installation status 2024-01-29 16:21:19 +02:00
loathingKernel
58574c1977 Legendary: Do a smarter split 2024-01-29 16:20:59 +02:00
loathingKernel
fe709f5702 Launcher: Add Homeworld Remastered Collection to the do-not-attach list
Fixes: RareDevs/Rare#376
2024-01-29 16:20:30 +02:00
loathingKernel
1269abf1f7 Rare: Remove dead code from main 2024-01-29 16:19:11 +02:00
loathingKernel
f089703eb5 ListGameWidget: Make Launch/Install buttons larger and the widget itself smaller 2024-01-29 16:18:21 +02:00
loathingKernel
da2e1c0d27 ListGameWidget: Fix progress label relocating randomly 2024-01-29 16:18:16 +02:00
loathingKernel
7ef5172d62 ImageWidget: Fix console spam about QPainter not being active 2024-01-27 01:19:51 +02:00
loathingKernel
631e1b9b3c Runners: disable some pylint checks for vdf 2024-01-22 00:38:09 +02:00
loathingKernel
d9bfdb91ce Runners: Import vdf only on Linux and FreeBSD 2024-01-22 00:16:40 +02:00
loathingKernel
69aca3851f InstallDialog: Update widget attribute name 2024-01-21 23:45:38 +02:00
loathingKernel
fa9b49c019 SelectiveDialog: Keep the layout of the central widget 2024-01-21 23:45:28 +02:00
loathingKernel
5b36727076 Dialogs: Add subtitle label in ButtonDialog 2024-01-21 23:45:23 +02:00
loathingKernel
7b52dc204c Downloads: Update queue count when adding a download 2024-01-21 23:44:15 +02:00
loathingKernel
ce0b9788ee RareGame: Clear pixmap cache before loading a new pixmap 2024-01-21 23:44:11 +02:00
loathingKernel
06e2c9b714 DebugSettings: Add button to test notifications 2024-01-19 17:17:48 +02:00
loathingKernel
4e6008a8f7 TrayIcon: Generic notifications
* Add a notification when starting a download too
2024-01-19 17:17:31 +02:00
loathingKernel
7aa64b385e Downloads: Move auto-update change to Rare's settings instead of the game's metadata
The setting doesn't have a switch in the GUI yet, but the settings
feels like a better place for it.
2024-01-19 15:07:22 +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
99d0bca5fc ConfigHelper: Extend with specialized methods for environment variables and wine/proton prefixes 2024-01-19 12:12:33 +02:00
loathingKernel
451017e2e2 Ui: Fix and issue with legendary settings UI file 2024-01-19 12:10:30 +02:00
loathingKernel
a605bddffa RareGame: Move sdl_name to RareGameBase
InstallDialog uses that property so RareEosOverlay should have it too.
Also calculate the base_path for the overlay case instead of passing it as
argument
2024-01-19 12:09:57 +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
acbe8836cc RareEosOverlay: Protect against invalid prefixes 2024-01-19 00:57:17 +02:00
loathingKernel
889a7cd116 RareGame: Use the callable directly instead of a lambda
to create workers.
2024-01-19 00:57:17 +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
2a0f80a9f0 RareGame: RareEosOverlay now implements its procedures internally.
The new methods are the following
* `has_update`: to check for updates
* `is_enabled`: checks if the overlay is enabled (on wine platform, on prefix)
* `enable`: enables the overlay (on wine platforms, on prefix, for app_name)
* `disable`: disables the overlay (on wine platforms, on prefix, for app_name)
* `install`: Install using Rare's existing facilities
* `uninstall`: Uninstall using Rare's existing facilities
2024-01-19 00:57:16 +02:00
loathingKernel
29bd7b81cb Launcher: Restore compatibility with legendary 0.22.34 2024-01-18 16:44:59 +02:00
loathingKernel
6cbad745df SelectiveWidget: Disabled parent if there aren't any SDLs. 2024-01-18 16:44:53 +02:00
loathingKernel
971c31e8f4 SelectiveWidget: Create specialized widget for selecting optional downloads
Because there are two dialogs for editing optional downloads, refactor
the separate implementations to select them into a common reusable widget
and use it in SelectiveDialog and InstallDialog.
2024-01-18 16:44:47 +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
50276384cc QtRequests: Use QNetworkAccessManager's queue 2024-01-18 16:44:05 +02:00
loathingKernel
4e2ffaae93 ImageSize: Use pixel ratio 1 for image downloads 2024-01-18 16:43:42 +02:00
loathingKernel
446cbd6c67 Lgdnr: Check for old_igame before writing tags 2024-01-18 16:43:06 +02:00
loathingKernel
9b10a48704 ImageManager: Reduce thread count even more 2024-01-18 16:43:03 +02:00
loathingKernel
9ad47ba75b Translations: Update source file 2024-01-06 14:08:27 +02:00
loathingKernel
0fb1526d67 MoveDialog: Refactor MovePopup into a dialog using ActionDialog as base 2024-01-02 23:11:47 +02:00
loathingKernel
17a5562b4c ImportGroup: Update some strings 2024-01-02 23:00:29 +02:00
loathingKernel
d3ec79378e UninstallDialog: Refactor to use ButtonDialog as base 2024-01-02 22:31:25 +02:00
loathingKernel
339fec2bca CloudSaves: don't error if the saves directory already exists 2024-01-02 18:04:08 +02:00
loathingKernel
fa158bd4aa Launcher: Rename Console to ConsoleDialog
Add more games to be launched as detached processes.

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2024-01-02 17:59:02 +02:00
loathingKernel
80ac9296fc Rare: cherry-pick some sourcery suggestions 2024-01-02 17:57:02 +02:00
loathingKernel
89c1a4eaf4 Launcher: Refactor cloud sync dialog to use ButtonDialog base class 2024-01-02 17:38:51 +02:00
loathingKernel
08f2d50d4f RareApp: Always collect verbose version information at the start of the log 2024-01-02 17:18:19 +02:00
loathingKernel
534c45818a GameInfo: Update button description strings and icons 2024-01-02 15:34:35 +02:00
loathingKernel
c7336ad04a InstallDialog: Use ActionDialog base class 2024-01-02 15:12:07 +02:00
loathingKernel
fd22d831eb Rare: refactor timer names 2024-01-02 11:18:31 +02:00
loathingKernel
456050c91c RareException: Use quit() instead of exit() 2024-01-02 11:18:18 +02:00
loathingKernel
2cbe6cadd9 Rare: Add launchable addons as games in the library 2024-01-02 11:12:00 +02:00
loathingKernel
ef09354b62 Launcher: cherry-pick some sourcery suggestions 2024-01-02 11:11:53 +02:00
loathingKernel
ce97ec9086 Paths: Check for membership 2023-12-31 20:32:01 +02:00
loathingKernel
6e1a7cdbaf Merge branch 'sdl_dialog' into next 2023-12-31 18:44:41 +02:00
loathingKernel
e2bdbbab40 RareGame: Use Game property instead of looking into metadata 2023-12-31 17:59:36 +02:00
loathingKernel
1914beb5e6 RareGameBase: Also look for the EA app when identifying origin games 2023-12-31 17:59:24 +02:00
loathingKernel
e467dc996c GameDlcWidget: Dynamically load DLC cover image on show 2023-12-31 17:59:11 +02:00
loathingKernel
e421d02a4f Update SDL dialog 2023-12-26 00:05:11 +02:00
loathingKernel
62e19a8be2 VerifyGame: Present a dialog to select selective downloads in the game
supports them.
2023-12-25 23:56:37 +02:00
loathingKernel
40e5aacd68 RareStyle: Add proper disabled colors for wrappers widget 2023-12-25 14:56:23 +02:00
loathingKernel
600441a614 Rare: Import platform specific modules only on said platforms 2023-12-24 21:08:26 +02:00
loathingKernel
870aeea748 EOSGroup: Use UI membership instead of double inheritance 2023-12-24 21:08:26 +02:00
loathingKernel
1a7f89687b ConfigHelper: Fix an issue with wine prefix resolution
This probably should be split into separate wine and proton
discovery functions.
2023-12-24 21:08:26 +02:00
loathingKernel
83328f400d ConfigHelper: Add generic functions to query config options with fallback
* Extend `get_wine_prefix` and `get_wine_prefixes` to take Proton prefixes
into account.
2023-12-24 21:08:26 +02:00
loathingKernel
f6a372cc1f ConfigHelper: Add wine related functions
`get_wine_prefixes`: Returns all prefixes defined in legendary's configuration
`get_wine_prefix`: Returns wine prefix associated with a game
2023-12-24 21:08:26 +02:00
loathingKernel
efe9031211 Proton: Add functions to find and integrate compatibilty tools and runtimes 2023-12-24 21:08:26 +02:00
loathingKernel
1f34ad4b13 ProtonSettings: Move proton search function into utils/proton.py 2023-12-24 21:08:26 +02:00
loathingKernel
616df235cd ListWidget: Use line variant for qta icon 2023-12-24 21:08:26 +02:00
loathingKernel
400625975d Dialogs: Re-implement Launch and Login dialogs on top of a few common super-classes
To keep dialogs in a common format and allow them to share the same
properties, three classes of dialogs have been implemented inheriting from
each other.

The classes are `BaseDialog` -> `ButtonDialog` -> `ActionDialog`

* Basedialog: is the basis of all dialogs and is responsible for
rejecting close requests from the window manager and the keyboard.
It also restricts access to `exec()` and `exec_()` because they are harmful.
It serves as the basis of Launch and Login dialogs

* ButtonDialog: is offering buttons for accepting or rejecting the presented
option. It implements its own buttons and exposes abstract methods to
implement handling in them. It restricts access to `close()` because these
dialogs should always product a result.
It is the basis of Uninstall, Selective dialogs.

* ActionDialog: in addition to the ButtonDialog, it offers an action buttom
with to validate the form or to make the dialog unable to close. It serves
as the basis of Install and Move dialogs.
2023-12-24 21:08:26 +02:00
loathingKernel
69a73882f5
Lgndr: Don't try to anonymize 2023-12-23 13:48:21 +02:00
loathingKernel
51904efa90
GameWidget: Request pixmap in paintEvent.
Requesting the pixmap in `paintEvent` only loads the
pixmap when the widget first becomes visible, making loading
the library smoother. Also avoid spawning multiple singleshot
QTimers and use QObject's internal timer, with CoarseTimer precision.
2023-12-23 13:46:12 +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
edab90eb4b
Rare: Release 1.10.11 2023-12-20 11:25:29 +02:00
loathingKernel
b039f9e06c
LaunchDialog: allow legendary to check for updates in its own way 2023-12-19 11:46:13 +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
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
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