From 1d767c3a5bad5fe02a9830da0317a9a336139664 Mon Sep 17 00:00:00 2001 From: iwubcode Date: Tue, 20 Jun 2023 19:26:53 -0500 Subject: VideoCommon: add graphics mod callback interface for when a texture is created --- .../VideoCommon/GraphicsModSystem/Config/GraphicsTarget.cpp | 10 ++++++++++ .../Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.h | 9 +++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'Source/Core/VideoCommon/GraphicsModSystem/Config') diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.cpp b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.cpp index 07f00624e4..374b138571 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.cpp +++ b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.cpp @@ -187,6 +187,16 @@ std::optional DeserializeTargetFromConfig(const picojson:: target.m_texture_info_string = texture_info.value(); return target; } + else if (type == "create_texture") + { + std::optional texture_info = ExtractTextureFilenameForConfig(obj); + if (!texture_info.has_value()) + return std::nullopt; + + CreateTextureTarget target; + target.m_texture_info_string = texture_info.value(); + return target; + } else if (type == "efb") { return DeserializeFBTargetFromConfig(obj, EFB_DUMP_PREFIX); diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.h b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.h index 67a349e78f..bde445258c 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.h +++ b/Source/Core/VideoCommon/GraphicsModSystem/Config/GraphicsTarget.h @@ -26,6 +26,10 @@ struct LoadTextureTarget final : public TextureTarget { }; +struct CreateTextureTarget final : public TextureTarget +{ +}; + struct FBTarget { u32 m_height = 0; @@ -47,8 +51,9 @@ struct ProjectionTarget ProjectionType m_projection_type = ProjectionType::Perspective; }; -using GraphicsTargetConfig = std::variant; +using GraphicsTargetConfig = + std::variant; std::optional DeserializeTargetFromConfig(const picojson::object& obj); -- cgit v1.2.3