From d7b69f189338738d194d69da39afecd134aadf97 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Wed, 28 May 2025 19:51:40 +0100 Subject: [PATCH] Revert "Check Oblivion Remastered plugins' master flag" This reverts commit d058d34bcaa0fbe5b63a2c15fa18d8aeec96661f. Although it was reported that loading a master file after a non-master that touched the same record can cause issues, forcing all masters to load before non-masters is too restrictive and breaks the ability to load any mod that uses a master file, since that would force it to load before the official DLC plugins and so break the ability to load the game. --- src/api/plugin.cpp | 3 ++- src/tests/api/interface/plugin_interface_test.h | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/api/plugin.cpp b/src/api/plugin.cpp index ebab979b..3428df24 100644 --- a/src/api/plugin.cpp +++ b/src/api/plugin.cpp @@ -222,7 +222,8 @@ std::unique_ptr<::Plugin, decltype(&esp_plugin_free)> MakeEspluginPtr() { } bool ShouldIgnoreMasterFlag(GameType gameType) { - return gameType == GameType::openmw; + return gameType == GameType::openmw || + gameType == GameType::oblivionRemastered; } } diff --git a/src/tests/api/interface/plugin_interface_test.h b/src/tests/api/interface/plugin_interface_test.h index 8a87a64c..ed8da8ba 100644 --- a/src/tests/api/interface/plugin_interface_test.h +++ b/src/tests/api/interface/plugin_interface_test.h @@ -186,7 +186,8 @@ TEST_P(PluginInterfaceTest, EXPECT_EQ(blankEsm, plugin->GetName()); EXPECT_TRUE(plugin->GetMasters().empty()); - if (GetParam() == GameType::openmw) { + if (GetParam() == GameType::openmw || + GetParam() == GameType::oblivionRemastered) { EXPECT_FALSE(plugin->IsMaster()); } else { EXPECT_TRUE(plugin->IsMaster()); @@ -211,7 +212,8 @@ TEST_P(PluginInterfaceTest, shouldBeAbleToGetAllDataFromFullyLoadedPlugin) { EXPECT_EQ(blankEsm, plugin->GetName()); EXPECT_TRUE(plugin->GetMasters().empty()); - if (GetParam() == GameType::openmw) { + if (GetParam() == GameType::openmw || + GetParam() == GameType::oblivionRemastered) { EXPECT_FALSE(plugin->IsMaster()); } else { EXPECT_TRUE(plugin->IsMaster());