From 6410929e17d642618f284d5c97d457f1ac653e6e Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sat, 14 Feb 2026 15:40:33 -0600 Subject: Migrate data paths to ~/.local/share/fluorine/, add native build, fix %command% and system Proton scanning - All data paths migrated from ~/.var/app/com.fluorine.manager/ to ~/.local/share/fluorine/ so native and Flatpak builds share the same instances, plugins, and configs - New fluorinepaths.h/.cpp with fluorineDataDir() helper and one-time migration from old path (writes MOVED.txt breadcrumb) - New libs/nak/src/paths.rs as Rust equivalent (data_dir()) - Strip %command% tokens from launch wrapper in protonlauncher.cpp - Always scan /usr/share/steam/compatibilitytools.d/ for system Proton packages (Arch installs Proton there); add Flatpak filesystem permission - Native build (build-native.sh) installs to ~/.local/share/fluorine/ with desktop entry and ~/.local/bin symlink instead of portable zip - build-flatpak.sh wrapper for Flatpak builds - Fix container locale (LANG=C.UTF-8) for AutoUic warnings - Fix prefixExists() to handle both compatdata and pfx directory layouts - Fix globalInstancesRootPath() to use fluorineDataDir() on Linux - Fix umu-run Flatpak lookup to use fluorineDataDir() - Update README with build instructions and Arch dependency list Co-Authored-By: Claude Opus 4.6 --- libs/bsapacker/src/qlibbsarch/QLibbsarch.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'libs/bsapacker/src') diff --git a/libs/bsapacker/src/qlibbsarch/QLibbsarch.h b/libs/bsapacker/src/qlibbsarch/QLibbsarch.h index 7af53f4..9e37e05 100644 --- a/libs/bsapacker/src/qlibbsarch/QLibbsarch.h +++ b/libs/bsapacker/src/qlibbsarch/QLibbsarch.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -23,7 +24,9 @@ namespace QLibBsarch { if (result.code == BSA_RESULT_EXCEPTION) { - const std::string &error = QLibBsarch::wcharToString(result.text); + wchar_t aligned_text[1024]; + std::memcpy(aligned_text, result.text, sizeof(aligned_text)); + const std::string error = QLibBsarch::wcharToString(aligned_text); LOG_LIBBSARCH << QString::fromStdString(error); throw std::runtime_error(error); } @@ -31,12 +34,7 @@ namespace QLibBsarch inline void checkResult(const bsa_result_message_buffer_s &result) { - if (result.message.code == BSA_RESULT_EXCEPTION) - { - const std::string &error = QLibBsarch::wcharToString(result.message.text); - LOG_LIBBSARCH << QString::fromStdString(error); - throw std::runtime_error(error); - } + checkResult(result.message); } } // namespace QLibBsarch -- cgit v1.3.1