From 7c6d84f6a8a576a36764f06e1b856202e072f459 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Thu, 27 Jun 2024 22:39:14 +0100 Subject: [PATCH] Update esplugin --- src/api/game/game.cpp | 3 ++- src/tests/api/internals/plugin_test.h | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/api/game/game.cpp b/src/api/game/game.cpp index 44477317..e4da8675 100644 --- a/src/api/game/game.cpp +++ b/src/api/game/game.cpp @@ -307,7 +307,8 @@ void Game::LoadPlugins(const std::vector& pluginPaths, } }); - if (!loadHeadersOnly && GetType() == GameType::starfield) { + if (!loadHeadersOnly && + (GetType() == GameType::tes3 || GetType() == GameType::starfield)) { auto plugins = cache_.GetPlugins(); const auto pluginsMetadata = Plugin::GetPluginsMetadata(plugins); for (auto& plugin : plugins) { diff --git a/src/tests/api/internals/plugin_test.h b/src/tests/api/internals/plugin_test.h index 81db07cc..a93a96b1 100644 --- a/src/tests/api/internals/plugin_test.h +++ b/src/tests/api/internals/plugin_test.h @@ -301,7 +301,15 @@ TEST_P(PluginTest, loadingWholePluginShouldReadFields) { false); if (GetParam() == GameType::tes3) { - EXPECT_EQ(0, plugin.GetOverrideRecordCount()); + Plugin master(game_.GetType(), + game_.GetCache(), + game_.DataPath() / "Blank.esm", + false); + const auto pluginsMetadata = Plugin::GetPluginsMetadata({&master}); + + EXPECT_NO_THROW(plugin.ResolveRecordIds(pluginsMetadata.get())); + + EXPECT_EQ(4, plugin.GetOverrideRecordCount()); } else if (GetParam() == GameType::starfield) { Plugin master(game_.GetType(), game_.GetCache(), game_.DataPath() / "Blank.full.esm",