diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-07 16:02:26 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-07 16:02:26 -0400 |
| commit | 22db1125238e54b29538102727c36284e122e703 (patch) | |
| tree | 9fb5f2bc5a00256dc811e4dbbd1e963c5492c48c /py_modules/lsfg_vk | |
| parent | f48ff4b541b1ef877905bda248459460a943dd6e (diff) | |
| download | decky-lsfg-vk-22db1125238e54b29538102727c36284e122e703.tar.gz decky-lsfg-vk-22db1125238e54b29538102727c36284e122e703.zip | |
feat: refine game discovery and profile UX
Diffstat (limited to 'py_modules/lsfg_vk')
| -rw-r--r-- | py_modules/lsfg_vk/config_schema.py | 4 | ||||
| -rw-r--r-- | py_modules/lsfg_vk/steam_service.py | 26 |
2 files changed, 19 insertions, 11 deletions
diff --git a/py_modules/lsfg_vk/config_schema.py b/py_modules/lsfg_vk/config_schema.py index 675ab61..ce109f3 100644 --- a/py_modules/lsfg_vk/config_schema.py +++ b/py_modules/lsfg_vk/config_schema.py @@ -20,7 +20,7 @@ PROFILE_DEFAULTS: Dict[str, Any] = { "active_in": [], "pacing_mode": "vsync", "multiplier": 2, - "flow_scale": 1.0, + "flow_scale": 0.8, "performance_mode": False, "override_present_mode": True, "preserve_swapchain_image_count": False, @@ -78,7 +78,7 @@ class ConfigurationManager: if not path_value: return "" path = Path(path_value) - if path.name.lower() in {"lossless.dll", "losslessscaling.dll"}: + if path.name.lower() in {"lossless.dll"}: return str(path.with_name("lsfg-vk.dll")) return path_value diff --git a/py_modules/lsfg_vk/steam_service.py b/py_modules/lsfg_vk/steam_service.py index 8c50cfd..f46a091 100644 --- a/py_modules/lsfg_vk/steam_service.py +++ b/py_modules/lsfg_vk/steam_service.py @@ -56,15 +56,18 @@ class SteamService(BaseService): for candidate in self._steam_roots(): yield from self._unique_existing_root(candidate, seen) - library_file = candidate / "steamapps/libraryfolders.vdf" - try: - content = library_file.read_text(encoding="utf-8") - except OSError: - continue + for library_file in ( + candidate / "steamapps/libraryfolders.vdf", + candidate / "config/libraryfolders.vdf", + ): + try: + content = library_file.read_text(encoding="utf-8") + except OSError: + continue - for raw_path in re.findall(r'(?m)^\s*"path"\s+"((?:\\.|[^"])*)"', content): - path = raw_path.replace(r'\"', '"').replace(r'\\', '\\') - yield from self._unique_existing_root(Path(path), seen) + for raw_path in re.findall(r'(?m)^\s*"path"\s+"((?:\\.|[^"])*)"', content): + path = raw_path.replace(r'\"', '"').replace(r'\\', '\\') + yield from self._unique_existing_root(Path(path), seen) @staticmethod def _read_shortcuts(data: bytes) -> Dict[str, object]: @@ -88,6 +91,11 @@ class SteamService(BaseService): raise ValueError("truncated binary VDF integer") value = int.from_bytes(data[offset:offset + 4], "little", signed=True) offset += 4 + elif value_type == 7: + if offset + 8 > len(data): + raise ValueError("truncated binary VDF 64-bit integer") + value = int.from_bytes(data[offset:offset + 8], "little", signed=True) + offset += 8 else: raise ValueError(f"unsupported binary VDF type {value_type}") values[key] = value @@ -254,7 +262,7 @@ class SteamService(BaseService): elif fields["restart_required"]: message = "lsfg-vk is selected; restart Steam to finish the branch switch" else: - message = "Lossless Scaling is not using the lsfg-vk Steam branch" + message = "Select lsfg-vk in Lossless Scaling's Steam Properties > Betas" return self._success_response(dict, message, **fields) except Exception as error: return self._error_response( |
