| 24 | } |
| 25 | |
| 26 | std::optional<HMODULE> PluginManager::LoadPlugin(fs::path path, bool reloaded) |
| 27 | { |
| 28 | Plugin plugin = Plugin(path.string()); |
| 29 | |
| 30 | if (!plugin.IsValid()) |
| 31 | { |
| 32 | NS::log::PLUGINSYS->warn("Unloading invalid plugin '{}'", path.string()); |
| 33 | plugin.Unload(); |
| 34 | return std::nullopt; |
| 35 | } |
| 36 | |
| 37 | plugins.push_back(plugin); |
| 38 | plugin.Init(reloaded); |
| 39 | |
| 40 | return plugins.back().m_handle; |
| 41 | } |
| 42 | |
| 43 | inline void FindPlugins(fs::path pluginPath, std::vector<fs::path>& paths) |
| 44 | { |