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/bsatk/src/bsaarchive.cpp | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'libs/bsatk/src/bsaarchive.cpp') diff --git a/libs/bsatk/src/bsaarchive.cpp b/libs/bsatk/src/bsaarchive.cpp index e1655c1..4ae94a6 100644 --- a/libs/bsatk/src/bsaarchive.cpp +++ b/libs/bsatk/src/bsaarchive.cpp @@ -446,11 +446,9 @@ EErrorCode Archive::write(const char* fileName) writeHeader(outfile, determineFileFlags(fileNames), static_cast(folderNames.size()), folderNamesLength, fileNamesLength); -#pragma message("folders (and files?) need to be sorted by hash!") // dummy-pass: before we can store the actual folder data // prepare folder and file headers -#pragma message("it's unnecessary to write actual data, placeholders are sufficient") for (std::vector::const_iterator folderIter = folders.begin(); folderIter != folders.end(); ++folderIter) { (*folderIter)->writeHeader(outfile); @@ -673,7 +671,6 @@ EErrorCode Archive::extractDirect(File::Ptr file, std::ofstream& outFile) const if (namePrefixed()) { std::string fullName = readBString(m_File); if (size <= fullName.length()) { -#pragma message("report error!") return result; } size -= fullName.length() + 1; @@ -735,7 +732,6 @@ std::shared_ptr Archive::decompress(unsigned char* inBuffer, stream.next_out = reinterpret_cast(outBuffer.get()); zlibRet = inflate(&stream, Z_NO_FLUSH); if ((zlibRet != Z_OK) && (zlibRet != Z_STREAM_END) && (zlibRet != Z_BUF_ERROR)) { -#pragma message("pass result code to caller") throw std::runtime_error("invalid data"); } } while (stream.avail_out == 0); @@ -824,7 +820,6 @@ EErrorCode Archive::extractCompressed(File::Ptr file, std::ofstream& outFile) co if (namePrefixed()) { std::string fullName = readBString(m_File); if (inSize <= fullName.length()) { -#pragma message("report error!") return result; } inSize -= fullName.length() + 1; @@ -850,7 +845,6 @@ EErrorCode Archive::extractCompressed(File::Ptr file, std::ofstream& outFile) co if (namePrefixed()) { std::string fullName = readBString(m_File); if (inSize <= fullName.length()) { -#pragma message("report error!") return result; } inSize -= fullName.length() + 1; @@ -907,7 +901,6 @@ void Archive::readFiles(std::queue& queue, boost::mutex& mutex, if (namePrefixed()) { std::string fullName = readBString(m_File); if (size <= fullName.length()) { -#pragma message("report error!") continue; } size -= fullName.length() + 1; @@ -954,7 +947,6 @@ void Archive::readFiles(std::queue& queue, boost::mutex& mutex, reinterpret_cast(unpackedChunk.get()), length); unpackedChunk.reset(); } catch (const std::exception&) { -#pragma message("report error!") continue; } } else { @@ -1029,7 +1021,6 @@ void Archive::extractFiles(const std::string& targetDirectory, fstream::out | fstream::binary | fstream::trunc); if (!outputFile.is_open()) { -#pragma message("report error!") continue; // return ERROR_ACCESSFAILED; } @@ -1052,7 +1043,6 @@ void Archive::extractFiles(const std::string& targetDirectory, buffer.reset(); } } catch (const std::exception&) { -#pragma message("report error!") dataBuffer.first.reset(); fileInfo.data.first.reset(); continue; @@ -1121,7 +1111,6 @@ void Archive::extractFiles(const std::string& targetDirectory, dataBuffer.second); } } catch (const std::exception&) { -#pragma message("report error!") dataBuffer.first.reset(); fileInfo.data.first.reset(); continue; @@ -1151,7 +1140,6 @@ EErrorCode Archive::extractAll( const std::function& progress, bool overwrite) { -#pragma message("report errors") createFolders(outputDirectory, m_RootFolder); std::vector fileList; -- cgit v1.3.1