aboutsummaryrefslogtreecommitdiff
path: root/libs/lootcli/src/game_settings.h
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-12 03:00:11 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-12 03:00:11 -0500
commitb54e479a3f9e973a083c643905f21c59fadd63bb (patch)
treeff920cc2614c5d014e7de910cbad75875257776e /libs/lootcli/src/game_settings.h
parentbf7a57fc55493247a624ecfd65e4d73964e7d8d2 (diff)
Remove LOOT integration entirely
The sort button was already hidden on Linux (setVisible(false)) and the LOOT feedback path (LootDialog -> addLootReport) has always been Windows-only, meaning the dirty/incompatibilities/missingMasters/messages tooltip bullets and the dirty-plugin icon could never fire on Linux. MO2 shipped lootcli + libloot for a load-order sort mechanism that was unreachable from the UI. Users who want LOOT can download it from https://github.com/loot/loot and run it against their instance directly. - Drop libs/lootcli/, libloot Dockerfile build step, and lootcli staging/patchelf in build-inner.sh - Drop src/src/loot.{cpp,h}, src/src/lootdialog.{cpp,h,ui} - Extract MarkdownDocument / MarkdownPage (used by UpdateDialog for its changelog view) into src/src/markdowndocument.{h,cpp} - Strip addLootReport, makeLootTooltip, Loot::Plugin field, LOOT icon checks, and LOOT tooltip/isProblematic/hasInfo paths from pluginlist - Delete sortButton widget, updateSortButton(), onSortButtonClicked(), and all m_didUpdateMasterList wiring - Delete lootLogLevel setting, combo box, and "Integrated LOOT" group from the diagnostics settings tab
Diffstat (limited to 'libs/lootcli/src/game_settings.h')
-rw-r--r--libs/lootcli/src/game_settings.h101
1 files changed, 0 insertions, 101 deletions
diff --git a/libs/lootcli/src/game_settings.h b/libs/lootcli/src/game_settings.h
deleted file mode 100644
index bc775c9..0000000
--- a/libs/lootcli/src/game_settings.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef LOOT_GUI_STATE_GAME_GAME_SETTINGS
-#define LOOT_GUI_STATE_GAME_GAME_SETTINGS
-
-#include <filesystem>
-#include <optional>
-#include <set>
-#include <string>
-#include <vector>
-
-#include "loot/enum/game_type.h"
-
-namespace loot
-{
-constexpr inline std::string_view NEHRIM_STEAM_REGISTRY_KEY =
- "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Steam App "
- "1014940\\InstallLocation";
-static constexpr const char* DEFAULT_MASTERLIST_BRANCH = "v0.26";
-
-enum struct GameId : uint8_t
-{
- tes3,
- tes4,
- nehrim,
- tes5,
- enderal,
- tes5se,
- enderalse,
- tes5vr,
- fo3,
- fonv,
- fo4,
- fo4vr,
- starfield,
- openmw,
- oblivionRemastered
-};
-
-GameType GetGameType(const GameId gameId);
-
-float GetMinimumHeaderVersion(const GameId gameId);
-
-std::filesystem::path GetDataPath(const GameId gamiId,
- const std::filesystem::path& gamePath);
-
-std::string ToString(const GameId gameId);
-
-bool SupportsLightPlugins(const GameType gameType);
-
-std::string GetMasterFilename(const GameId gameId);
-
-std::string GetGameName(const GameId gameId);
-
-std::string GetDefaultMasterlistRepositoryName(GameId gameId);
-
-std::string GetDefaultMasterlistUrl(const std::string& repositoryName);
-std::string GetDefaultMasterlistUrl(const GameId gameId);
-
-class GameSettings
-{
-public:
- GameSettings() = default;
- explicit GameSettings(const GameId gameId, const std::string& lootFolder = "");
-
- bool operator==(const GameSettings& rhs) const; // Compares names and folder names.
-
- GameId Id() const;
- GameType Type() const;
- std::string Name() const; // Returns the game's name, eg. "TES IV: Oblivion".
- std::string FolderName() const;
- std::string Master() const;
- float MinimumHeaderVersion() const;
- std::string MasterlistSource() const;
- std::filesystem::path GamePath() const;
- std::filesystem::path GameLocalPath() const;
- std::filesystem::path DataPath() const;
-
- GameSettings& SetName(const std::string& name);
- GameSettings& SetMaster(const std::string& masterFile);
- GameSettings& SetMinimumHeaderVersion(float minimumHeaderVersion);
- GameSettings& SetMasterlistSource(const std::string& source);
- GameSettings& SetGamePath(const std::filesystem::path& path);
- GameSettings& SetGameLocalPath(const std::filesystem::path& GameLocalPath);
- GameSettings& SetGameLocalFolder(const std::string& folderName);
-
-private:
- GameId id_{GameId::tes4};
- GameType type_{GameType::tes4};
- std::string name_;
- std::string masterFile_;
- float minimumHeaderVersion_{0.0f};
-
- std::string lootFolderName_;
-
- std::string masterlistSource_;
-
- std::filesystem::path gamePath_; // Path to the game's folder.
- std::filesystem::path gameLocalPath_;
-};
-} // namespace loot
-
-#endif