From d2eec897b2ec1022744a993135e3595c8fea005b Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Fri, 3 Apr 2026 11:49:38 -0500 Subject: Replace Rust prefix setup with C++ step-by-step dialog Move Wine prefix creation from NaK Rust FFI to native C++ with a new modal dialog showing per-step progress, retry support, and proper failure cleanup. - PrefixSetupRunner: runs each step (proton init, drive cleanup, 11 individual winetricks verbs, .NET installers, game detection, wine registry, win11 mode, post-setup) as discrete retryable operations - PrefixSetupDialog: step list with status icons, filtered log output, cancel/retry-failed/delete-prefix buttons - Downloads use QNetworkAccessManager (no host curl dependency) - Zip extraction uses downloaded 7zz binary (no host unzip dependency) - Winetricks runs on host (not in pressure-vessel) so cabextract is always findable via PATH - Wine/winetricks debug spam filtered from log output - Skip Python basic_games proxy since native equivalent exists Co-Authored-By: Claude Opus 4.6 (1M context) --- libs/plugin_python/src/proxy/proxypython.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libs/plugin_python/src') diff --git a/libs/plugin_python/src/proxy/proxypython.cpp b/libs/plugin_python/src/proxy/proxypython.cpp index 0037991..88d8769 100644 --- a/libs/plugin_python/src/proxy/proxypython.cpp +++ b/libs/plugin_python/src/proxy/proxypython.cpp @@ -293,7 +293,9 @@ QStringList ProxyPython::pluginList(const QDir& pluginPath) const } else if (info.isDir() && QDir(info.absoluteFilePath()).exists("__init__.py")) { // Skip Windows-only directory plugins that use ctypes.windll etc. + // Skip basic_games — replaced by native libbasic_games_native.so. if (baseName == "crashlogtools" || + baseName == "basic_games" || baseName.compare("rootbuilder", Qt::CaseInsensitive) == 0) { continue; } -- cgit v1.3.1