From 7ee008e150bc5bcf76082d726f719ee0fdfda982 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Wed, 11 Feb 2026 02:37:39 -0600 Subject: Fluorine Manager: full Linux port of Mod Organizer 2 Complete native Linux port with FUSE-based virtual filesystem, Proton/umu-run integration, and Flatpak packaging. Key features: - FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak) - Proton/GE-Proton/umu-run launcher with env var forwarding - Flatpak support (sandbox-aware VFS, NXM handler, umu-run) - Wine prefix management UI - Case-insensitive path resolution for Linux filesystems - QSettings-safe INI handling (avoids Bethesda INI corruption) - Portable instance support with auto-generated launcher scripts Co-Authored-By: Claude Opus 4.6 --- .../src/gamebryo/gamebryomoddatachecker.h | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h (limited to 'libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h') diff --git a/libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h b/libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h new file mode 100644 index 0000000..e0b0733 --- /dev/null +++ b/libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h @@ -0,0 +1,46 @@ +#ifndef GAMEBRYO_MODATACHECKER_H +#define GAMEBRYO_MODATACHECKER_H + +#include +#include + +class GameGamebryo; + +/** + * @brief ModDataChecker for GameBryo games that look at folder and files in the "data" + * directory. + * + * The default implementation is game-agnostic and uses the list of folders and file + * extensions that were used before the ModDataChecker feature was added. It is possible + * to inherit the class to provide custom list of folders or filenames. + */ +class GamebryoModDataChecker : public MOBase::ModDataChecker +{ +public: + /** + * @brief Construct a new mod-data checker for GameBryo games. + */ + GamebryoModDataChecker(const GameGamebryo* game); + + virtual CheckReturn + dataLooksValid(std::shared_ptr fileTree) const override; + +protected: + GameGamebryo const* const m_Game; + + using FileNameSet = std::set; + + const GameGamebryo* game() const { return m_Game; } + + /** + * @return the list of possible folder names in data. + */ + virtual const FileNameSet& possibleFolderNames() const; + + /** + * @return the extensions of possible files in data. + */ + virtual const FileNameSet& possibleFileExtensions() const; +}; + +#endif // GAMEBRYO_MODATACHECKER_H -- cgit v1.3.1