lennard
378d876c3b
Add Ukrainian language
2022-10-17 20:00:46 +02:00
lennard
4cadc263e6
Fix --skip-update-check option for launch helper
2022-10-01 00:45:22 +02:00
lennard
a55ad96fbc
bump version
2022-09-27 22:22:07 +02:00
lennard
ebd567e665
Disable pypresence settings if not installed
2022-09-27 21:55:57 +02:00
lennard
fbd16b99ae
Update translations
2022-09-27 21:48:44 +02:00
lennard
780bd798a9
Rename rare code name to new name
2022-09-27 21:10:44 +02:00
lennard
24774b07c0
Fix move game on Windows
2022-09-27 21:09:41 +02:00
lennard
829da4f93b
Bump version
2022-09-19 23:10:03 +02:00
Dummerle
5d24c672b2
Catch Permission errors, when disabling and enabling EOS overlay
2022-09-19 01:00:17 +02:00
loathingKernel
83551f9b9e
DownloadThread: Don't mark prerequisites as installed if the user selected not to install them
...
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-09-18 20:52:59 +03:00
Stelios Tsampas
0960cbbdd3
DownloadThread: args
is a string!
2022-09-18 15:07:42 +03:00
Stelios Tsampas
14eda1c246
DownloadThread: Weirdly setNativeArguments
doesn't exist despite the docs saying that is should be available on Windows
2022-09-18 12:52:15 +03:00
loathingKernel
2f5da4e628
GameLaunchHelper: actually exit when game has finished
2022-09-16 17:33:26 +03:00
loathingKernel
1137d75e79
Lgndr: Update to legendary 0.20.29
2022-09-16 15:26:31 +03:00
loathingKernel
7d2e1ddac2
Lgndr: Keep legendary's logger name
2022-09-13 12:38:43 +03:00
loathingKernel
e621955a22
RareSettings: Handle permission error when deleting logs
2022-09-13 12:38:43 +03:00
Stelios Tsampas
9d28680804
Build: enable console output on windows if it is a test build
2022-09-13 12:38:43 +03:00
Dummerle
e45f392652
Bump version
2022-09-12 17:23:09 +02:00
loathingKernel
f7e9375964
LaunchDialog: Make the split 75/25
2022-09-11 19:45:17 +03:00
loathingKernel
cf5fd415e5
LaunchDialog: Add a middle-ground solution for concurrent image downloads
2022-09-11 14:51:37 +03:00
loathingKernel
52108688d3
LaunchDialog: Use ElideLabel for progress information
2022-09-10 22:42:47 +03:00
Stelios Tsampas
cbf4c38564
Redirect stdout
and stderr
to os.devnull
if we are in a frozen GUI application form
2022-09-10 22:05:00 +03:00
Stelios Tsampas
7a1935335e
GameInfo: Work-around slowdown on widget update_game()
request
2022-09-10 19:04:40 +03:00
Stelios Tsampas
21ea2af8e1
App: Move timer initialization after LaunchDialog has finished
2022-09-10 18:07:32 +03:00
Stelios Tsampas
74a3d9458d
LaunchDialog: Show validation progress separately from download progress.
2022-09-10 17:27:37 +03:00
Stelios Tsampas
cc74767f0a
App: Move verification requirement check into launch dialog
2022-09-10 15:33:48 +03:00
Stelios Tsampas
c3e192cbbe
Add requirements-full.txt with everything
2022-09-09 20:49:30 +03:00
loathingKernel
b7b96f79b2
Apply fix for "403 Client Error" by applying pending https://github.com/derrod/legendary/pull/477
2022-09-08 20:43:03 +03:00
loathingKernel
c8586d2beb
Always return the absolute path to the exectuble
2022-09-08 20:25:55 +03:00
loathingKernel
70328d6472
Console: Minimize instead of keeping open if game is running
...
DesktopShortcuts: Normalize StartWMClasss with application name
2022-09-08 16:57:43 +03:00
Stelios Tsampas
afcb3f7e7a
GameLaunchHelper: Allow closing the window only if the application has exited or crashed
2022-09-08 16:02:17 +03:00
Stelios Tsampas
8d9f02eab5
Initialize logging in RareApp and log both Rare and GameLaunchHelper
2022-09-08 15:33:36 +03:00
Stelios Tsampas
e4638c2fa3
Console: Center window on show()
2022-09-08 13:34:47 +03:00
Stelios Tsampas
c6b9f5c64f
Fix shortcut creation on windows
2022-09-08 13:16:15 +03:00
Stelios Tsampas
7ebeee0d1e
App: Log both to file and to stderr
2022-09-08 02:13:10 +03:00
Stelios Tsampas
d5d795ce79
Paths: Query paths after the OrganizationName
and ApplicationName
have been set
...
At the point they were evaluated, `OrganizationName` and `ApplicationName` are unset
resulting in wrong paths. As a quick fix, explicitly set them to their later values
Per OS examples:
Windows:
before:
data: C:\Users\<user>\AppData\Local
cache: C:\Users\<user>\AppData\Local\cache
after:
data: C:\Users\<user>\AppData\Local\Rare\Rare
cache: C:\Users\<user>\AppData\Local\Rare\Rare\cache
2022-09-08 01:27:37 +03:00
Stelios Tsampas
377fd486dc
stupid quotes
2022-09-07 20:46:56 +03:00
Stelios Tsampas
6a2af0be7c
Quote executable path for Windows
2022-09-07 19:19:14 +03:00
loathingKernel
5029921b09
Move a bunch of class attributes to instance attributes
2022-09-07 18:21:50 +03:00
Dummerle
26e8a235cc
Bump version
2022-09-05 22:55:50 +02:00
Dummerle
4f91c6b422
Move widgets and uninstalled_games attributes to __init__()
2022-09-05 22:46:44 +02:00
Dummerle
333bb40ad7
Fix wrong origin classification for ue plugins without assets
2022-09-05 20:50:10 +02:00
Dummerle
0d43f1103d
Include source directory, when running from source
2022-09-05 20:18:40 +02:00
Dummerle
4a28fd3d0d
Fix config_helper.py
2022-09-04 22:49:43 +02:00
loathingKernel
aa9cf4c5b5
GameLaunchHelper: Remove LegendaryCoreSingleton usage
2022-09-04 21:40:41 +03:00
loathingKernel
1ebd0b18d8
Introduce a very basic RareCore to handle signletons and their cleanup.
2022-09-04 20:39:03 +03:00
loathingKernel
7020141148
LaunchDialog: Move update check before login()
2022-09-04 19:51:23 +03:00
loathingKernel
afcdc1dea1
App: Move legendary initialization to the singleton
...
App: Move tray to MainWindow
Shared: Add destructor for singleton instances
2022-09-04 01:14:43 +03:00
loathingKernel
4951743bbf
ConfigHelper: Protect name space from globals
2022-09-02 17:53:56 +03:00
loathingKernel
0a89f0e0b8
Make launch
and alias for start
2022-09-02 13:17:05 +03:00
loathingKernel
48867a8656
DebugSettings: Add restart button, thanks Dummerle!
2022-09-02 00:31:10 +03:00
loathingKernel
dfb388a9ba
App: Do a bit more cleanup to avoid crashes
2022-09-02 00:20:04 +03:00
loathingKernel
3c5575fda9
LaunchDialog: Don't explicitly delete LoginDialog
2022-09-02 00:04:39 +03:00
loathingKernel
345ee443ed
ImportLogin: Only add the first part of the split
2022-09-02 00:02:20 +03:00
loathingKernel
b3348a1eca
ImportLogin: Check if programdata is set
2022-09-01 23:48:30 +03:00
loathingKernel
0388d4bf9d
ImportLogin: Fix failure to login using EGL data
2022-09-01 22:49:09 +03:00
loathingKernel
fb708ce5fd
LoginDialog: Update to legendary 0.20.28
2022-09-01 18:53:16 +03:00
loathingKernel
2c36ffcd51
Lgndr: Adjust for d8af06c936
2022-09-01 11:49:42 +03:00
loathingKernel
6941556265
InstallDialog: setup UI class as member instead of double inheritance
2022-08-31 17:42:40 +03:00
loathingKernel
b1c713be12
InstallDialog: Show silent dialog in case of error
...
InstallDialog: Default shortcut creation to Unchecked in the UI file
InstallDialog: Save and reuse last shortcut creation value
2022-08-31 17:41:12 +03:00
Dummerle
98489297f1
Bump version and update some dependencies
2022-08-30 23:12:15 +02:00
Dummerle
4e325eb3d8
Ignore some pylint errors
2022-08-30 01:33:08 +02:00
loathingKernel
a6d1cae8a8
Lgndr: Temporary fix for DLManager monkeypatching in Windows
2022-08-30 01:22:08 +02:00
Dummerle
002bf908e6
Update translation_source.ts
2022-08-28 22:07:39 +02:00
loathingKernel
2f983d9b52
InstallDialog: Adjust collapsible widget
2022-08-28 22:07:26 +02:00
Dummerle
a71bb1fe91
Add missing dependencies to pyproject.toml
2022-08-27 13:43:55 +02:00
Dummerle
cb3f316bf0
Fix proton visibility on Windows
2022-08-27 12:47:17 +02:00
Dummerle
70a51902d2
Move move game stuff to external file
...
I know it's weird
2022-08-27 12:32:20 +02:00
Dummerle
625066d2da
Fix two small errors in game launch helper
2022-08-27 12:32:20 +02:00
Dummerle
3469946ee9
Install prereqs by default on windows
2022-08-27 12:32:20 +02:00
Dummerle
2797485e69
Fix reason for cloud save edit, if nothing wrong
2022-08-27 12:32:20 +02:00
Dummerle
da07d6b791
Move some options in install dialog to advanced options
2022-08-27 12:32:17 +02:00
loathingKernel
2b141c276f
InstallDialog: Fix dlm
keyword argument
2022-08-26 11:38:13 +03:00
loathingKernel
b15a5b7007
Fix game launching if compiled with Nuitka
2022-08-18 02:24:51 +03:00
loathingKernel
50a37be433
DownloadsTab: Remove dead code
2022-08-17 23:46:10 +03:00
loathingKernel
c40fef0595
Lgndr: Transfer what DownloadThread does to install_game_real
(not used yet)
...
DownloadThread: Refactor names to match Lgndr
2022-08-12 13:17:53 +03:00
loathingKernel
dffd768934
Re-add dlc arguments
2022-08-08 21:32:31 +03:00
loathingKernel
5e022e6d28
Lgndr: Rename a few fields to reflect legendary's names
2022-08-08 21:06:58 +03:00
loathingKernel
e97e9fe841
Downloads: Add skip_dlcs
and with_dlcs
arguments.
2022-08-08 17:26:38 +03:00
loathingKernel
3ee789a695
Update DownloadThread
2022-08-03 02:33:50 +03:00
loathingKernel
38dfdc8bc2
Lgndr: Remove LegendaryCLISingleton
...
Since `LegendaryCLI` isn't stateful, we can instantiate
it when needed
2022-08-02 10:42:38 +03:00
loathingKernel
5ac71e99f0
DownloadThread: Use clean_post_install
instead of local copy
...
InstallDialog: Handly empty `config_tags`
Lgndr: Cleanup
2022-08-02 10:42:38 +03:00
loathingKernel
e5c7b029ff
GameInfo: Offer to also update the game after a verification if there is one
2022-08-02 10:42:38 +03:00
loathingKernel
785aaf648e
GameInfo: Detect repair_and_update
requirement
...
If a game was partially installed and it was imported
through the import functionality, if `repair_and_update`
is specified it will report `0` download size if there
is no real update to be done. Fix it by detecting the
need for an update explicitly.
This will also force games that have failed verification
to also update while repairing them, fixing the
long-standing issue of repairing an older version of a
game and then doing the update in a separate step.
2022-08-02 10:42:38 +03:00
loathingKernel
c388f99c46
Lgndr: Move generic function implementations to api_monkeys
2022-08-02 10:42:38 +03:00
loathingKernel
3501741c03
DownloadsTab: invalidate and recreate update widgets on import
...
Previously on game import, multiple update widgets for the same game
were created in the downloads tab. Instead of checking if a widget
already exists, invalidate the delete the existing and add a new one
with the current information about the installed game.
2022-08-02 10:42:38 +03:00
loathingKernel
f375357a2c
Utils: fix unresolved references
2022-08-02 10:42:38 +03:00
loathingKernel
7408116deb
Lgndr: Don' use lambda with default argument
2022-08-02 10:42:38 +03:00
loathingKernel
3ecbae0564
Utils: Rename utils.py
to misc.py
to not confuse PyCharm checker
2022-08-02 10:42:38 +03:00
loathingKernel
f51563ea93
Models: Move installation related models into their own file
2022-08-02 10:42:38 +03:00
loathingKernel
7fba2259ed
LoginDialog: Fix crash due to messagebox parent
2022-08-02 10:42:38 +03:00
loathingKernel
ee5adce18b
Implement LgndrIndirectLogger
to return the last logged message from LegendaryAPI
...
The indirect return is stored in a `LgndrIndirectStatus` object that provides checking and unpacking features
Lgndr: `LgndrInstallGameArgs.install_tag` default to None
Lgndr: add default `move` method.
Lgndr: monkeypatch `dlm.status_queue` after preparing a download to reduce `InstallQueueItemModel`
InstallOptionsModel: implement `as_install_kwargs` to pass only relevant arguments to `LgndrInstallGameArgs` in InstallDialog
InstallOptionsModel: rename `sdl_list` to `install_tag` as they were the same thing
LegendaryUtils: Update to use `LgndrIndirectStatus`
UninstallDialog: Add option to keep configuration decoupled from keeping game data
GameUtils: Add messagebox to show error messages from legendary after uninstalling a game
InstallDialog: Update to use `LgndrIndirectStatus`
InstallDialog: Update selectable download handling to match legendary's
DownloadThread: Remove multiple instance variables, instead reference them directly from `InstallQueueItemModel` instance
ImportGroup: Replace `info_label` with an `ElideLabel` for displaying long messages
ImportGroup: Don't translate message strings in the `ImportWorker`
GameInfo: Call `repair()` if needed after verification instead of handling it locally
GamesTab: Fix string matching for capitalized strings and scroll to top on when searching
2022-08-02 10:42:38 +03:00
loathingKernel
28531eec38
Lgndr: Add logger monkey class
...
The class acts as an intermediate between the logger and the function call
It keeps the last message that was sent to the logger. The instance of the
class can be returned as a return value from the LegendaryCLI methods to
provide return status and the message related to it.
The level at which it considers the logged message as an error is configurable.
By default it considers logging.ERROR and above as faulty return values
2022-08-02 10:42:38 +03:00
loathingKernel
bbaff5f42c
Lgndr: Add re-implemented uinstall_game
...
Lgndr: Change the exception level to CRITICAL for core
LegendaryUtils: Use uninstall_game from our Lgndr
UninstallDialog: Update to return a tuple of values
App: Keep files if the install directory was lost
App: Run legendary's exit procedures on exit
2022-08-02 10:42:38 +03:00
loathingKernel
8bbb42a045
Lgndr: cleanup
2022-08-02 10:42:38 +03:00
loathingKernel
654f734975
Lgndr: Update test get_boolean_choice to the arguments of its counterpart
2022-08-02 10:42:38 +03:00
loathingKernel
5c1ff81370
LegendarySettings: clean_manifests expects more values
2022-08-02 10:42:38 +03:00
loathingKernel
2bf41f20d1
Lgndr: Match the arguments of legendary's get_boolean_choice
2022-08-02 10:42:38 +03:00
loathingKernel
99cb7f46fd
ImportGroup: Set the wordwrap option for the information label
2022-08-02 10:42:38 +03:00
loathingKernel
d05f74b286
ImportGroup: Add option to import DLCs
2022-08-02 10:42:38 +03:00
loathingKernel
14087a3c6c
Lgndr: Add default implementation for get_boolean_choice
that returns False
2022-08-02 10:42:38 +03:00
loathingKernel
9df3355200
LegendaryUtils: Remove dead re-implemented functions
2022-08-02 10:42:38 +03:00
loathingKernel
b4a1efa357
Lgndr: Add 'repair_and_update' argument in InstallOptionsModel
2022-08-02 10:42:38 +03:00
loathingKernel
aeb149a3e9
Lgndr: Use custom wrapped
decorator to wrap LegendaryCLI functions
...
Lgndr: Add `get_boolean_choice` to relevant args dataclasses
Lgndr: Move mock functions to `api_monkeys`
InstallDialog: Add status queue to prepare_overlay_install arguments, fixes missing download stats
2022-08-02 10:42:38 +03:00
loathingKernel
7aded95a1f
Lgndr: Monkeypatch modified DLManager into LegendaryCore at module import
2022-08-02 10:42:38 +03:00
loathingKernel
caffd9c51d
Lgndr: Return result from resolve_aliases (woops)
2022-08-02 10:42:38 +03:00
loathingKernel
9acfd7a67f
Lgndr: Follow comment pattern
2022-08-02 10:42:38 +03:00
loathingKernel
53fba8c705
Lgndr: Set 'estimate' to 0 before it can be calculated
2022-08-02 10:42:38 +03:00
loathingKernel
10b845c0aa
Lgndr: Save the manifest if it was downloaded while verifying
2022-08-02 10:42:38 +03:00
loathingKernel
545d77ef07
Lgndr: Expose 'resolve_aliases' for outside usage
2022-08-02 10:42:38 +03:00
loathingKernel
3aae3887f6
Lgndr: Create argument models for consistent function arguments and cleaner implementation.
...
Lgndr: Prefix files that aren't part of legendary with 'api_'
Lgndr: Return statistics from 'verify_game' instead of parsing the exception
VerifyWorker: Add 'error' signal for exceptions.
2022-08-02 10:42:38 +03:00
loathingKernel
197f915fb3
InstallOptionsModel: Rename fields to use the same names as Legendary's arguments
2022-08-02 10:42:38 +03:00
loathingKernel
883bd268ff
Mirror Legendary classes structure in the shim.
...
Lgndr: Move code segments copied from `prepare_download` back to their original location in `install_game`
Lgndr: Add the LgndrLogHandler at initialization instead of every function.
Lgndr: Move `verify_game` to its original place in `LegendaryCLI`
Lgndr: Change the way DLManager is patched into LegendaryCore proper
Shared: Add singleton for LegendaryCLI, LegendaryCoreSignleton returns core from LegendaryCLI
VerifyWorker: Update to use `verify_game` from `LegendaryCLI` directly
PreLaunchThread: Initialize LegendaryCLI to get LegendaryCore from it
InstallDialog: Update `prepare_install` argument names
2022-08-02 10:42:38 +03:00
loathingKernel
3892f4a594
ImportGroup: Update the shim stuff for the import worker
2022-08-02 10:42:38 +03:00
loathingKernel
51c45015a4
InstallDialog: Remove unused arguments
2022-08-02 10:42:38 +03:00
loathingKernel
d4bf783018
Update core to the submodule rebase
2022-08-02 10:42:38 +03:00
loathingKernel
fd2c094dc2
Add override for prepare_overlay_install()
2022-08-02 10:42:38 +03:00
loathingKernel
9af4e7ead8
Specify correct return type for prepare_download()
and disable formatting for copied code segments
2022-08-02 10:42:38 +03:00
loathingKernel
2c2f44c97c
Use a loggin handler in stead of monkeypatching for raising LgndrException
2022-08-02 10:42:38 +03:00
loathingKernel
78fb13830e
Set logging level instead of disabling it in DLManager
2022-08-02 10:42:38 +03:00
loathingKernel
99ab488820
Pass the correct status queue and monkeypatch run_real in prepare_download
2022-08-02 10:42:38 +03:00
loathingKernel
9698bf445b
Re-enable logging in DLManager correctly
2022-08-02 10:42:38 +03:00
loathingKernel
82015f21d4
Fix ordering in InstallDownloadModel to match prepare_download
2022-08-02 10:42:38 +03:00
loathingKernel
ad81546b35
Adjust EGLSyncGroup to use LgndrException
2022-08-02 10:42:38 +03:00
loathingKernel
c302775acd
Remove dead code from EGLSyncGroup
2022-08-02 10:42:38 +03:00
loathingKernel
d4718f823f
Use custom exception to overload log.error
and log.fatal
in egl_import
and egl_export
2022-08-02 10:42:38 +03:00
loathingKernel
3ec8973de8
Update shim UIUpdate and DLManager to the cleanup changes from the submodule
2022-08-02 10:42:38 +03:00
loathingKernel
a9954a98f6
LegendaryCore: Re-use super's prepare_download()
instead of copying it.
2022-08-02 10:42:38 +03:00
Stelios Tsampas
04a76ed2ff
Include PoC implementation of LegendaryCLI
for the import_game
method
2022-08-02 10:42:38 +03:00
Stelios Tsampas
e58d33ee5d
Create shim legendary classes for overloaded functions
2022-08-02 10:42:37 +03:00
Stelios Tsampas
f4743d99b6
Remove submodules
2022-08-02 10:42:37 +03:00
Dummerle
e6fc2323f1
Do not exit console, when game exited
2022-08-01 01:22:37 +02:00
loathingKernel
4139797eff
ImageManager: Also test if 'game.metadata' has 'keyImages'
2022-07-28 22:20:06 +03:00
loathingKernel
e005423d0a
GameUtils: Remove functions moved to LaunchHelper
2022-07-11 23:07:00 +03:00
loathingKernel
ef88a913f9
LaunchHelper: Add terminate and kill button in the console (visible only in windows for now)
2022-07-11 22:18:26 +03:00
loathingKernel
43c8cf8b52
LaunchHelper: Move console into the game_launch_helper folder
...
LaunchHelper: Log stderr to the console
2022-07-11 22:18:26 +03:00
loathingKernel
406cfc136f
ImportGroup: Close file after reading app_name
2022-07-11 22:18:26 +03:00
loathingKernel
06e5901aab
ImportGroup: properly name the hlayout
2022-07-11 22:18:26 +03:00
Dummerle
165b289c4f
Remove extra information for eos overlay
2022-07-10 22:00:35 +02:00
Dummerle
87ea29d005
Fix appname error in game_info.py and error in postinstall
2022-07-10 01:18:19 +02:00
Dummerle
ef5e814f64
Fix bug, hwn launching origin games
2022-07-07 23:56:19 +02:00
loathingKernel
0d6c9a8505
ImportGroup: Show messagebox when importing multiple games (scanning install folder)
...
I moved around a few things because the separate lists felt like they
would make the handling a bit complicated.
2022-07-02 22:19:40 +03:00
loathingKernel
76cd33054a
EGLSyncListGroup: Move message box outside of thread to prevent "parent in other thread" crash
2022-07-02 11:48:33 +03:00
Dummerle
667ca0ecb6
Move import games to separate thread
2022-07-01 17:43:25 +02:00
Dummerle
2f43431589
Do not remove config, when deleting a game, but keep files
2022-07-01 17:42:41 +02:00
Dummerle
93c732401c
Fix error after uninstalling, if action in tray icon does not exist
2022-07-01 17:03:18 +02:00
Dummerle
35f4807a26
Fix Attribute error on too old Qt version
2022-06-29 21:45:15 +02:00
Dummerle
59032e3577
Merge pull request #224 from aznd/fix_restart_func
...
Fix get_rare_executable func for macOS
2022-06-27 22:06:27 +02:00
aznd
576b4571cf
Fix get_rare_executable func for macOS
2022-06-27 16:53:19 +02:00
Dummerle
52765be01a
Fix console and game exit when rare closed
2022-06-27 00:53:28 +02:00