diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-03-22 14:40:24 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-03-22 14:40:24 -0500 |
| commit | 613a0e702403d5f8122861bb76a6ba2e184efe97 (patch) | |
| tree | 5d31450749ba01cff79677db9bf466f41c39dd4b /libs/plugin_python/src/proxy/proxypython.cpp | |
| parent | 5d58c14ee0bde26e709d6bd2256238a4d0567bc1 (diff) | |
Multi-dir plugin loading, VFS Root Builder, Wine registry check, column visibility fix
Plugin loading:
- Remove symlink-based ensureBundledPluginsLinked(), replace with multi-dir
search (bundled dir takes priority, instance dir adds extras only)
- Auto-clean stale symlinks from instance plugins/ dirs on startup
- Add mergedProxyList() for proxy plugin discovery across both dirs
VFS Root Builder (replaces Python rootbuilder.py):
- Native C++ Root Builder integrated into FuseConnector
- Deploy mod Root/ files to game dir before FUSE mount, clear on unmount
- Per-instance toggle in Instance Manager (default: on)
- Root Builder path normalization in processrunner.cpp: rewrite binary and
start-in paths from mods/.../Root/ to Game Root for correct Wine path
resolution (fixes SKSE + EngineFixes versionlib lookup)
- Expose game dir and prefix to SLR pressure-vessel via --filesystem=
Wine registry check:
- Read/write Wine prefix system.reg (HKLM) with timestamp-aware parsing
- Auto-check game install path before launch, prompt to fix if mismatched
- Updates both Software\ and Wow6432Node\ registry keys
Column visibility fix:
- Guard updateGroupByProxy() during QHeaderView::restoreState() to prevent
sort indicator restoration from triggering setSourceModel() which resets
all columns to visible
Python proxy:
- Skip FixGameRegKey.py, crashlogtools, rootbuilder.py (Windows-only or
replaced by native implementations)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'libs/plugin_python/src/proxy/proxypython.cpp')
| -rw-r--r-- | libs/plugin_python/src/proxy/proxypython.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/plugin_python/src/proxy/proxypython.cpp b/libs/plugin_python/src/proxy/proxypython.cpp index c9c7ba2..6a1430d 100644 --- a/libs/plugin_python/src/proxy/proxypython.cpp +++ b/libs/plugin_python/src/proxy/proxypython.cpp @@ -284,12 +284,18 @@ QStringList ProxyPython::pluginList(const QDir& pluginPath) const // loaded as MO2 plugins. if (baseName == "winreg.py" || baseName == "lzokay.py" || baseName == "FNISPatches.py" || baseName == "FNISTool.py" || - baseName == "FNISToolReset.py") { + baseName == "FNISToolReset.py" || + baseName == "FixGameRegKey.py" || + baseName == "rootbuilder.py") { continue; } result.append(name); } else if (info.isDir() && QDir(info.absoluteFilePath()).exists("__init__.py")) { + // Skip Windows-only directory plugins that use ctypes.windll etc. + if (baseName == "crashlogtools") { + continue; + } result.append(name); } } |
