From 3e352559834b070feb89a7b9e47de54aaa7ab528 Mon Sep 17 00:00:00 2001 From: iwubcode Date: Tue, 28 Feb 2023 19:12:35 -0600 Subject: VideoCommon: add class to load custom texture data --- .../GraphicsModSystem/Runtime/CustomTextureData.h | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomTextureData.h (limited to 'Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomTextureData.h') diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomTextureData.h b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomTextureData.h new file mode 100644 index 0000000000..9a16bf1db0 --- /dev/null +++ b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/CustomTextureData.h @@ -0,0 +1,32 @@ +// Copyright 2023 Dolphin Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +#include "Common/CommonTypes.h" +#include "VideoCommon/TextureConfig.h" + +namespace VideoCommon +{ +class CustomTextureData +{ +public: + struct Level + { + std::vector data; + AbstractTextureFormat format = AbstractTextureFormat::RGBA8; + u32 width = 0; + u32 height = 0; + u32 row_length = 0; + }; + std::vector m_levels; +}; + +bool LoadDDSTexture(CustomTextureData* texture, const std::string& filename); +bool LoadDDSTexture(CustomTextureData::Level* level, const std::string& filename, u32 mip_level); +bool LoadPNGTexture(CustomTextureData* texture, const std::string& filename); +bool LoadPNGTexture(CustomTextureData::Level* level, const std::string& filename); +} // namespace VideoCommon -- cgit v1.2.3