diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2023-07-10 22:23:32 -0500 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2023-08-20 18:53:27 -0500 |
| commit | 55061216855af89f21eee1174fa81d927bc94991 (patch) | |
| tree | fc765e787f93f1d34d9fc1ee7c598e528955d49f /Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsMod.cpp | |
| parent | 6ea0d178026f105bc4a27344bb6b867aac6109e0 (diff) | |
VideoCommon: add support to graphics mod manager to load in assets and pass it to graphics actions
Diffstat (limited to 'Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsMod.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsMod.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsMod.cpp b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsMod.cpp index c7dc5aab87..b04190ad67 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsMod.cpp +++ b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsMod.cpp @@ -178,6 +178,27 @@ bool GraphicsModConfig::DeserializeFromConfig(const picojson::value& value) } } + const auto& assets = value.get("assets"); + if (assets.is<picojson::array>()) + { + for (const auto& asset_val : assets.get<picojson::array>()) + { + if (!asset_val.is<picojson::object>()) + { + ERROR_LOG_FMT( + VIDEO, "Failed to load mod configuration file, specified asset is not a json object"); + return false; + } + GraphicsModAssetConfig asset; + if (!asset.DeserializeFromConfig(asset_val.get<picojson::object>())) + { + return false; + } + + m_assets.push_back(std::move(asset)); + } + } + return true; } |
