aboutsummaryrefslogtreecommitdiff
path: root/libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
commit7ee008e150bc5bcf76082d726f719ee0fdfda982 (patch)
tree27fb39be241fdb5ac2734c574de678977d1856d0 /libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h
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 <noreply@anthropic.com>
Diffstat (limited to 'libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h')
-rw-r--r--libs/game_gamebryo/src/gamebryo/gamebryomoddatachecker.h46
1 files changed, 46 insertions, 0 deletions
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 <ifiletree.h>
+#include <moddatachecker.h>
+
+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<const MOBase::IFileTree> fileTree) const override;
+
+protected:
+ GameGamebryo const* const m_Game;
+
+ using FileNameSet = std::set<QString, MOBase::FileNameComparator>;
+
+ 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