Skip to content
Permalink
Browse files
Merge pull request #11499 from iwubcode/graphics-mod-pass-base-path
VideoCommon: allow graphics mods to have access to the file path where the config exists to load additional files
  • Loading branch information
AdmiralCurtiss committed Feb 12, 2023
2 parents efed037 + 20dc440 commit c3dee1f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
@@ -10,7 +10,8 @@

namespace GraphicsModActionFactory
{
std::unique_ptr<GraphicsModAction> Create(std::string_view name, const picojson::value& json_data)
std::unique_ptr<GraphicsModAction> Create(std::string_view name, const picojson::value& json_data,
std::string_view path)
{
if (name == "print")
{
@@ -12,5 +12,6 @@

namespace GraphicsModActionFactory
{
std::unique_ptr<GraphicsModAction> Create(std::string_view name, const picojson::value& json_data);
std::unique_ptr<GraphicsModAction> Create(std::string_view name, const picojson::value& json_data,
std::string_view path);
}
@@ -8,6 +8,7 @@
#include <variant>

#include "Common/Logging/Log.h"
#include "Common/StringUtil.h"
#include "Common/VariantUtil.h"

#include "Core/ConfigManager.h"
@@ -198,7 +199,10 @@ void GraphicsModManager::Load(const GraphicsModGroupConfig& config)
const auto create_action =
[](const std::string_view& action_name, const picojson::value& json_data,
GraphicsModConfig mod_config) -> std::unique_ptr<GraphicsModAction> {
auto action = GraphicsModActionFactory::Create(action_name, json_data);
std::string base_path;
SplitPath(mod_config.GetAbsolutePath(), &base_path, nullptr, nullptr);

auto action = GraphicsModActionFactory::Create(action_name, json_data, base_path);
if (action == nullptr)
{
return nullptr;

0 comments on commit c3dee1f

Please sign in to comment.