Daniel Johnson
659bc241da
Fix incorrect or inconsistent slug generation.
...
Only scummvm uses "lutris_slug" but it is provided for Gog too - with stale data.
2024-01-10 19:39:43 -05:00
Daniel Johnson
0e96bed1f7
Also move the SIGTERM and winekill stuff onto a worker thread.
2024-01-09 17:35:16 -05:00
Daniel Johnson
183d80a2d3
Actually SIGKILL processes at the end of force-stop on the worker thread, not the main thread.
2024-01-09 17:26:17 -05:00
Daniel Johnson
9f2888172a
Update changelog
...
Oops! Media are not going to the trash. That's still in an outstanding PR.
2024-01-09 10:13:59 -05:00
Daniel Johnson
04be24351c
Duplicate @strcore's prophylactic code for the special lutris.py game service game lookup code too.
2024-01-09 04:33:32 -05:00
Mathieu Comandon
af8d00c029
Unmurder the caching feature
2024-01-08 22:40:16 -08:00
Mathieu Comandon
81b756e3d9
Remove deprecated scaler option in Dosbox
2024-01-08 22:09:49 -08:00
Mathieu Comandon
10c0aacfe2
Allow AntimicroX to work from Flatpak
2024-01-08 21:51:59 -08:00
Mathieu Comandon
3f45d1f524
Only get service game if the game's service match
2024-01-08 21:33:47 -08:00
Mathieu Comandon
67b8189a9f
Do not launch the Steam client with mangohud
2024-01-08 20:50:52 -08:00
Mathieu Comandon
4932b5ca0a
Disable autodetect button on Flatpak
2024-01-08 20:03:03 -08:00
Daniel Johnson
ea7c87881f
Don't grab the Vulkan API version pre-emptively; it's cached anyway.
2024-01-08 16:41:27 -05:00
Daniel Johnson
f07883d0f2
Merge remote-tracking branch 'origin/master'
2024-01-08 04:37:22 -05:00
Daniel Johnson
eb5120be23
Toot toot! Add more stuff to the change log.
...
Much of it is actually not my stuff but @strcore's.
2024-01-08 04:37:12 -05:00
Mathieu Comandon
238b20da83
Avoid crash if lsblk output can't be read
2024-01-08 01:19:50 -08:00
Mathieu Comandon
73863761e0
Replace Twitter link with Mastodon
2024-01-07 20:34:46 -08:00
Mathieu Comandon
a892d08f63
Update CONTRIBUTING and INSTALL
2024-01-07 20:33:04 -08:00
Mathieu Comandon
b3d52d35e5
Initial changelog for 0.5.15
2024-01-07 19:20:29 -08:00
Mathieu Comandon
00f72b0fb4
Emit a view-updated signal instead of reconstructing the store directly in redraw_view
2024-01-07 18:00:20 -08:00
Mathieu Comandon
f055e65ce0
Check for service_id presence
2024-01-07 17:27:47 -08:00
Daniel Johnson
a903b67180
Download missing Lutris media when installing games during service refresh.
...
This extends sync_media() so it can download for a specific set of games, so we can download only the installed games, not games you had already.
Resolves #4545
2024-01-07 14:40:32 -05:00
Daniel Johnson
8cabab49c7
Disable the 'Show Hidden Games' checkbox when in a service view - we do not implement it there.
2024-01-07 10:33:39 -05:00
Daniel Johnson
0b9dfecb0c
Reduce the number of special case checks for the service id 'lutris'.
2024-01-07 10:26:59 -05:00
Daniel Johnson
5ebebf41a6
Fix crash when hiding a game from the Lutris view specifically.
2024-01-07 10:07:07 -05:00
Daniel Johnson
858786decd
Whoops; the 'appid' equivalent for the lutris service is the slug, of course.
2024-01-07 09:34:04 -05:00
Daniel Johnson
553db0fb46
Modify the 'installed' property on StoreItem to use the cached installed game data to check for installation.
...
Saves a database query to do this.
2024-01-07 09:23:13 -05:00
Daniel Johnson
5c26ebb90e
Do not fall back to the installed game if the actual game_data has the key, even if it has a blank value.
2024-01-07 09:10:20 -05:00
Daniel Johnson
43489fb071
When loading the game list into the view, use single SQL query to load the installed games.
...
We generally need them all, and pounding the database over and over for each game *even if it has no installed game counterpart* we cause nasty concurrency issues when reloading the service at the same time.
Instead, we load them and all preload the StoreItem - even if there's no installed game, if the StoreItem knows this, there's no need to fetch that data for that game.
2024-01-07 08:41:23 -05:00
Daniel Johnson
acfc74117a
Consolidate the end-of-cycle checks for the launch animation.
2024-01-06 13:49:36 -05:00
Daniel Johnson
8b0819fa41
Add some handling so that if we do not understand /proc/driver/nvidia/version we just fall back to glxinfo instead.
2024-01-06 07:29:22 -05:00
Daniel Johnson
6e130124ce
Cache NVidia driver info- this should not change while Lutris is running.
2024-01-06 07:17:28 -05:00
Mathieu Comandon
fc261bdb0e
Add taskmgr in Wine actions
2024-01-05 18:21:19 -08:00
Mathieu Comandon
9b31c55453
Add appid to service game list
2024-01-05 17:08:07 -08:00
Daniel Johnson
bd390f2dc5
Since the runner versions dialog OK button does not work while installing, let's disable it at that time.
2024-01-05 18:56:31 -05:00
Daniel Johnson
fc10bc01ed
We need to reliably fire the completion and error functions from remove_folder.
...
If the folder being removed is missing, we consider that success, so the next callback needs to run at once.
2024-01-05 17:15:47 -05:00
Daniel Johnson
4d87e85af4
Runniner install dialog needs to handle TrashPortal asynchonous completion.
...
It should report errors, and should update the UI and clear the wine version cache when the trashifiation is done.
2024-01-05 17:07:47 -05:00
Daniel Johnson
56ad4c4be9
Missed a spot!
...
Need to get the runner version dialog's title from the runner, not the row.
2024-01-05 17:03:28 -05:00
Mathieu Comandon
70487c1ef9
Disable Lutris runtime for Citra (Conflicts with AppImage)
2024-01-03 21:29:30 -08:00
Mathieu Comandon
0a82b3bef2
Prevent multiplication of JSON runners when starting Lutris while it's already open
2024-01-03 20:59:03 -08:00
Daniel Johnson
91d820d537
Ensure sidebar buttons always use a fresh runner with an up-to-date config
2024-01-03 04:57:00 -05:00
Daniel Johnson
f7af4b58c9
Move get_scale_factor() call a little for thread-safety
...
This is GTK method, so it's not safe to call this off of the main thread.
This fix looks ugly, but I've got a PR to rework this code for more PNG support that will improve this. This will do until that gets merged, I think.
2024-01-03 04:37:10 -05:00
Mathieu Comandon
e201a5a638
Fix loading of slots arguments
2024-01-02 21:40:32 -08:00
telanus
e6b771ea97
Add slot option for Removable media Slot devices
...
Add an option that allow the entry of slot devices that is needed on mame's romload
2024-01-02 21:35:28 -08:00
Daniel Johnson
bcb36810dd
Rework the way extra files are passed through to the installer script.
...
Instead of passing the extra-ids everwhere and hoping it lines up, we pass them to the installer to generate the InstallerFiles, but it provides the extra files separately.
We can then extract the download destination paths for each extra file we're downloading, and we can put those in the script.
This way, if there are more or fewer files than we expect, it will still work.
This may help with #4974 , but it's hard to be sure.
2024-01-02 19:05:57 -05:00
Daniel Johnson
a3c237b21f
Avoid created the user's custom cache dir- we should only create our own private one if missing.
2024-01-02 04:46:57 -05:00
Daniel Johnson
70c483d8ff
Fix issues with the custom cache-dir feature
...
The None result from get_cache_path() was leaking into the Preferences dialog, so now it never returns None - there's always ~/.cache/lutris/installer to fall back on, after all. A separate function checks if it is even configured.
Also, the sanity check for whether the custom dir even exists was inconsistently applied and would accept a file; it needs to be a directory. So now it checks with os.path.isdir().
2024-01-01 15:28:26 -05:00
Daniel Johnson
009e8cc1f2
service.get_game_platforms() should return an empty list not None; None was checked for, but treated as an empty list anyway.
2024-01-01 12:15:27 -05:00
Daniel Johnson
859b681388
None of the callers of get_runner_module() or import_runner() or import_task() check for None; so use an exception to crash with better style.
2024-01-01 10:28:47 -05:00
Daniel Johnson
b047ef688d
Add MissingMediaError to replace None returns from various media-loading methods
...
Some of these had been unchecked and would have failed anyway; others now use exception handling for fallbacks.
2024-01-01 10:19:03 -05:00
Daniel Johnson
df3175d91f
Replace None-returning method with a pair, one that returns bool and one that always returns a game.
2024-01-01 09:23:51 -05:00