From b54e479a3f9e973a083c643905f21c59fadd63bb Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sun, 12 Apr 2026 03:00:11 -0500 Subject: 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 --- libs/lootcli/src/game_settings.h | 101 --------------------------------------- 1 file changed, 101 deletions(-) delete mode 100644 libs/lootcli/src/game_settings.h (limited to 'libs/lootcli/src/game_settings.h') 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 -#include -#include -#include -#include - -#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 -- cgit v1.3.1